VNCで接続する
インターネットから直接する方法としては、TeamViewerやChrome remotedesktopなどがあるが、UbuntuがGUI設定で提供しているVNCが一番楽である
設定→共有→画面共有 からパスワード等を設定するだけである。この設定がない時は sudo apt install vino
でインストールする。
上記ブログにもあるように、Windowsから暗号化有りで接続するのは難しいので、
sudo gsettings set org.gnome.Vino require-encryption false
上記のコマンド前後で再起動が必要かもしれない。 上記コマンドの前に sudo apt install gnome
をしたが、必要かどうかは分からない(メモ)
failed to commit changes to dconf が発生した時には
DISPLAY=:0 gsettings set org.gnome.Vino require-encryption false
コマンドで暗号化を解除しておく
- ユーザーから、「自動ログイン」をオンにしておく
のは必須。さもなくば、再起動したときにログイン画面に行って手が出せなくなる。
また、
- 電源管理から、ブランクスクリーンを「しない」
- 電源管理から、自動サスペンドは「オフ」
- プライバシーから、画面ロックを「オフ」
もやっておくと管理が楽になるだろう。
Chromeで接続する
Chromeをインストールして、https://remotedesktop.google.com/accessからリモートデスクトップをインストールし、有効化、PINの設定などをすると、Chromeリモートデスクトップが使えるっぽいが、
Chrome リモートデスクトップ環境で開始するセッションを選択してください(一部のセッションタイプは、Chromeリモートデスクトップとローカルのコンソールで同時に実行できない場合があります)。 (デフォルト) デフォルトのXSessionを起動 Ubuntu このセッションでUbuntuにログインする
この画面でどちらを選択しても、真っ黒な画面から次に進まなかった。多分やり方が間違っているのだろう。
Chrome Remote Desktop - Session fails to start on Ubuntu 19.04 - Google Chrome Community
ここによると、 Gnomeの問題らしい。Cinnamonで動いたという記述があるが、Cinnamonがハードウェアアクセラレーション有効だからなのかもしれない。 とにかく、当方の環境では動かなかったし、Chromeの挙動が不安定になったので、chrome remotedesktopでアクセスしにいかないことをお勧めする。
SSH
サーバー側で
sudo apt install openssh-server
クライアント側で
ssh ユーザー名@IPアドレス
で接続できる。GUIがなくても良い操作ならこっちが楽。VSCodeはリモートエクスプローラー機能でSSH先に接続できるので、プログラム開発もこの中で完結できることが多いだろう。