Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

webブラウザ上にjetsonのデスクトップ画面を表示・操作してみる

今回はjetsonのデスクトップ画面をwebブラウザに表示させるための環境構築について備忘録としてまとめておこうと思います!!
ちょっと環境構築にハマってしまった点があったので。。



■環境

今回はjetson nanoを用いて環境構築を試みました。
ただ、Linux環境であれば適用できるかと思います。

■準備

webブラウザ上にデスクトップ画面を表示・操作するにあたり、
 ・VNC Server
 ・noVNC
を用いていきます。

vncとは?】
Virtual Network Computingの略で、簡単にまとめると
PCを遠隔操作したい時に使用するツールのことです。

詳しくはこちらにまとめられておりますのでご参照ください。
https://wa3.i-3-i.info/word13373.html

余談ですが、こちらのサイト結構分かりやすく用語がまとめられておりかなりおすすめです。
初心者でも分かりやすくかみ砕いて説明されております!!

では、
 ・VNC Server
 ・noVNC
をインストールしていきます。
これらのツールはサーバー側(アクセス対象)にインストールします。
※今回の場合はjetsonですね。

まずはVNC Serverからです。
コマンドはこちらになります。

sudo apt install tightvncserver

インストール後、サーバーに遠隔でログインするためのパスワードを設定していきます。
パスワードを設定する手順ですが、

vncpasswd

を入力すると、

Password:
Verify:

と聞かれるので2回とも同じパスワードを入力します。
その後、

Would you like to enter a view-only password (y/n)?

と聞かれるので、閲覧のみのログインパスワードも設定したい場合にはyを選択。
すると先ほどと同様に、

Password:
Verify:

と聞かれるので2回とも同じパスワードを入力します。

こちらをインストールすれば、遠隔操作したいPCにVNC Viewerというツールがインストールすることにより、
遠隔操作が可能になります。

簡単に手順をまとめますと、

x0vncserver -display :0 -passwordfile ~/.vnc/passwd

をサーバー側で入力します。
その後VNC Viewer側でサーバーのIPアドレスを入力し、
先ほど設定したパスワードを入力すれば遠隔操作がおこなえるかと思います。

今回はWebブラウザ経由で遠隔操作してみたいので先に進めます。

次にnoVNCです。
インストールはこちらでOK。

sudo apt install novnc websockify

websockifyですが、noVNCのサービスを起動するために用います。

これで準備完了です。

Webブラウザ上で遠隔操作を行ってみる

では実際に遠隔操作するための準備を行ってみます。
まず、

x0vncserver -display :0 -passwordfile ~/.vnc/passwd

VNC Serverを起動させます。
そして、"VNC Serverを起動"させた状態で、

websockify --web=/usr/share/novnc 6080 localhost:5900

を実行してください。
ここで、

localhost:5900

VNC Serverを起動させた際のポート番号に合わせてください。
※恐らく5900だと思うのですが、VNC Server起動時のログに出力されますので確認しておくこと

では実際にWebブラウザ上で下記を入力ください。

http://IPアドレス:6080/vnc.html?host=IPアドレス&port=6080

するとこちらのような画面が表示されます。
f:id:Elsammit:20210905174741p:plain

vncpasswdで設定したパスワードを入力すると遠隔操作対象のPCの画面が表示されかつ遠隔操作が行えるようになるかと思います。
これで、Webブラウザでデスクトップ画面の操作が行えるようになります。

自分は下記理由により数時間時間をつぶしてしまいました。。
次回からは躓かないようにしたいです。
 ・VNC Serverを起動していなかったのでアクセスできなかった
 ・ポート番号をVNC Serverと合わせていなかった

■最後に

ネットワーク系が弱くてよく躓く。。
ちゃんと基礎から勉強しないと!!