kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

デフォルトでGoogleクラウドプリントに対応して欲しい

「Ubuntu」のメーリングリストにて、デフォルトで「Googleクラウドプリント」に対応して欲しいという要望が寄せられています。



なぜUbuntuではデフォルトでGoogleクラウドプリントがサポートされていないか疑問に思っていたんだ。
Fedoraはこの機能持ってるよ。
(Fedoraは利用していないのでテストできてないけど。)

この機能はCUPS Cloud Printって呼ばれている機能なんだ。
CUPS Cloud Printは、クラウドプリントを経由してGoogleアカウントからローカルに接続されたすべてのプリンターを利用できるようにする機能だよ。

オンラインアカウント設定でGoogleアカウントを追加したら、CUPS上で通常のローカルプリンターやネットワークプリンターのように関連するすべてのプリンターを表示するってのはどう?


オンラインアカウント

「Ubuntu」では、「オンラインアカウント」を一括管理する仕組みが提供されており、「システム設定」の「オンラインアカウント」から各アカウントの管理を行うことができます。


以下のように、オンラインアカウントの登録や管理ができるようになっています。


アプリ側がこの仕組みに対応している必要がありますが、オンラインサービスのアカウントの管理は、それぞれのアプリが個別に行うより一括して管理した方が、ユーザーにとって煩雑さが解消され分かりやすいかと思います。

しかしその方法はセキュリティー上問題がある

この要望に対し、その方法ではセキュリティー上問題があるとの回答が寄せられています。


ヒントありがとう。
でもその方法には以下の問題があるよ。

CUPSのキューはシステムワイドなんだ。
CUPSキューのセットアップが完了すれば、システム上のすべてのユーザーにそのプリンターが有効になってしまうんだ。
プリンターを無効にしたとしても、少なくともそのプリンターは見えてしまう。

Googleクラウドプリントはそのユーザー個人のリソースだよ。
Googleクラウドプリントを利用するためには、ユーザーは自身のGoogleアカウントにプリンターを登録する必要がある。
そうすればユーザーは、ユーザーが自分のGoogleアカウントにアクセスできる場所からならどこでも、そのプリンターを利用できるようになる。

例えばあるユーザーがローカルのCUPSキューにGoogleクラウドプリントに対応したプリンターを登録したとしよう。
そのPCを利用している他のユーザーは全員それらプリンターが見えるし、大抵それらのプリンターは有効になっている。

ということはだ、他のユーザーはそのプリンターに対し印刷ジョブを生成でき、本来のユーザーにとって意図しない印刷が行われることになる。
それに他のユーザーはそのプリンターがどこにあるのか、どこで印刷されているのか分からないよ。

加えて悪意あるユーザーがインクや紙などを無駄に消費させるため、そのプリンターに大量の印刷ジョブを送り付けることもできるし、DoS攻撃を行うこともできる。

正しい実装方法は、印刷ダイアログに現在ログインしているユーザーのGoogleアカウントにアクセスする機能を持たせ、CUPSとは無関係にそのユーザーのクラウンドプリンターの一覧を表示させることだね。
そして印刷ダイアログから直接印刷ジョブをクラウンドプリンターに送信するんだ。

この方法が本来のユーザーだけが自分のクラウドプリンターを利用できるようにする唯一の方法だね。

Google Summer of Code 2017のOpenPrinting projectsにこの内容があるよ。



印刷ダイアログ

印刷ダイアログは、GTK+やQtなど主にツールキットが提供しているダイアログです。


共通して利用されるダイアログであり、アプリによる独自実装がなく同じツールキットを利用していれば操作方法は同じです。

印刷ダイアログには出力先プリンターを選択する項目があります。
このプリンター一覧にクラウドプリンターを表示させ、ユーザーがクラウドプリンターを利用できるようにしよう、ということですね。

現時点では、Googleクラウドプリントに対応するのか、対応するとしたらどのバージョンから対応になるのか不明ですが、少なくとも「Ubuntu 17.04」には間に合わないでしょう。


関連コンテンツ
同一カテゴリーの記事
コメント
オプション