WSL2+Ubuntu 20.04LTSでデスクトップ(xfce4)を表示する。
Windows 10 Version 2004から使えるようなったWSL2にUbuntu 20.04LTSを導入、xrdpを経由してWindows上でDesktop(xfce4)を表示します。
Ubuntu 20.04LTSは、Microsoft Storeからインストールしますが、
1.英語版
2.CUIベース
ということで、日本語化およびDesktop(xfce4)が表示出来るようにするためにはいくつかの手順を踏む必要があります。
以下のサイトを参考にしています。
WSL2+Ubuntu 20.04: GUI化
https://qiita.com/atomyah/items/887a5185ec9a8206c7c4
日本語化
https://qiita.com/myalpine/items/fb45b222924b2e61ea9f
Desktop 日本語入力
https://astherier.com/blog/2020/08/install-fcitx-mozc-on-wsl2-Ubuntu2004/
1.WSL2の有効化
(1)PowerShell(管理者モード)を起動して以下のコマンドを入力
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
(2)WSL2のアップグレード
https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel
「download the latest WSL2 Linux kernel 」からwsl_update_x64.msiをD/L、インストール
2.WSLのバージョンをWSL2とする。
(1)PowerShell(管理者モード)を起動して以下のコマンドを入力
> wsl –set-default-version 2
(2)Ubuntu 20.04LTSを導入後、以下のコマンドで確認
> wsl -l -v
※以下のように表示されればOK
NAME STATE VERSION
* Ubuntu-20.04 Running 2
3.Microsoft StoreからUbuntu 20.04LTSをインストール
※インストール後にスタートメニューからUbuntu 20.04LTSを起動します。
4.Ubuntuにxfce4とxrdpをインストール
$ sudo apt update && sudo apt -y upgrade
$ sudo apt -y install xfce4
$ sudo apt-get install xrdp
※xfc4はUbuntu用のDesktp(GUI)、インストール途中のウィザードではgdm3を選びます。
5.xrdpの設定変更
(1)sedエディタでポート番号等を変更
$ 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
(2)startwm.shを編集
$ sudo nano /etc/xrdp/startwm.sh
最後の2行(test- )をコメントアウトします。
末尾に
startxfce4
を追記します。
(3)xrdpを起動
$ sudo /etc/init.d/xrdp start
* Starting Remote Desktop Protocol server と表示されます。
6.リモートデスクトップから接続
コンピューター名:localhost:3390
ユーザー名:Ubuntuのユーザー名
パスワード:Ubuntuのパスワード
※xrdpの導入がうまく行っていれば、リモートデスクトップ上にUbuntu 20.04LTSのDesktop(xfxe4)が表示されます。
7.日本語化
(1)Ubuntuの日本語化
$ sudo apt -y install language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF8
(2)fcitx-mozc(日本語入力)のインストール
$ sudo apt install -y fcitx-mozc dbus-x11
$ sudo sh -c “dbus-uuidgen > /var/lib/dbus/machine-id”
8.デーモンの自動起動設定
fcitx自動起動設定
(1)profileの編集(fcitx用の環境変数等を追加)
$ sudo nano /etc/profile
#fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart > /dev/null 2>&1
xset -r 49 > /dev/null 2>&1
##
(2)xrdp自動起動設定(WSL2用)
$ sudo nano /etc/sudoers.d/my-auto-start
記述内容:
sudo ALL=NOPASSWD: /etc/init.d/xrdp
保存後、以下のコマンド実行
$ echo ‘sudo /etc/init.d/xrdp start > /dev/null 2>&1’ >> ~/.bashrc
8.ネットワークプリンタの追加
cupsの自動起動設定(WSL2用)
$ sudo nano /etc/sudoers.d/my-auto-start
記述内容:
sudo ALL=NOPASSWD: /etc/init.d/cups
保存後、以下のコマンド実行
$ echo ‘sudo /etc/init.d/cups start > /dev/null 2>&1’ >> ~/.bashrc
再起動後、設定 > printers > cups画面からネットワークプリンタのIPを入れて検索
表示されたらOK
9.LibreOfficeの導入
(1)Libreofficeサイトから日本語版(amd64.deb)をD/L
(2)解凍して一気にインストール
$ tar xvxz ~/Downloads/librexxxxxxxxxxxx.tar.gz
$ cd ~/Downloads/DEVS
$ sudo apt install ./*.deb
(3)日本語化
同じページにある、
・翻訳されたユーザーインターフェース: 日本語 (Torrent, 情報)
・オフラインで使えるヘルプ: 日本語 (Torrent, 情報)
をD/L、解凍してインストール
10.音を出す
Ubuntu側からtcpポートに出力、Windows側で待機しているpulsesudioに入力して再生します。
(1)Linux側
https://astherier.com/blog/2020/08/wsl2-Ubuntu-sound-setting/
①pulseaudioの再インストール
$ sudo apt remove –purge pulseaudio
$ sudo apt install pulseaudio
$ mv ~/.config/pulse ~/.config/new_pulse_conf
このあと再起動
②pulseaudio自動起動設定(WSL2用)
$ sudo nano /etc/sudoers.d/my-auto-start
記述内容:
sudo ALL=NOPASSWD: /etc/init.d/pulseaudio-enable-autospawn
保存後、以下のコマンド実行
$ echo ‘sudo /etc/init.d/pulseaudio-enable-autospawn start’ >> ~/.bashrc
③profileの編集(pulseserver用環境変数の追加:出力先をtcp portに設定)
$ sudo nano /etc/profile
記述内容:
#pulseaudio
export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk ‘{print $2}’)
##
④vlc playerインストール
$ sudo apt install vlc
(2)Windows側
①WindowsにPulseaudioをダウンロードしてインストールインストール
https://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/
②Pulseaudioの設定
C:\WSL\pulseaudio-1.1\etc\pulseを開きます。
i. default.paをテキストエディタで開いて変更
43行目の
load-module module-waveout sink_name=output source_name=input
を
load-module module-waveout sink_name=output source_name=input record=0
61行目の
#load-module module-native-protocol-tcp
を
load-module module-native-protocol-tcp auth-ip-acl=127.0.01;10.0.0.0/8;172.16.0.0/12;192.168.0.0/16
ii. daemon.confをテキストエディタで開いて変更
39行目の
; exit-idle-time = 20
を
exit-idle-time = -1
③Pulseaudioの起動
C:\ProgramFilesX86\PulseAudio-1.1\etc\pulse\pulseaudio.exeを実行
※初回はFirewallを許可
Desktop上でvlc playerを起動して再生できることを確認
※/mnt下にWindowsのドライブが表示され、その中に保存されているファイルを再生することが出来ます。
11.Thunderbirdのインストール
$ sudo apt install thunderbird
日本語化
$ sudo apt install thunderbird-locale-ja
※Remote Desktopで接続した際に、無応答(黒いDesktop)が表示されることがあります。WSL2側の問題なのかわかりませんが、
PCを再起動することでDesktopが表示されるようになります。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2024/2/1 追記
最新のWSL2+Ubuntuでは、Desktopアプリがそのまま動くようになりました。
こちらのサイトをご覧下さい。
Windows 11のWSL2環境でUbuntuデスクトップ環境を構築 – SEO対策の賢者 (wisenetwork.net)
呆気ないほど簡単にGUIアプリが動きます。
以上です。