🏗️

クラウドサーバーで物理エンジン環境設定忘備録2

に公開

前回は物理エンジンをバックで動かしつつその画面を確認するため録画するところまでいきました。
https://zenn.dev/takeofuture/articles/cea230b5e69535
今回はその画面をVNCでアクセスできる環境設定をいします。

まずパッケージを導入します。(テストするためのツールもいれます)

# apt install xvfb x11vnc openbox x11-apps xterm x11-xserver-utils mesa-utils

そして最初に1回だけ、vncのパスワードを設定します。

# mkdir -p ~/.vnc
# x11vnc -storepasswd

次に仮想ディスプレイ :99 を起動します

# Xvfb :99 -screen 0 1280x720x24 +extension GLX -nolisten tcp &
[1] 2018
root@ip-172-31-6-72:/opt/python3.9.23/RoboFactory# kmsro: driver missing
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server
# export DISPLAY=:99

OPENBOXも起動しておきます。

# openbox >/dev/null 2>&1 &
[2] 2225

次にVNCを起動します。今回は手順単純化のためrootで外部起動で起動します。必要に応じてセキュリティ設定を加えてください。

# x11vnc -display :99 -rfbport 5900 -forever -shared \
  -rfbauth /root/.vnc/passwd -repeat -xkb -ncache 10 \
  >/tmp/x11vnc.log 2>&1 &
[3] 2319

ここでクライアントのVNC VIEWERで確認します。(私はREALVNCを使いました。)
パスワードがきかれるので先ほど設定したVNCのパスワードを入れてください

すると画面があらわれますが、DESKTOPd設定を最小にしているため、真っ黒な画面しかでません。

確認のため、立ち上げたまま背景を灰色にしてみます。

# xsetroot -solid gray

すると背景が一部灰色になりました

ついでにアプリのXTERMおよびOPENGLの画面も立ち上げます。

# xterm &

OPENGL表示も確認します。

# LIBGL_ALWAYS_SOFTWARE=1 glxgears -geometry 640x480 >/dev/null 2>&1 &

さていよいよ物理エンジンの壁画をしてみます。

# pyenv activet robofactory
(robofactory)$ 

VNCでアクセスした画面にシミュレーションのデモ動画が駅がされました。
https://youtu.be/jZz8DEsz5Fs

Discussion