vino のインストールと利用(Ubuntu にリモート接続)
Vino は GNOME 用の VNC サーバである。Ubuntu 24.04 LTS では Xorg セッションでのみ動作する。Wayland セッションで画面共有を行うときは、RDP を使う gnome-remote-desktop を用いる。Vino のインストール、gsettings によるパスワード設定、ufw によるポート開放、SSH ポートフォワーディングの設定手順を示す。
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは、 次のコマンドを実行する。
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを更新 (依存関係も考慮)
sudo apt full-upgrade
# 変更を反映させるために再起動
sudo shutdown -r now
サーバ側の設定
Ubuntu 24.04 LTS の GNOME の「設定」→「共有」→「リモートデスクトップ」は、RDP を使う gnome-remote-desktop である。Vino は universe リポジトリのパッケージとして提供されており、Xorg セッションでのみ動作する。VNC クライアントから接続したいときに Vino を使う。
- ファイアウォールの設定: ポート 5900, 5901 で通信可能にする(他のポートは遮断)
Vino は VNC のポート 5900 を使う。複数のディスプレイを共有するときは 5901 以降も使う。外部からの接続を許可するため、ファイアウォールでこれらのポートを開放する。
sudo apt -y install ufw sudo ufw allow 5900 sudo ufw allow 5901 - SSH サーバのインストールと設定(SSH 経由でポートフォワーディングしたい場合)
VNC の通信は暗号化されない。SSH でトンネル化すると、通信を暗号化できる。ポートフォワーディングを使うには、SSH サーバが動作している必要がある。SSH は既定でポート 22 を使うため、ファイアウォールでこれも許可する。
sudo apt -y install openssh-server sudo ufw allow 22/etc/ssh/sshd_configで TCP フォワーディングが許可されていることを確認する。既定では許可されている。AllowTcpForwarding yesクライアント側では、次のコマンドでトンネルを作る。接続先には
localhost:5900を指定する。ssh -L 5900:localhost:5900 ユーザ名@サーバのIPアドレス - Vino のインストールと設定
次のコマンドでインストールする。
# パッケージリストの情報を更新 sudo apt update sudo apt -y install vino cdUbuntu 22.04 LTS および 24.04 LTS では既定で
Waylandセッションが使われる。Vino はXorgセッションでのみ動作するため、ログイン画面の歯車アイコンから「Ubuntu on Xorg」を選んでログインする。Vino の設定は
gsettingsコマンドで行う。Vino ではvncpasswdコマンドは使わない。パスワード認証を有効にするには、次のコマンドを実行する。パスワードはbase64でエンコードした値を設定する。xxxxxxの部分を実際のパスワードに置き換える。gsettings set org.gnome.Vino require-authentication true gsettings set org.gnome.Vino authentication-methods "['vnc']" gsettings set org.gnome.Vino vnc-password "$(echo -n 'xxxxxx' | base64)"接続のたびにサーバ側での許可操作を求めないようにするには、次のコマンドを実行する。
gsettings set org.gnome.Vino prompt-enabled falseVino サーバの起動と自動起動の設定は、Xorg セッションにログインした状態で、次のコマンドを実行する。
systemctl --user enable --now vino-server手動で起動するときのコマンドは次である。
/usr/lib/vino/vino-server
Windows マシンからの接続
Windows マシンから Vino に接続するには、VNC クライアントを使う。ここでは MobaXTerm を使う場合の操作を説明する。gnome-remote-desktop に接続するときは、RDP クライアント(Windows の「リモート デスクトップ接続」など)を使う。
- MobaXTerm での操作
MobaXTerm を起動し、「Session」をクリックする。「New Session」をクリックし、「VNC」を選ぶ。リモート接続したい Ubuntu サーバの IP アドレスまたはホスト名を設定する。
SSH ゲートウエイ経由で接続するときは、「Network settings」をクリックし、「Connect through SSH gateway」をチェックする。Gateway SSH server の IP アドレスと「User」を設定する。
*(⚠️ link removed: this file was never actually generated — ask me to produce it again)*