Chromeリモートデスクトップでスクリーンに出ている画面で遠隔操作するよ
以前の記事でChromeを使った超お手軽リモートデスクトップの紹介をしました。確かにほぼChromeを導入するだけでリモートデスクトップができるので果てしなくお手軽でした。しかし、公式ヘルプで紹介されている方法では、操作できるのはスクリーンに表示されているデスクトップではなく、遠隔操作のために生成する仮想デスクトップとなっています。もちろんほとんどの方の用途ではこれで全く問題ないと思います。ですが、今回どうしてもスクリーンに表示しているデスクトップを操作したくなったので、頑張って調べました。
というわけで、今回はスクリーンに表示しているデスクトップを操作するためにChromeリモートデスクトップの設定を見直したので備忘録的にまとめていきます。今回の記事では、すでにChromeリモートデスクトップをチュートリアル通り使用できることを前提に書いていくので、まだ環境が整っていない方は、以前の作業記録や公式ヘルプを参考にChromeリモートデスクトップをインストールしておいてください。
(操作される側) OS : Lubuntu 16
(操作する側) OS : MacOS Sierra
※ 操作する側はなんでも大丈夫かと思います。
Contents
1. 下準備
さて、まずは起動中のChromeリモートデスクトップを止めてしまいましょう。以下のコマンドで止めることができます。
1 |
$ sudo service chrome-remote-desktop stop |
また、次の作業で設定ファイルを書き換えるので、そのバックアップを取っておきましょう。
1 |
$ sudo cp /opt/google/chrome-remote-desktop/chrome-remote-desktop /opt/google/chrome-remote-desktop/chrome-remote-desktop.orig |
2. 設定ファイルの書き換え
では今回の作業の中心である設定ファイルの書き換えをやっていきます。一見複雑でやることが多そうですが、そんなことはないので、無心でやっていきましょう。 というわけで先ほどバックアップを取った”chrome-remote-desktop”を好きなエディタで書き換えます。
1 |
$ sudo vi /opt/google/chrome-remote-desktop/chrome-remote-desktop |
書き換える箇所は3箇所です。
. 対象デスクトップIDの変更
対象のデスクトップIDは”FIRST_X_DISPLAY_NUMBER”という変数に格納されるようなので、初期化する値を0に書き換えます(115行目くらい)。自分の環境ではデフォルトで20でしたが、もしかしたら環境によって違うかもしれません。
1 2 3 |
# FIRST_X_DISPLAY_NUMBER = 20 # ↓ FIRST_X_DISPLAY_NUMBER = 0 |
. 追加ディスプレイ探索部分のコメントアウト
コードを見ると、先ほどのFIRST_X_DISPLAY_NUMBERから使用されていないデスクトップIDを探索しているようなので、その部分を削除(コメントアウト)します。該当箇所は、Desktopクラス内のget_unused_display_number内にあるwhile文です(380行目くらい)。
1 2 |
#while os.path.exists(X_LOCK_FILE_TEMPLATE % display): # display += 1 |
上記のようにコメントアウトすれば大丈夫です。
. 新規デスクトップ生成の代わりに既存のものを使用
最後にデスクトップの生成部分を削除(コメントアウト)し、既存のデスクトップを使用するように書き換えます。書き換えるのはlaunch_sessionという関数です(686行目くらい)。
1 2 3 4 5 6 7 8 |
def launch_session(self, keep_env, x_args): self._init_child_env(keep_env) self._setup_pulseaudio() self._setup_gnubby() #self._launch_x_server(x_args) #self._launch_x_session() display = self.get_unused_display_number() self.child_env["DISPLAY"] = ":%d" % display |
上記のコードのように新規セッション作成部分をコメントアウトし、既存のセッションを返すように書けば大丈夫です。
. おまけ
また、参考にしたページさんでは、デスクトップの解像度の数値も書き換えていました。ので紹介しておきます。こちらは必須ではありませんが、ご自身の環境に合わせて設定してみてください。書き換えるのは、”DEFAULT_SIZES”という変数の値です(91行目くらい)。
1 |
DEFAULT_SIZES = "1920x1080" |
上記の数値は完全に参考ページそのままなので、この値がどれだけ最適かはわかりません。
これらの書き換えが終わったら保存して作業はおしまいです。
3. 動作確認
さて、最後に動作確認です。以下のコマンドでChromeリモートデスクトップを起動し、いつも通りに接続してみてください。
1 |
$ sudo service chrome-remote-desktop start |
スクリーンに表示されるデスクトップと同じ画面が出れば成功です。
お疲れ様でした。
技術面で分からないことがあれば
プログラミングや環境構築で分からないことがあったら『teratail』というエンジニア特化型のQ&Aサービスがオススメです。自分もどうしても分からないことがあったら、時々質問しにいきますが、かなりニッチな質問にも意外と早く回答がつくのでとても頼もしいです。何と言っても日本語大丈夫なので……という宣伝でした。
おわりに
今回の内容はインターネットで調べると、英語では正直たくさんの記事がありました。しかし日本語の記事となるとほぼ皆無の状態だったんです。そんなわけで今回この記事を書いたのですが、やはり技術的なことを調べる時は英語が効果的なんですね……。
「Configuring Chrome Remote Desktop with Ubuntu Gnome 14.04」