以下の記事で「WSLはCUI」と書きました。
しかし調べてみるとリモートデスクトップとしてGUI化する方法があったのでそれを試してみた備忘録になります。
詳しい内容は参考資料に挙げているページ様を参照してください。
では、始めます。
1:GUI化のコマンドを実行する
まずはWSLでUbuntuを起動させて、Ubuntuにログインします。
ログイン後、以下のコマンドでUbuntuを最新化します。
$ sudo apt update $ sudo apt -y upgrade
最新化ができたら以下のコマンドを実行します。PCの性能にもよりますが、数分かかります。
$ sudo apt -y install xfce4
インストール途中でウィザードが出てきた場合は「gdm3」を選択した状態で「右矢印キー(>)」を押下して「OK」にカーソルを合わせた状態で「Enter」を押下します。
その後、以下のコマンドを実行します。
$ sudo apt -y install xrdp
2:GUI化の設定を行う
1のコマンドが終了したら設定ファイルを編集していきます。
まず以下のコマンドで元の設定ファイルをコピーしてバックアップを取っておきます。
$ sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
バックアップができたらファイルの中身を変更していきます。
以下のコマンドでポート番号を3389から3390に変更します。
$ sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
次にmax_bppの値を128に変更します。
$ sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
xserverbppの値を128に変更します。
$ sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
xsessionファイルを作成します。
$ echo xfce4-session > ~/.xsession
これでコマンドで行う設定ファイルの修正は終了したので、次にシェルファイルを変更していきます。
以下のコマンドでシェルファイルを開きます。今回はviを使っていますが、エディタはなんでも構いません。
$ sudo vi /etc/xrdp/startwm.sh
ファイルを開いたら以下のように末尾2行の頭に「#」をつけてコメントアウトし「startxfce4」を末尾に追記してファイルを上書き保存します。
・更新前
・更新後
これでGUI化の設定は完了です。
3:リモートデスクトップ接続でGUIを表示させる
実際にGUIを表示させます。
2の設定まで完了させたUbuntuにログインし、以下のコマンドを実行します。
$ sudo /etc/init.d/xrdp start
このコマンドを実行して以下のように「Starting Remote Desktop Protocol server」と表示されるのを確認します。
$ sudo /etc/init.d/xrdp start * Starting Remote Desktop Protocol server [ OK ]
このコマンドはwslでログインした際に毎回実行する必要があるので、面倒な場合は以下のように~/.profileファイルにコマンドを追記しておくと楽になります。
# remote desktop start sudo /etc/init.d/xrdp start
この状態でメニューバーの検索から「リモート」と入力して出てきた「リモートデスクトップ接続」をクリックします。
起動して出てきた画面の接続先のところに以下の内容を入力して「接続」ボタンをクリックします。
localhost:3390
ちなみにこの時のlocalhost:の後の番号は2の手順のファイルの中身を変更した際のポート番号になっています。
警告が出ますが、無視して「はい」ボタンをクリックします。
リモート接続すると以下のようにユーザとパスワード入力を求められるので、Ubuntuのユーザ名とパスワードを入力して「OK」ボタンをクリックします。
リモート接続に成功すると以下のようにGUIのデスクトップ画面が表示されます。
これでUbuntuの仮想環境をデスクトップのGUIとして使えるようになりました。
おまけ:設定しておくと良いもの
おまけとして設定しておくと良いものを紹介しておきます。
デフォルトでは下の方にパネルがあってわかりにくいため、以下のような設定をしておくと良いです。
メニューバーの左上にある「Applications」→「Settings」→「Panel」を選択します。
以下のようなダイアログが出てくるのでプルダウンから「Panel2」を選択し、Modeを「Vertical」にして「Lock Panel」のチェックを外すと画面下にあるパネルを動かせるようになります。自分の場合は左上に縦になるように配置しました。
またデフォルトのままだとWebブラウザーが開けないようなので、以下のコマンドでchromiumをインストールしておきます。
$ sudo apt install chromium-browser -y
これでもブラウザが立ち上がらない場合はWindowsから直接chromeのインストーラを渡します。
chromeのlinux向けのダウンロードページを開きます。
開いたら「Chromeをダウンロード」ボタンをクリックします。
.debのファイルの方を選択して「同意してダウンロード」ボタンをクリックします。
WSLでの仮想環境はWindowsからファイルの受け渡しができるので、以下のようにエクスプローラーの左側にある「Linux」という項目をクリックし、適当な場所にダウンロードしたファイルを配置します。自分の場合はユーザ配下のDownloadsフォルダの中に配置しました。
配置できたらUbuntuの方でcdコマンドでそのフォルダに移動し、以下のコマンドを実行してインストールします。
$ sudo apt install -y ./google-chrome-stable_current_amd64.deb
コマンド終了後、パネルにあるWeb Browserを開くとchromeが開けるようになっています。
以上が「WSLでインストールしたUbuntuをリモートデスクトップとしてGUI化する」方法になります。
まだ日本語入力の方法がわかっていなかったり色々と不便なところはありますが、ひとまずGUIとして使えるというのは便利な点が多いのでやっておくと何かと良いかと思います。
・関連記事
- 【Windows】WSL2でUbuntuの仮想環境を構築する - ソースに絡まるエスカルゴ
- 【WSL】リモートデスクトップのGUIで放置していると勝手に画面が黒くなるのを解消する方法 - ソースに絡まるエスカルゴ
- 【WSL】リモートデスクトップでGUI化したUbuntuを日本語入力可能にする - ソースに絡まるエスカルゴ
- 【Ubuntu】UbuntuにVisual Studio Codeをインストールする - ソースに絡まるエスカルゴ
・参考資料