件名について、2日近くハマってしまいました…。
環境
接続元
- Windows 10 バージョン 20H2 (OSビルド 19042.985)
接続先
- Ubuntu 20.04(デフォルトのウィンドウマネージャー)
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
手順
1. 画面共有を有効にする(Ubuntu側)
- [設定]-[共有]-[画面共有]を有効にする。
ハマったところ
- 設定画面に「画面共有」の項目がなかった。
対応方法
- vinoパッケージをインストールする。
$ sudo apt install vino
2. XRDPサービスを設定する(Ubuntu側)
- パッケージをインストールする。
$ sudo apt install xrdp
-
/etc/xrdp/xrdp.ini
を編集する。(参考URL: 1 2 3 )- 以下のブロックを追加する。
- 追加する位置は
Session types
コメント ブロックの下。「リモートデスクトップ接続」で接続した直後に表示される「Session」のドロップダウン リストの位置に対応しているので、コンソール接続を優先したい場合は、先頭に追加する。 -
username=
の箇所はna
でも未設定でも、どちらでも影響ありませんでした。
- 追加する位置は
- 以下のブロックを追加する。
[console]
name=console
lib=libvnc.so
username=
password=ask
ip=127.0.0.1
port=5900
- xrdpサービスを再起動する。
$ sudo systemctl restart xrdp
3. vinoの通信時の暗号化を解除する(Ubuntu側)
- 以下のコマンドを実行する。
$ gsettings set org.gnome.Vino require-encryption false
ハマったポイント
- 上記コマンドをrootユーザーで実行したり、
sudo
を先頭に付加して実行してしまっていた。- 接続する先は、ユーザーがログインしているデスクトップなので、そのユーザーとしてコマンドを実行する必要があることに長時間気づいていませんでした。
4. Windowsからリモートデスクトップ接続でアクセスする。
- 「Session」で上記「2.」で追加したXRDPのセッション タイプ「console」を選択する。
- 「password」に上記「1.」で設定した画面共有用のパスワードを入力して[OK]ボタンをクリックする。
補足
リモートデスクトップ接続のウィンドウを最大化しても、接続先の画面は最大化されません。
「VNC Viewer」だと、接続先の「Properties」→「Options」タブ→「Scaling」を「Automatic」にしておけば、ウィンドウ最大化にも対応しているので便利だと思います。また、VNC Viewrの場合はVNC接続が前提なので、リモートデスクトップ接続のようにSessionを選ぶ必要がありません。(Scoopからもscoop install vncviewer
でインストールできるので。)