Google Cloud Print Connectorを設定

これまでAndoidから印刷するのに、わざわざGoogle DriveかGmail経由でLinux Mint側にファイルを持ってきて、それから印刷していたのですが、これが面倒なので、Google Cloud Printが使えるように設定してみます。
プリンタはBrother HL-2240DでLinuxMint19のPCにUSBで接続しています。

1.インストールと設定ファイル生成

まずはSynapticパッケージマネージャで「google-cloud-print-connector」をインストールして、引き続き設定ファイルを生成します。

~$ gcp-connector-util init
"Local printing" means that clients print directly to the connector via
local subnet, and that an Internet connection is neither necessary nor used.
Enable local printing?
Yes

ローカル印刷は引き続き使うので「Yes」を入力

"Cloud printing" means that clients can print from anywhere on the Internet,
and that printers must be explicitly shared with users.
Enable cloud printing?
Yes

クラウドプリントを使うので「Yes」を入力

Visit https://www.google.com/device, and enter this code. I'll wait for you.
XXXX-XXXX
Acquired OAuth credentials for robot account

ここでGoogle Chromeを起動して、https://www.google.com/device にアクセスするとGoogleアカウントの認証を求められるので認証ログイン。さらに、コードの入力に移るので、上記のコード(XXXX-XXXX)を入力。入力すると、コンソール画面が進んで、使わせたいユーザーの

Enter the email address of a user or group with whom all printers will automatically be shared or leave blank to disable automatic sharing:

Google Cloud Printを使いたいユーザーのメールアドレスをカンマ区切りで入力

xxxxxxx@gmail.com,yyyyyyy@gmail.com,zzzzzzz@gmail.com

入力すると設定ファイルが生成されたことが表示されます。

The config file /home/xxxxxxx/gcp-cups-connector.config.json is ready to rock.
Keep it somewhere safe, as it contains an OAuth refresh token.
t~$

2.動作テスト

試しに動かしてみます。

~$ gcp-cups-connector -config-filename gcp-cups-connector.config.json 
Google Cloud Print Connector for CUPS version DEV-linux
Ready to rock as proxy 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx' and in local mode

Android側では「クラウド プリント」をインストールします。

インストールされた状態でアプリケーションのメニューで「印刷」を選択して、「プリンタの選択」でLinux側でCUPSで管理されているプリンタを選択して、プリンタのアイコンをタップすると印刷できました。

3.自動起動の設定

cloud-print-connector というユーザー/グループを作成します。ホームディレクトリは不要、ログインしないのでログインシェルも不要です。

~$ sudo useradd -M -s /usr/sbin/nologin cloud-print-connector

実行ファイルへのシンボリックリンクを作成します。

~$ sudo mkdir /opt/cloud-print-connector
~$ sudo ln -s /usr/bin/gcp-cups-connector /opt/cloud-print-connector/gcp-cups-connector

設定ファイルを /opt/cloud-print-connector にコピーして適切な権限を付けます。

~$ sudo cp gcp-cups-connector.config.json /opt/cloud-print-connector/.
~$ sudo chown cloud-print-connector.cloud-print-connector /opt/cloud-print-connector/gcp-cups-connector.config.json 
~$ ls -la /opt/cloud-print-connector/gcp-cups-connector.config.json 
-rw------- 1 cloud-print-connector cloud-print-connector 571 3月 24 23:10 /opt/cloud-print-connector/gcp-cups-connector.config.json
~$

systemd のサービスファイルをダウンロードしてインストールします。

~$ wget https://raw.githubusercontent.com/google/cloud-print-connector/master/systemd/cloud-print-connector.service
~$ sudo install -o root -m 0664 cloud-print-connector.service /etc/systemd/system

Google Cloud Print CUPS Connector serviceを許可してスタートします。

~$ sudo systemctl enable cloud-print-connector.service
Created symlink /etc/systemd/system/multi-user.target.wants/cloud-print-connector.service → /etc/systemd/system/cloud-print-connector.service.
~$ sudo systemctl start cloud-print-connector.service
~$ sudo systemctl status cloud-print-connector.service
● cloud-print-connector.service - Google Cloud Print Connector
   Loaded: loaded (/etc/systemd/system/cloud-print-connector.service; enabled; v
   Active: active (running) since Sun 2019-03-24 23:16:23 JST; 7s ago
     Docs: https://github.com/google/cloud-print-connector
 Main PID: 5221 (gcp-cups-connec)
    Tasks: 10 (limit: 4915)
   CGroup: /system.slice/cloud-print-connector.service
           └─5221 /opt/cloud-print-connector/gcp-cups-connector -config-filename

 3月 24 23:16:23 J3160 systemd[1]: Started Google Cloud Print Connector.
 3月 24 23:16:23 J3160 gcp-cups-connector[5221]: Google Cloud Print Connector fo
 3月 24 23:16:26 J3160 gcp-cups-connector[5221]: Ready to rock as proxy 'xxxxxxx
~$

停止する場合は、

~$ sudo systemctl stop cloud-print-connector.service

とします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)