リモートデスクトップのソフト TigerVNC のインストールと利用(Ubuntu にリモート接続)
Ubuntu マシンに TigerVNC で VNC 接続する手順を示す。ここでは、すでに表示されているデスクトップ画面をそのまま共有する x0tigervncserver(スクレイピングサーバ)を使う。x0tigervncserver は X11 の画面を共有するため、共有したいデスクトップは X.org セッションで動作している必要がある。通信は SSH トンネル経由で行い、VNC のポートは外部に開かない設定を用いる。設定ファイルとログは ~/.config/tigervnc に置かれる。TigerVNC のパスワードは 6 文字以上で、先頭 8 文字のみが有効である。
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うには, 次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを更新 (依存関係も考慮)
sudo apt full-upgrade
# 変更をシステム全体に反映させるために再起動
sudo shutdown -r now
X.org セッションの用意
x0tigervncserver は,動作中の X サーバの画面を VNC で配信する.そのため,共有したいデスクトップは X.org セッションで動作しており,そのユーザでログインしている必要がある.
Ubuntu 26.04 LTS の標準デスクトップ(GNOME 50)は Wayland でのみ動作し,GNOME の X.org セッションは提供されない.そのため,物理デスクトップを x0tigervncserver で共有する場合は,X.org セッションで動作するデスクトップ環境(Xfce,MATE,KDE on X11 など)をインストールし,ログイン画面でそのセッションを選んでログインする.
X.org セッションを使わない選択肢は次の 2 つである.画面を共有せずに新しい仮想デスクトップを VNC で使う場合は,tigervncserver(Xtigervnc)を用いる.Wayland の GNOME 画面をそのまま遠隔操作したい場合は,GNOME の設定アプリに含まれるリモートデスクトップ機能(RDP)を用いる.
サーバ側の設定
- ssh サーバを起動し,SSH のポートを開放する
sudo apt -y install openssh-server sudo apt install ufw sudo ufw allow 22/tcp sudo ufw enableVNC の通信は SSH トンネル経由で行うため,VNC のポート(5900/tcp)は開放せず,SSH のポート(22/tcp)のみを許可する.
sudo ufw enableでファイアウォールを有効化する.有効化のときに既存の接続が切断される場合がある.SSH トンネルを使わず,VNC クライアントから直接接続する場合は,
sudo ufw allow 5900/tcpで VNC の標準ポートを開放する.この場合,VNC の通信内容は経路上で保護されない. - SSH のポートフォワーディングを許可する
/etc/ssh/sshd_config ファイルで次のように設定する.この設定は既定値でもある.
AllowTcpForwarding yes設定変更を反映させるために,sshd サービスを再起動する.
sudo systemctl restart ssh - tigervnc のインストール,古い設定データの消去
sudo apt install tigervnc-scraping-server cd rm -rf ~/.config/tigervnctigervnc-scraping-serverパッケージがx0tigervncserverを提供する.cdコマンドでホームディレクトリに移動する.rm -rf ~/.config/tigervncは,以前の設定,パスワード,証明書などを削除し,設定を最初からやり直すために実行する.新しい仮想デスクトップを使う場合は,別途
sudo apt install tigervnc-standalone-serverを実行し,tigervncserverを使用する. - パスワードを設定
tigervncpasswdVNC 接続で使用するパスワードを設定する.このコマンドを実行するとパスワードの入力を求められ,
~/.config/tigervnc/passwdに保存される.パスワードは 6 文字以上で,先頭 8 文字のみが有効である. - デスクトップを共有するようにサーバを起動
x0tigervncserver -localhost yes表示中のデスクトップ(
:0)を共有する VNC サーバが起動する.パスワードファイルは既定で~/.config/tigervnc/passwdが使われる.待ち受けポートは 5900 に共有するディスプレイ番号を加えた値である(:0の場合は 5900).-localhost yesは,同一マシン(localhost)からの接続のみを受け付ける設定であり,SSH トンネル経由の接続で用いる.SSH トンネルを使わず,他のマシンから直接接続を受け付ける場合は-localhost noを指定する.x0tigervncserver -localhost no共有する画面の範囲を指定する場合は
-Geometry 幅x高さを追加する.x0tigervncserver -localhost yes -Geometry 1920x1080起動したサーバの一覧表示と停止は,次のコマンドで行う.
x0tigervncserver -list x0tigervncserver -kill :0ログファイルは
~/.config/tigervnc/<ホスト名>:<ディスプレイ番号>.logに保存される.接続できないときは,このファイルの内容を確認する.
Windows マシンからの接続
Windows マシンで MobaXTerm を使って接続する手順を示す.
- MobaXTerm のインストール: 別ページ »で説明する.
- MobaXTerm での操作
「Session」 をクリックする. 「New Session」をクリックする. 「VNC」を選ぶ.
SSH トンネル経由で接続する場合は,「Remote hostname or IP address」に
localhost,「Port」に5900を設定する.そして「Network settings」をクリックし,「Connect through SSH gateway」をチェックする.Gateway SSH server に接続先の Ubuntu マシンの IP アドレスまたはホスト名を設定し,「User」にログインするユーザ名を設定する.SSH トンネルを使わず直接接続する場合は,「Remote hostname or IP address」に接続先の Ubuntu マシンの IP アドレスまたはホスト名,「Port」に
5900を設定する.このとき,サーバ側は-localhost noで起動し,5900/tcp を開放しておく必要がある.接続時には,
tigervncpasswdで設定したパスワードを入力する.