UbuntuをWindows11上で動かす その9: GUIを使う(リモートデスクトップ編)

UbuntuをWindows11上で動かす その9: GUIを使う(リモートデスクトップ編) Ubuntu
スポンサーリンク

前回はWindows向けのXサーバーソフトであるVcXsrvを利用してWSL2のUbuntuのGUIを表示する方法を紹介しました。

今回は別の方法としてリモートデスクトップを使った方法を紹介します。

スポンサーリンク

リモートデスクトップ

Windowsには他のPCの画面を表示するリモートデスクトップという機能があります。

リモートデスクトップアプリ

この機能をつかってWSL2に接続し、Linuxのデスクトップ画面を表示させようというわけです。

前回紹介したVcXsrvを使う方法では、WSL2で起動した各アプリのウィンドウを個別に表示させる場合は便利なのですが、WSL2のデスクトップ画面を表示させる場合は次のような不満点がありました。

  • キーボードが勝手に英語に切り替わってしまう
  • 毎回WSL2のIPアドレスを調べてVcXsrvの設定を変える必要がある

これらの課題が解決できることを期待しつつ、リモートデスクトップを試してみたいと思います。

スポンサーリンク

WSL2側の設定

まずWSL2側で作業をしていきます。

xrdpのインストール

WSL2でxrdpの接続を受け付けるにはxrdpというパッケージを導入する必要があります。

$ sudo apt-get install xrdp

デスクトップ環境を入れていない方はデスクトップ環境も入れておきましょう。私はVcXsrvを試したときにLXDEを入れていました。

$ sudo apt-get install lxde

インストールが終わったらxrdp設定ファイルを修正します。

xrdpの設定ファイル/etc/xrdp/xrdp.iniにあるので、このファイルを編集して「port」で始まる行を

port=3390

に変更しておきます。

これは下記のコマンドで実現できます。

$ sudo sed -i -e 's/^port=3389/port=3390/g' /etc/xrdp/xrdp.ini

ここまで完了したらxrdpを起動しておきます。

$ sudo service xrdp restart

WSL2のIPアドレスの確認

リモートデスクトップをの接続時にWSL2のIPアドレスが必要になるので下記のコマンドで確認しておいます。

$ hostname -I
172.29.56.64

このIPアドレスは後ほど利用するのでどこかにメモっておきます。

LXDEの起動設定

リモートデスクトップの接続時にLXDEが起動するように、ホームディレクトリに.xsessionrcというファイルを作成します。

$ echo "export LANG=ja_JP.UTF-8" > ~/.xsessionrc
$ echo "startlxde" >> ~/.xsessionrc

Windows側の設定

ここからはWindows側で作業をしていきます。

リモートデスクトップの接続

WSL2側の準備ができたのでそれではリモートデスクトップで接続してみます。

Windowsのスタートメニューから「リモートデスクトップ接続」を探して実行します。

次のようなウィンドウが出るので「オプションの表示」を選択しましょう。

リモートデスクトップのオプションを表示

これでリモートデスクトップのオプションが設定できるので「画面」タブを選択します。

「画面の設定」のエリアでリモートデスクトップの画面サイズ(=WSLのデスクトップ画面のサイズ)を設定できます。

リモートデスクトップの設定

Windows画面全体をリモートデスクトップで覆われたくないときはここで画面サイズより小さい解像度を設定しておきます。

設定が終わったら「オプションの非表示」を選択してオプションの設定画面をクローズします。

次のようなウィンドウがでるので「WSL2のIPアドレス:3390」と入力して「接続」を選択します。

リモートデスクトップの接続先を指定

すると次のような警告が出るので、チェックボックスを選択してから「はい」を選択します。

セキュリティの警告

これでリモートデスクトップのログイン画面が表示されるはずです。

「Session」で「Xorg」になっていることを確認して、WSL2のユーザ名とパスワードでログインします。

WSL2へのログイン

これでLXDEのデスクトップが表示されればOKです。

LXDEのデスクトップ

デフォルトではフォントが汚く、メニューの文字がガタガタしているかもしれません。

フォントを改善するにはWindows10のフォントをWSLから参照できるようにします。

$ sudo ln -s /mnt/c/Windows/Fonts/ /usr/share/fonts/windows
$ sudo fc-cache -fv

この処理をしてからxrdpを再起動してやり直してみましょう。

$ sudo service xrdp restart

もう一度リモートデスクトップで接続し直すとWindowsのフォントが使えるようになっているので、LXDEのメニューから「設定」→「ルックアンドフィールを設定します」でデフォルトのフォントを選びます。

LXDEのフォントの設定

私はフリーのMiguフォントを使ってみました。

Miguフォント : M+とIPAの合成フォント

これでかなり見やすくなります。

あとは普通にアプリを起動するだけです。Firefox等も当然使えます。

LXDEのデスクトップ

なおリモートデスクトップを終了するときは

  • WSLのデスクトップも終了したい場合→「システム」→「ログアウト」でログアウトする
  • WSLのデスクトップを維持したままリモートデスクトップを閉じたい→リモートデスクトップの閉じるボタンを選択

となります。後者の場合はリモートデスクトップで再接続すれば切断したときの状態で再開できます。

IPアドレス問題

ここまでの設定でリモートデスクトップを使ってWSL2のUbuntuに接続できるようになったわけですが、1つ問題が残っています。

それはリモートデスクトップの接続時に指定するWSL2のIPアドレスです。

IPアドレスを指定した接続

ここには事前に調べたWSL2のIPアドレスを指定する必要がありました。

WSL2のIPアドレスは起動毎に変わるのでこれでは不便です。そこれで代わりに「localhost:3390」を指定してみましょう。

localhostでの接続

「接続」を選択して、「このリモートコンピュータのIDを識別できません。接続しますか?」の問い合わせが再び表示されたら、「このコンピュータへの接続について今後は確認しない」をチェックした後「はい」を選択しましょう。

これでWSL2のIPアドレスを指定したときと同様にWSL2に接続できればOKです。

最近のWSL2ではデフォルトでlocalhost経由でのアクセスが有効になっています。

リモートデスクトップの設定を保存

動作確認がOKでリモートデスクトップのサイズなどが決まったら設定を保存しておきましょう。

リモートデスクトップの接続を起動して「オプションの表示」を選択したあと「全般」タブを選び、接続設定の「名前をつけて保存」を選択しましょう。

リモートデスクトップ設定の保存

私は「wsl2.rdp」として保存しました。

今後はこのアイコンをダブルクリックするだけでリモートデスクトップに接続することができます。

リモートデスクトップのアイコン

まとめ

今回はWindows Subsystem for Linux(WSL2)を使って導入したUbuntuにリモートデスクトップで接続できるようにしてみました。

リモートデスクトップを使うとWindows側に特別なソフトを入れる必要がありません。WSL2でデスクトップ画面を使いたい方は、Xサーバー(VnXsrv)を使うよりリモートデスクトップの方がお手軽だと思います。

次回はWSL2で使えるWSLgという機能を使ってみたいと思います。

コメント

タイトルとURLをコピーしました