はじめに
GNOMEデスクトップをWindowsのいちウィンドウとして動かす方法を WSLgでUbuntu24.04のGNOMEデスクトップを動かす – パソコン鳥のブログ で紹介しました。
本記事では、WSL上のUbuntuへリモートデスクトップ接続することによって、GNOMEデスクトップ画面を表示する方法を説明します。
リモートデスクトップ接続では、WindowsのいちウィンドウとしてGNOMEデスクトップを表示する際に出来なかった、フルスクリーン表示ができるようになります。
なお、本記事での設定で、リモートデスクトップ接続でも、GNOMEデスクトップをWindowsのいちウィンドウとして動かす方法、どちらも利用できるようになります。
設定
次の記事の内容で、GNOMEデスクトップをWindowsのいちウィンドウとして動かす方法を説明しています。
まず、その設定を行ってください。
WSLgでUbuntu24.04のGNOMEデスクトップを動かす – パソコン鳥のブログ
上記の設定が終わったら、次を実行して、xrdp をインストール・設定します。
sudo apt update
sudo apt -y install xrdp
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm3/custom.conf
sudo systemctl enable xrdp
sudo systemctl restart xrdp
~/exec_Xsession.sh の先頭に次の行を追加します。
/mnt/c/Windows/System32/wsl.exe -d $WSL_DISTRO_NAME -u root -- killall gnome-remote-desktop-daemon 2>/dev/null
/mnt/c/Windows/System32/wsl.exe -d $WSL_DISTRO_NAME -u root -- killall gnome-session-binary 2>/dev/null
~/exec_Xsession.sh の最後に次の行を追加します
systemctl --user stop clipboard-sync
~/clipboard-sync.sh を次の内容で作成します。
#!/bin/sh
if [ -z "${XRDP_SOCKET_PATH}" ]; then
systemctl --user start clipboard-sync
fi
実行権を付けます。
chmod +x ~/clipboard-sync.sh
次を実行します。
gnome-session-properties
次のような一覧が出るので、WSLgでUbuntu24.04のGNOMEデスクトップを動かす – パソコン鳥のブログ の「Windowsとのクリップボード連携(テキストのコピー・ペースト)」の手順で追加した項目を選択して Remove を押します。
特に確認も出ず、一覧から消えます。
どれを Remove すべきかがわからない場合は、項目を選択して [Edit] を押して出た画面で、Command: が systemctl –user enable –now clipboard-sync となっている項目です。
続けて、[Add] を押します。
次の画面の Command の箇所で、[Browse…]ボタンを押し、先ほど作成した clipboard-sync.sh を指定します。
なお、直接入力する場合は、~/clipboard-sync.sh とせずに /home/user/clipboard-sync.sh のようにフルパスで指定してください。
Name , Comment の箇所は任意の内容を入力し、[Add]ボタンを押します。
元の画面に戻るので、[Close]を押します。
次のコマンドを実行します。
systemctl --user disable clipboard-sync
WSLのターミナルから exit します。
Windowsのコマンドプロンプトで、次を実行します。
wsl.exe -t Ubuntu-24.04
これで設定は完了です。
接続方法
Windowsのスタートメニューから Ubuntu を起動します。
次にWindowsのスタートメニューの「Windows アクセサリ」から、「リモート デスクトップ接続」を起動します。
“コンピューター” の箇所に localhost:3390 と入れて、[接続] を押します。
この時 127.0.0.1:3390 と入れた場合は、リモートデスクトップで接続できないので注意してください。
次のような画面が出るので、Ubuntu のユーザー名とパスワードを入れて、[OK] を押します。
すると、WSL上の Ubuntu に接続できます。
Winodwsとのクリップボード共有で、Windows-WSL上のUbuntu間でテキストやファイルのコピー・ペーストを行いたい場合は、リモートデスクトップ接続時に、下の画面で[オプションの表示]を押します。
タブが出てくるので、”ローカルリソース” を選択します。
“クリップボード” にチェックを入れ、[接続] を押します。これで、Windows-WSL上のUbuntu間でテキストやファイルのコピー・ペーストができます。
トラブルシューティング
リモートデスクトップ接続で Oh no! Something has gone wrong になる
リモートデスクトップ接続後に、次の画面になる場合です。
[Log Out] を押すとしばらくしてリモートデスクトップの画面が閉じられます。
その後、WSLのターミナルから exit し、Windowsのコマンドプロンプトで次を実行してください。
wsl --shutdown
再度 Ubuntu を起動した後に、リモートデスクトップ接続してみてください。
リモートデスクトップしても画面が真っ暗なままになる
WSLgでUbuntu24.04のGNOMEデスクトップを動かす – パソコン鳥のブログ で設定した exec_Xsession.sh でGNOMEデスクトップを表示している場合は、そのウィンドウを閉じた後にリモートデスクトップ接続してください。
画面が見えるようになります。
exec_Xsession.sh 実行でGNOMEデスクトップが出ない
exec_Xsession.sh 実行でGNOMEデスクトップが出なかったり、exec_Xsession.sh がすぐ終了してしまう場合は、リモートデスクトップでWSL上のUbuntuに接続していないか確認してください。
接続していた場合は、リモートデスクトップを終了後に、exec_Xsession.sh を実行してください。
それでもダメな場合は、WSLのターミナルから exit し、Windowsのコマンドプロンプトで次を実行してください。
wsl --shutdown
再度 Ubuntu を起動した後に、exec_Xsession.sh を実行してみてください。
参考
WSL2を使ってWindowsにUbuntu Desktopをインストールする | フジミヤログ
【Ubuntu24.04】Windows10からRDPでUbuntuに接続する – 思考実験とD.I.Y.
コメント