248
251

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2+ubuntu20.04: GUI化して使う方法

Last updated at Posted at 2020-07-29

WSL2+ubuntu20.04: どうやってGUI化するか

WSL2+ubuntu20.04環境がかなり良い。仮想環境よりずっと速い。
しかしCLI。…なのでGUI化したいと思って、ここQiitaやその他でもそのやり方をいろいろ拝見しましたがうまくいかず。

結局、べつの方法でなんとかした。

結論としてはXRDPを使う

VcXsrvやX410とかDISPLAY環境変数の設定とかいらないからとても簡単。これでよいのでは?

では手順を述べていきます。

WSLの設定

WSL2の有効化

PowerShellを管理者権限で立ち上げて以下のコマンド。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

WSL2のアップグレード

https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel
へ行って、「download the latest WSL2 Linux kernel 」からwsl_update_x64.msiをダウンロード、インストールする。

image.png

WSLのバージョンのデフォルトをWSL2にする。

wsl --set-default-version 2

確認コマンド

PS C:\Users\atyah> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

ubuntuの設定

Microsoft Storeからubuntu20.04をインストール

Microsoft Storeでubuntu20.04を選んで
image.png

インストールする。
image.png

終わったら起動ボタンで起動。
image.png


ubuntuにXRDPをインストール

ubuntu20.04 on WSL2で以下のコマンド:

sudo apt update && sudo apt -y upgrade
sudo apt -y install xfce4
sudo apt-get install xrdp

インストール途中の以下のウィザードではgdm3を選ぶ。
image.png

xrdp.iniを編集

xrdp.iniファイルのデフォルトポート番号などを変更する。

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

port番号をデフォルトの3389から変更するのは以下のエラーが出てしまうから。どうもWSLで使ってるようだ。

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


startwm.shを編集

sudo vim /etc/xrdp/startwm.sh

最後の2行をコメントアウトする。
そして、末尾に
startxfce4
を追記する。

#!/bin/sh
# xrdp X session start script (c) 2015, 2017 mirabilos
# published under The MirOS Licence

if test -r /etc/profile; then
        . /etc/profile
fi

if test -r /etc/default/locale; then
        . /etc/default/locale
        test -z "${LANG+x}" || export LANG
        test -z "${LANGUAGE+x}" || export LANGUAGE
        test -z "${LC_ADDRESS+x}" || export LC_ADDRESS
        test -z "${LC_ALL+x}" || export LC_ALL
        test -z "${LC_COLLATE+x}" || export LC_COLLATE
        test -z "${LC_CTYPE+x}" || export LC_CTYPE
        test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION
        test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT
        test -z "${LC_MESSAGES+x}" || export LC_MESSAGES
        test -z "${LC_MONETARY+x}" || export LC_MONETARY
        test -z "${LC_NAME+x}" || export LC_NAME
        test -z "${LC_NUMERIC+x}" || export LC_NUMERIC
        test -z "${LC_PAPER+x}" || export LC_PAPER
        test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE
        test -z "${LC_TIME+x}" || export LC_TIME
        test -z "${LOCPATH+x}" || export LOCPATH
fi

if test -r /etc/profile; then
        . /etc/profile
fi

# コメントアウト # test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# コメントアウト # exec /bin/sh /etc/X11/Xsession

# xfce
startxfce4

RDPでWindowsから接続

ubuntuでXRDPを立ち上げ

sudo /etc/init.d/xrdp start

* Starting Remote Desktop Protocol server
てなる。

※ この後もしかしたらWSL2の再起動も必要かもしれない。
Powershellで再起動コマンド↓

wsl --shutdown

RDPで接続

localhost:3390に接続。
image.png

image.png

ubuntuにFirefoxのインストール

RDP接続できたら、Firefoxをインストール(しないとデフォルトブラウザを立ち上げようとしてもエラー)。

sudo apt install firefox -y

OK。
image.png

以上です。

本の宣伝

Gatsbyバージョン5>>>>改訂2版

前編の『Gatsby5前編ー最新Gatsbyでつくるコーポレートサイト』と後編の『Gatsby5後編ー最新GatsbyとmicroCMSでつくるコーポレートサイト《サイト内検索機能付き》』を合わせ、次のようなデモサイトを構築します。
https://yah-space.work


静的サイトジェネレーターGatsby最新バージョン5の基本とFile System Route APIを使用して動的にページを生成する方法を解説。またバージョン5の新機能《Slicy API》《Script API》《Head API》を紹介、実装方法も。《Gatsby Functions》での問い合わせフォーム実装やGatsby Cloudへのアップロード方法も!


Gatsby5前編ー最新Gatsbyでつくるコーポレートサイト ~基礎の基礎から応用、新機能の導入まで(書籍2,980円)



最新Gatsby5とmicroCMSを組み合わせてのコーポレートサイト作成手順を解説。《サイト内検索機能》をGatsbyバージョン4からの新機能《Gatsby Functions》と《microCMSのqパラメータ》で実装。また、SEOコンポーネントをカスタマイズしてmicroCMS APIをツイッターカードに表示させるOGPタグ実装方法も解説。


Gatsby5後編ー最新GatsbyとmicroCMSでつくるコーポレートサイト《サイト内検索機能付き》(書籍 2,790円)


248
251
9

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
248
251

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?