qshinoの日記

Powershell関係と徒然なこと

Jetson xavier vnc

Jetson Xavier vnc設定

Jetson xavier のvnc serverはデフォルトでは動かない。下記にて動作の報告あり。

File: ~/.config/autostart/vino-server.desktop

[Desktop Entry]
Type=Application
Name=Vino VNC server
Exec=/usr/lib/vino/vino-server
NoDisplay=true

これだと、ローカルで作業したい時に、画面がローカルに出ない気がする。

場合によって切り替えたいが、切替法は不明。

理想は、基本的にローカルに画面を出して、リモートからvncアクセスがあればリモート表示。

x11

画面を利用しない場合。

sudo nvidia-xconfig --use-display-device=none

ref

https://devtalk.nvidia.com/default/topic/1042018/setting-up-vnc-server/

Jetson nano の画面共有

Jetson Nanoで画面共有する方法。

2つの方法がある。

  1. tigervnc
  2. ubuntu 標準vino

1.はtigervncのx0vncserverを利用する。通常のvncserverは新規にフレームバッファを作るためhdmi出力が見えない。hdmi出力を見るために、x0vncserverを使う。

2.はubuntu標準の画面共有vino vncが設定でクラッシュする対策。

2. vino 設定方法

先に標準の2. から。コマンドラインの作業と、GUIの作業がある。

コマンドラインの作業。

$ sudo cat <<EOS >> /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
<key name='enabled' type='b'>
<summary>Enable remote access to the desktop</summary>
<description>
If true, allows remote access to the desktop via the RFB
protocol. Users on remote machines may then connect to the
desktop using a VNC viewer.
</description>
<default>false</default>
</key>
EOS
$ sudo glib-compile-schemas /usr/share/glib-2.0/schemas
$ gsettings set org.gnome.Vino require-encryption false
$ gsettings set org.gnome.Vino prompt-enabled false

GUI作業

  1. ubuntu設定/Settingsから、画面共有の設定
  2. ubuntu検索/Searchから、Startup Applicationsを検索し、/usr/lib/vino/vino-serverを追加

以上の設定後、Nanoをリブートし、 リモートからvnc clientを接続確認。

tigervnc nano hdmi出力共有

togervncのx0vncserver で、起動中のXをミラーできる。

VirtualGL again

再びVirtual GL をお試し。

ここではXDMCPを忘れ、window=appレベルでGPUドライバを使ったOpenGLレンダリングをリモートで見る事を目的とする。

https://virtualgl.org/vgldoc/2_0_1/

以下では、GPUのあるノードをGPUノード、リモートのXサーバをリモートノードと呼ぶ。

概要

GPUノード上でvglconnectを実行し、リモートノード上のXサーバに描画する。

GPUノード: vglconnectにて、リモートノードに接続

リモートノード: x11サーバー

リモートノード

  1. x11サーバを立上げ。
  2. xhost設定

GPUノード

  • headless X設定
  • VGL設定
  • GPUノードのXへのアクセス権とfitewall設定が気になる。FWはローカルからはフリー?とするとGPUノードXへのアクセス?これは普通の描画だから大丈夫?

GPUノード設定詳細

  1. sudo nvidia-xconfig --use-display-device=none
  2. sudo reboot
  3. startx : xが上がっていない場合
  4. VitrualGLをインストール
  5. vglserver_configを実行
  6. DISPLAYをGPUノードに設定する。
  7. vglconnect -display リモートノード:0
  8. vglrun Xアプリ実行

virtual GL関連コマンド

  • vglconnect vglclientをバックグラウンドで起動する。vglconnect -x usr@server
  • vglclient : 接続する。
  • vglrun xapp xappを起動する。

最初の構成

課題は2つ。

  1. Virtual GL
  2. Headless X

ref

https://blog.hackster.io/getting-started-with-the-nvidia-jetson-nano-developer-kit-43aa7c298797

Jetson Nano vnc

https://qiita.com/iwatake2222/items/a3bd8d0527dec431ef0f