コンテナの GUI をブラウザで見る
Dev Container に生きた X server は無いが、再ビルドなしで GUI 窓をブラウザに出せる。
Xvfb :99 → x11vnc :5900 → websockify + noVNC :8081 → ブラウザ
ヘッドレスでGUI検証 の SDL_VIDEODRIVER=dummy はロジックの検証用で、鑑賞はできない。
見る必要が出たらこちらへ切り替える。
x11vncは WSLg のWAYLAND_DISPLAYを見て Wayland と誤判定し即 exit する。env -u WAYLAND_DISPLAY -u XDG_SESSION_TYPE -u XDG_RUNTIME_DIRで外す。 パッケージを入れただけでは必ずここで落ちる(再ビルドしても変数は残るので、再ビルドでは直らない)nohup ... &はツール実行の終了で道連れに死ぬ。setsidで切り離す- 生存確認をプロセス数で数えない。
websockifyは接続ごとに子を作る(実測で親1・子5)。 listen しているポートで判定する - 稼働中のコンテナへ
apt-get install x11vnc novnc websockifyを直接入れればその場で動く。 再ビルドは「次に環境を作り直しても残す」ための作業であって、今動かすための条件ではない - ホストのブラウザから届くのは VS Code が Dev Container に接続している間だけ (→ Windowsホストからコンテナのアプリを起動する)
正典:verschlimmsweeper/DESIGN.md §運用メモ。関連 ヘッドレスでGUI検証/devコンテナで日本語を出す