WSL2でGUIアプリを動かす
WSL2で画像を表示させたりするGUIアプリを動かすには、まずVcXsrvというアプリをインストールし、そのうえでDISPLAYという環境変数を正しく設定してやる必要がある。
VcXsrvのインストールについては割愛。検索してダウンロードしてデフォルトの設定でインストールすれば良い。
Error: Can't open display: localhost:0.0
を実行したのち
を実行したところ、上記のようなエラーが出て失敗した。前の環境ではこれで行けたのだが、今回はIPアドレスを明示的に指定する必要があるらしい。
/etc/resolv.confにIPアドレスが書かれているので、次のコマンドでそれを抜き出してDISPLAYに設定してやる。
なお、これらは~/.bash_profileなどに書いておいて、ログイン時に自動的に実行されるようにしておく。
Error: Can't open display: 172.27.144.1:0.0
それでもエラーが出たので、ファイアウォールの設定の問題だろうということで設定を変えてみた。
6000番が開放されていればいいらしい。
コントロールパネルから
Windows Defender ファイアウォールの設定を変えるのが一般的らしい。自分の場合は
McAfeeで制御されていたので、そちらから設定した。このあたりの手順は環境によって違うと思う。
McAfeeでの手順を簡単に記録しておく。
ディスプレイの右下にアイコンがあると思うのでそれをクリックして
McAfeeのウィンドウを開き、「ウイルス対策」>「パソコン」>「ファイアウォール」>「ポートとシステムサービス」と開く。下の方にある「追加」をクリックして6000番のポートを開放する。
システムサービス名は何でも良い。プロトコルは
TCP/IPで良いと思う。
このように追加される。
ssh接続の際に出る警告:
Warning: No xauth data; using fake authentication data for X11 forwarding.
外部のサーバーにssh接続をすると、上記のような警告が出たので、以下を~/.ssh/configに追記した。
これで一旦は警告が出なくなったのだが、しばらくすると再び出るようになったので次の方法を試した。
これで出なくなった。
~/.bash_profileに書いて自動的に実行するようにしておくとよい。