WSLのUbuntuにRemote Desktopで接続する
Lispをやるだけならターミナルでつながればいいが、もっといろいろやりたいとなるとやはりデスクトップ環境が欲しくなる。
デスクトップ環境を入れるやり方は色々あるがリモートデスクトップが簡単だ。
前提条件:WSLでUbuntu20.04を入れておく
手順
- WindowsメニューからUbuntuを起動する
- タイトルバー(Ubuntuのアイコンが出ているウィンドウ上部)を右クリックしプロパティを選択する。
- ダイアログの真ん中あたりにあるCtrl+Shift+C/Vをコピー/ペーストとして利用するをチェックする。以下のコマンド類はすべてCtrl+Shift+Vで貼り付ける。
- お約束のアップデート
sudo apt update && sudo apt -y upgrade
- Xfce4のインストール
sudo apt -y install xfce4
sudo apt -y install xfce4-goodies
- Xrdpのインストール
sudo apt-get install xrdp
すでに入っていればそういわれる。
- ポートなどConfig
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
echo xfce4-session > ~/.xsession
- 設定ファイルの編集
sudo vim /etc/xrdp/startwm.sh
下のほうにある二行をコメントアウトする。
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
次の二行を最後に追加
# xfce
startxfce4
ファイルを上書き保存しvimを抜けたら
sudo /etc/init.d/xrdp start
を実行する。
- Starting Remote Desktop Protocol server [ OK ]
のような表示が出ていればいい。あとはWindowsのリモートデスクトップ接続を起動する。接続先はlocalhost:3390としてやるとウィンドウが開く。大きさなどリモートデスクトップ接続側で接続前に決めておいたほうがいいだろう。途中セキュリティ警告が出るだろうが、適宜対応する。
画面が真っ黒になったら
しばらく放置していると真っ黒な画面になってしまうことがある。そういったときはいったんリモートデスクトップ接続を落とし、Ubuntu側で
sudo /etc/init.d/xrdp restart
を実行して[OK]が出てからもう一度リモートデスクトップ接続を起動すればいい。リモートデスクトップ接続をつないだままリスタートするとリモートデスクトップ接続は接続が切れていずれにしても落ちる。
まとめ
多分Debian系であるKaliでも同じやり方だと思う。これでChromeでもなんでも入れられる。めでたしめでたし。
注意事項
Kaliの場合、ドライバーを入れる必要があるWireless Penetration Testには向いていない。というのはKernelがMicrosoftのものになっていて、Kaliのものではないからその手のビルドに失敗するのである。