Win10 -> Ubuntu リモートデスクトップ(2021年版)


概要

Win10からUbuntu18.04のデスクトップにアクセスする次の2つの方法を残す。
特にWindowsではウイルス等による最悪の事態時に会社に説明ができなくなるので、サードパーティ製のVNC Viewerなどは使わない。
従いxRDP一択となる。

  1. xRDP + Wndowsのリモートデスクトップ機能
    利点:
    Windows10Proの標準機能で接続できる
    安全性

  2. Chrome Remote Desktop
    利点:
    OSを問わずChromeの機能拡張だけで実現可能
    インターネットにつながればどこでもリモート接続可能!

なお、2021年4月末にUbuntu20.04LTSをセットアップした際、本手順がそのまま使用できることを確認した。

  • 実施時期: 2021年1月
  • OS: Ubuntu 18.04.5 LTS, Windows10Pro

  • 実施時期: 2021年4月

  • OS: Ubuntu 20.04.2 LTS, Windows10Pro

改版履歴:
2022/2 v1.3.0がリリースされていた。大きな変更点は対象OSからUbuntu16.04が外されUbuntu21.10が入ったこと。

1. xRDP + Wndowsのリモートデスクトップ機能

xRDPインストールについていくつか日本語サイトはあるが、どれもほぼダメ
リモート接続しても緑の画面のままだったり、はたまたマウス・キーボードが認識されなくなったり…
だいぶ痛い目を見て下記の神サイトを発見

xRDP – Easy install xRDP on Ubuntu 16.04,18.04,20.04,20.10
xRDP – Easy install xRDP on Ubuntu 18.04,20.04,21.04,21.10

神ってる理由は、常時ユーザのフィードバックもらいながらスクリプトを更新していること。
日本語サイトは小生のブログ含め、書いたら書いたままほぼ放置されているのがほとんど。
少なくともいつ書かれたかくらいは敏感にならないといけない。

Ubuntu側の作業

すでに色んなサイトを見ながらうまくいかずUbuntu環境を汚しているのであれば、Ubuntuの再インストールから始めることをお勧めする。
神スクリプトだけど、Ubutnuが汚れていれば動作しないかもしれない。
また、万が一に備えてsshは起動しておく。

sudo apt install openssh-server
sudo systemctl  start ssh

まず上述の神サイトをしっかり読み、自分のリスクで行うこと。

その上で、下記のスクリプトをDownloadsにダウンロード
もちろんバージョン番号は下記とは限らないので、それぞれで読み替える。
xrdp-installer-1.2.2.zip

解凍して、実行する。
インストールはUbuntuで登録している全ログインユーザに適用される。

cd Downloads
unzip xrdp-installer-1.2.2.zip
chmod +x  ~/Downloads/xrdp-installer-1.2.2.sh
./xrdp-installer-1.2.2.sh

シェルには次のオプションが用意されている。

  • '-h': ヘルプ
  • '-s': 音もリモートに転送する
  • '-l': ログイン画面のカスタマイズ
  • '-r': アンインストール(本スクリプトを使ってインストールしたパケージをremoveする)
  • '-c': GitHubのオリジナルのソースをコンパイルしてインストール

オプションがなければ10~20秒でインストールは完了する。
すごいのは、主だったUbuntuバージョンに自動的に対応するスクリプトであること。
スクリプトの完成度はすごく高い。

トラブルシューティング

しばらく順調にWin10からのリモートデスクトップ接続は正常動作してたが、機械学習用Pythonパケージのインストールに失敗し、再起動したらキーボード・マウスが効かなくなる例の現象が発現した。
スクリプト作成者のサイトに対処方法 "Fixing xRDP on Ubuntu 18.04.2"が書かれており、それに従った。
Ubuntuのマイナバージョンが18.04.2と18.04.5と異なるが、構わず実行した。

まずsshで接続し、キーボード・マウスが効くようにパケージをインストールする。

sudo apt-get -y install xserver-xorg-input-all

リブートし、ローカルPCでキーボード・マウスが効くことを確認
この状態でWin10からリモートデスクトップ接続するとパスワード入力後、緑の画面のまま固まってしまう。
そこで手順のとおり残りの下記コマンドを入力する。

sudo apt-get install xserver-xorg-core
sudo apt-get install xrdp

リブートし、リモートPCでキーボード・マウスが問題ないことを念のため確認
Win10からリモートデスクトップ接続できることを確認
まぁ、難しいね…

Windows10Pro側の作業

Win10Homeはリモートデスクトップ機能はないのでProでなければならない。
リモートデスクトップ接続前は、Ubuntu側PCではそのユーザでログインしていない状態であること。
他のユーザでログインしていてもOK
リモートデスクトップを起動し、UbuntuのIPアドレスを入力する。
すると、Ubuntu側からログイン認証入力を要求されるので、そのユーザ名とパスワードを入力する。

リモート接続を切るときはUbuntu右上の電源アイコンからそのユーザをログオフさせる。

以上

2. Chrome Remote Desktop

これも日本語サイトはいくつかあるが、少なくとも2018年代に書かれたものは現状とあっていない。
当時必要だった/opt/google/chrome-remote-desktop/chrome-remote-desktopの編集はしなくても、いまは問題ない様子。

以下、UbuntuもWin10もChromeの最新版がインストールされており、Googleアカウントでログインされているものとする。
尚、出先からインターネットで接続する際は、通信料に注意が必要。

Ubuntu側の作業

下記にアクセスし、「インストール」を押す。
https://remotedesktop.google.com/access

「Install」を押す。

別ウインドウが開く。

下矢印を押すとDownloadsに下記が保存される。
chrome-remote-desktop_current_amd64.deb
「同意してインストール」を押す。

「Yes」を押す。

4回目の「Install」押下でようやくインストールされる。

インストールが完了して元の画面に戻ると下図の状態のまま何も進まない。

このウィンドウは一旦閉じる。

ここで、再度下記にアクセスすると下図が現れ、パソコンの名前とPINの設定画面に行けない
https://remotedesktop.google.com/access

調べて解決方法を下記に発見
https://gist.github.com/organizm/ae09f72bd5badc64d4727a0d38fc590b
パスを追加する次のコマンドが必要

mkdir ~/.config/chrome-remote-desktop

上のマジックコマンドを入力後、もう一度https://.../accessにアクセスすると、パソコンの名前とPINの設定ができるようになり、他のPCのChromeからリモートアクセスできるようになる。

注意:
Googleはこの不具合を1年以上放置しているが対応する可能性があるかもしれないので、このマジックコマンドが将来にわたって作用する保証はない。

Windows10側の作業

これはブラウザベースのリモート接続なので、EditionがHomeでもProでもよい。
Chromeを起動して、機能拡張にChrome Remote Desktopをインストールするだけ。
インストール後はもちろんこのWin10PCへリモートアクセスするためのパソコンの名前とPINを設定する。
詳細は省略

以上