【x11vnc】Jetson Orin Nano を Windows から VNC 接続してデスクトップを操作する方法

Jetson Orin Nano を使っていると、「PC から遠隔でデスクトップを操作したい」
と思うことがありますね。
Windows から Jetson Nanoデスクトップ画面を VNC で表示して、
操作することができます。
Jetson Orin Nano を PCから遠隔操作(VNC接続) したい場合、
Ubuntu 上に VNCサーバーをインストールし、設定する必要があります。
本手順では、初期設定から 自動起動まで完全に設定する方法を紹介します。
操作する方法を紹介します。
使うのは x11vnc。
これで物理ディスプレイそのまま操作できます!
x11vnc とは?
x11vnc は、Jetson の物理ディスプレイ :0 を直接 VNC で操作できるソフトです。
通常の VNC(TigerVNC など)は仮想ディスプレイに接続しますが、
x11vnc は 今表示されている画面そのまま を操作可能
Windows から接続して、マウス・キーボードで操作できます
<環境>
Jetson Orin Nano に Ubuntu デスクトップがインストールされている
PC と Jetson が同じネットワーク(LAN/Wi-Fi)に接続されている
JetsonNano側から設定
JetsonNano側から、インストール作業&設定を行っていきます。
VNC サーバーのインストール
初めにx11vnc のインストールします。
① x11vnc をインストール
ターミナルで以下を実行します。
【x11vnc インストールコマンド】
sudo apt update
sudo apt install x11vnc -y
「sudo apt update」でパッケージ情報を更新します。
「sudo apt install x11vnc -y」で、x11vnc をインストールします。
これで Jetson 側で VNC 接続の準備ができました。
② パスワード設定(推奨)
セキュリティのため、VNC 接続にパスワードを設定します。
【パスワード設定コマンド】
x11vnc -storepasswd
保存したパスワードを Windows 側で使用
設定したパスワードは 安全に保管 してください。
③ JetsonNano側のサーバーを起動する(デスクトップに接続する)
x11vnc -display :0 -auth guess -forever -passwd <パスワードファイル>
-display :0 → 実際の物理ディスプレイに接続
-auth guess → 自動で認証情報を取得
-forever → 接続が切れてもサーバーを維持
<パスワードファイル> →
x11vnc -storepasswd で作成したパスワードファイルを入力します。
補足:接続が切れるたびに再起動する必要がなくなります。
Windows 側の設定
Windows 側から接続します。
RealVNC Viewer を起動します。
接続先に Jetson の IP とポートを入力します。
IP アドレスは Jetson のターミナルで
「hostname -I」 と入力して確認します。
表示されたIPを使用します。
ここでは、以下のIPを指定します。
192.168.0.37:5900
VNCの画面は以下の通りです。

接続が成功すると以下の画面が出ます。

パスワードを入力します。

JetsonNanoの画面が表示されます。

これで、接続完了です!
接続できない時
接続できない場合は Jetson 側で x11vnc が起動しているか確認します。
ps aux | grep x11vnc
ファイアウォールでポート 5900 がブロックされていないか確認します。
sudo ufw status
これらを確認します。
まとめ
Jetson Orin Nano を Windows から VNC 接続する時
「 x11vnc 」を使い接続しました。
実際のデスクトップに直接接続できるので、画面をそのまま操作可能です。
パスワード設定でセキュリティも確保できます。