WindowsでX-serveを使用するためにVcXsrvを使う
SSH ログインしたLinuxマシンからX-Windowプログラムを実行したときに、ウィンドウをWindoesマシンに表示する方法。
Ubuntu、RaspberryPiともにOK。
このあたりを参考に(といっても、ダウンロードしてインストーラ実行するだけだけど)。
https://www.atmarkit.co.jp/ait/articles/1812/06/news040.html
リモートマシンからの要求を受け付けるには、起動時に3ページ目で”Disable access control” にチェックを入れる。
[!NOTE] C:\Program Files\VcXsrv\X0.hosts にクライアント(Linuxマシン)のIPアドレスを書いておくと、”Disable access control”にチェックを入れなくても良いらしい。
しかし、サブネット全体を指定するために「192.168.1.」とやってもうまく動かない。。。
個別に「192.168.1.5」と書いておくとOK
4ページ目で”Save configuration” をクリックして保存した設定ファイル(拡張子は”.xlaunch”)を実行すれば設定済みの状態で起動できる。
Linux側では~/.bashrcに以下を追加しておくと、SSHでlog inしたときに自動でDISPLAY変数を設定してくれる。
# x11からのログイン以外ならDISPLAYを設定する
if [ "$XDG_SESSION_TYPE" != "x11" ]; then
export DISPLAY=192.168.XXX.XXX:0.0
fi
VcXsrvを起動するとキーボードが勝手に変わることがあるらしい。
日本語入力できなくなったらWindows+SPACEで確認すること。
コマンドラインオプションで設定できないか調べてみたが、見つからない。
「Addituinal parameters」という設定項目があるので、何かしら設定できるはずなんだけど…