LoginSignup
26
20

WSL2のUbuntuにリモートデスクトップ接続する。(その2:xrdpインストール)

Last updated at Posted at 2021-08-01

2023.02.03追記
WSL2のネイティブSystemdでxrdpを動作させる記事を書きました。
WSL2でSystemdが公式にサポートされるようになったため今後は以下の記事を参照してください。

はじめに

前回、WSL2Ubuntugenieをインストールしたため、今回はxrdpをインストールしてリモートデスクトップでアクセスできるように設定していきます。

Ubuntuデスクトップ環境のインストール

Ubuntu 20.04を起動して、Ubuntu Desktopをインストールします。

Ubuntu_Desktopのインストール
sudo apt update
sudo apt upgrade
sudo apt install ubuntu-desktop

xrdpのインストール

xrdpインストール&セットアップの大枠は以前書いた以下の記事と大体同じですが、WSL環境の場合、一部手順が異なるため、今回は手作業でやっていきます。

xrdpのインストール
sudo apt install xrdp

xrdpインストール後のセットアップ

Ubuntu Desktopxrdpを使用する場合、いくつか修正する必要があるため、ファイルの修正と必要ファイルの作成を行っていきます。

/etc/xrdp/sesman.iniファイルの修正
sudo sed -i -e '/FuseMountName/s/thinclient_drives/shared-drives/g' /etc/xrdp/sesman.ini
/etc/X11/Xwrapper.configの修正
sudo sed -i -e '/allowed_users/s/console/anybody/g' /etc/X11/Xwrapper.config
45-allow-colord.pklaファイルの作成
sudo tee /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla << _EOF_ > /dev/null
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
_EOF_
46-allow-update-repo.pklaファイルの作成
sudo tee /etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla << _EOF_ > /dev/null
[Allow Package Management all Users]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=yes
ResultActive=yes
_EOF_
startubuntu.shファイルの作成
sudo tee /etc/xrdp/startubuntu.sh << _EOF_ > /dev/null
#!/bin/sh
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
exec /etc/xrdp/startwm.sh
_EOF_
startubuntu.shへの権限付与
sudo chmod +x /etc/xrdp/startubuntu.sh

xrdp待ち受けポート番号の変更

WSL2で起動している仮想マシンでは、個別のアドレスを持っているため、ip a等のコマンドで確認できるアドレスに対してリモートデスクトップ接続を行えば接続できますが、このアドレスはPCを再起動すると変更されてしまいます。

またWSL2では、ホスト側となるWindowsで、WSL2の仮想マシンで待ち受けているポートに対してポートフォワードする機能があり、デフォルトではWSL2に転送するようになっているため、ホスト側のWindowslocalhostを指定してリモートデスクトップアクセスすると、WSL2で動作しているxrdpにアクセスするような動作となります。

今回の環境ではWindows 10 Homeの環境となることから、Windowsホスト側でリモートデスクトップサービスが動かないのでデフォルトのポートのままでも問題ありませんが、リモートデスクトップサービスが動作するWindows 10 Proでは、localhostによるアクセスを行うとポートフォワードできずに失敗するため、xrdpの待ち受けポートを変更するようにします。

変更するポート番号はRDPが動作する3389以外なら何でもいいですが、ウェルノウンポート以外のポートにするのが望ましいので、今回は338910000を加えた13389にします。

xrdp待ち受けポート番号の変更
sudo sed -i -e '/^port/s/3389/13389/g' /etc/xrdp/xrdp.ini

Dock環境のインストール

UbuntuUbuntu Desktop環境で使うと、画面左にDockと呼ばれるアプリケーション起動用のバーが表示されますが、今回の環境では表示されないようなので、gnome-tweak-toolをインストールして、Dockを使用できるようにします。

gnome-tweak-toolのインストールとDock有効化
sudo apt install gnome-tweak-tool
gsettings set org.gnome.shell enabled-extensions "['ubuntu-dock@ubuntu.com']"

Ubuntuの日本語化

WSL2Ubuntuは日本語化されていないため、日本語化しておきます。

日本語言語パックのインストール
sudo apt install language-pack-ja
ロケールの変更
sudo localectl set-locale LANG=ja_JP.UTF-8
タイムゾーンの変更(対話式)
sudo dpkg-reconfigure tzdata
日本語マニュアルのインストール
sudo apt install manpages-ja manpages-ja-dev
日本語入力mozcインストール
sudo apt install ibus-mozc
キーボード割り当て変更
sudo localectl set-keymap jp106

入力ソースの追加は、各ユーザで実行するため、sudo無しで以下実行します。

入力ソースの追加
gsettings set org.gnome.desktop.input-sources sources "[('ibus', 'mozc-jp'), ('xkb', 'jp')]"

不足している日本語パッケージのインストール

Ubuntu Desktopの画面から「設定」→「地域と言語」→「インストールされている言語の管理」をクリックした際に、足りないと言われるパッケージを予めインストールしておきます。

sudo apt -y install language-pack-gnome-ja
sudo apt -y install gnome-user-docs-ja
sudo apt -y install libreoffice-l10n-ja
sudo apt -y install firefox-locale-ja
sudo apt -y install mozc-utils-gui
sudo apt -y install thunderbird-locale-ja
sudo apt -y install gnome-getting-started-docs-ja
sudo apt -y install fonts-noto-cjk-extra
sudo apt -y install libreoffice-help-ja

xrdpの再起動

この時点でxrdpが起動しているので、再起動して設定を反映させます。

前回の記事の通りgenieが起動しているようであればsystemctlコマンドが使えるはずなので、systemctlで再起動します。

xrdpの再起動
sudo systemctl restart xrdp

先ほど記載した通り、WSL2Ubuntuに割り当てられているIPアドレスは再起動ごとに変わってしまうため、localhostを指定してUbuntuにポートフォワーディングさせます。

WSL2のUbuntuへのリモートデスクトップアクセス

Windowsホスト側の「リモートデスクトップ接続」を起動し、localhostでポート転送して接続します。

また、先ほどxrdp側のポート番号を変更しているため、後ろに13389を加えてアクセスします。

capture_18072021_235051.jpg

ユーザ名、パスワードを入力後、以下の様な画面が表示されれば完了です。

capture_18072021_235824.jpg

おわりに

今回はUbuntu Desktopをインストールする方法で行いましたが、genieによりsystemdが使えるようになっているので、他のデスクトップ環境を使用する場合でも、通常のUbuntuにインストールするのと同じような感覚で作業できるようになっているかと思います。

26
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
20