WSL 上の Ubuntu にリモートデスクトップ接続する方法

WSL 上の Ubuntu にリモートデスクトップ接続する方法

link です。

Windows 上で Linux を利用する時、 WSL (Windows Subsystem for Linux) か仮想 PC を作成してインストールすることがほとんどだと思います。

WSL だと GUI アプリケーションが利用できないため、GUI アプリケーションを利用する場合は仮想 PC を作成する必要があります。 しかし、仮想 PC は Windows の領域を圧迫する問題があります。

そこで WSL 上の Ubuntu にリモートデスクトップ接続して、 GUI アプリケーションを利用する方法を紹介します。

想定環境

  • Windows 11
  • WSL2
  • Ubuntu 20.04 以降

Ubuntu 上での準備

Windows 上から Ubuntu へリモートデスクトップ接続するために Windows から Linux へリモート接続できるようにする機能である xrdp をインストールします。 また、デスクトップを表示する機能が WSL にはデフォルトでは入っていないため、 LXDE をインストールします。

インストールコマンド
$ sudo apt install xrdp
$ sudo apt install lxde

xrdp インストール中に以下の画面が表示されると思います。

gdm3 を選択しましょう。

xrdpインストール

xrdpインストール

xrdp のデフォルトのポートは 3389 になっています。 このままリモート接続しようとすると WSL ではこのポートをすでに利用しているため、以下のエラーが発生します。

Your computer could not connect to another console session on the remote computer because you already have a console session in progress.

なのでポート番号を 3390 に置き換えます。

ポート置換
$ sudo sed -i -e 's/^port=3389/port=3390/g' /etc/xrdp/xrdp.ini

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

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

あとあと Windows のフォントを利用できるように Windows 11 のフォントを参照できるようにしておきます。

フォント設定
$ sudo ln -s /mnt/c/Windows/Fonts/ /usr/share/fonts/windows
$ sudo fc-cache -fv

最後に xrdp を再起動して Ubuntu 側の作業は完了です。

xrdp再起動
$ sudo service xrdp restart

Windows からリモートデスクトップ接続

Windows からリモートデスクトップ接続します。

localhost:3390 を指定して接続しましょう。

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

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

以下の画面が表示されたら接続成功です。

usernamepassword に WSL2 で起動したときと同じユーザー名とパスワードを入力して「OK」をクリックします。

ログイン

ログイン

以下の画像のようなデスクトップが表示されれば成功です。

デスクトップ

デスクトップ

Thunderbird のようなアプリも使えます。

Thunderbird

Thunderbird

フォントが気になる場合

デフォルトだとフォントが汚い等で変更したいと思うことがあります。

その場合、以下のように「設定」→「ルックアンドフィールを設定します」からデフォルトのフォントを選択して、変更できます。

ルックアンドフィールを設定します

ルックアンドフィールを設定します

設定画面

設定画面

参考サイト

まとめ

今回は WSL 上の Ubuntu にリモートデスクトップ接続して、 GUI アプリケーションを利用する方法を紹介しました。

それではまた、別の記事でお会いしましょう。

linkohta