Closed1
WSL2 + Ubuntu (20.04) + ubuntu-desktop
今回使用したもの | バージョン |
---|---|
Windows10 Pro | 21H1 (OSビルド19043. 928) |
Windows Subsystem for Linux | WSL2 |
Ubuntu | 20.04 LTS |
ubuntu-desktop | GNOME 3.36.8 |
XRDP | 0.9.12 |
Windows Terminal | Preview 1.8.1032.0 |
WSLのセットアップ
WSLの有効化
"スタート" → "設定" → "アプリ" → "プログラムと機能"
"Windowsの機能の有効化または無効化" → "Linux 用 Windows サブシステム"をチェック → "OK"ボタンを押して終了
PC を再起動
仮想マシンプラットフォームの有効化
PCが仮想化に対応しているか確認
PowerShell を管理者として起動し、以下のコマンドを実行
> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
PC を再起動
WSL2の有効化
Linux カーネル更新プログラム パッケージをダウンロードし、インストール
PowerShell を管理者として起動し、以下のコマンドを実行
> wsl --set-default-version 2
PC を再起動
WSLディストリビューションのセットアップ
Ubuntuのインストール
Microsoft Store から Ubuntu をインストール
Ubuntu を起動してユーザー名とパスワードを設定
Ubuntuの保存場所の移動
WSLのシャットダウン
PowerShell を起動し以下のコマンドを実行
> wsl --shutdown
移動先ディレクトリのセットアップ
移動先ディレクトリを作成
> D:
> mkdir wsl
アクセス権限を付与
> icacls D:\wsl /t /grant $env:USERNAME":(OI)(CI)(F)"
Ubuntuの移動
> LxRunOffline.exe move -n Ubuntu -d D:\wsl\ubuntu
Ubuntuパッケージの更新
PowerShell上でUbuntuを起動し以下のコマンドを実行
> wsl ~ -d Ubuntu-20.04
$ sudo apt update && sudo apt -y upgrade
GUI環境の構築
systemdの有効化
.NETランタイムのインストール
$ wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
wsl-translinuxリポジトリを追加
apt-transport-httpsをインストール
$ sudo apt install apt-transport-https
リポジトリのキーを取得
$ sudo wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg
$ sudo chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
リポジトリを追加
/etc/apt/sources.list.d/wsl-transdebian.list
deb https://arkane-systems.github.io/wsl-transdebian/apt/ focal main
deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ focal main
パッケージの更新
$ sudo apt update && sudo apt -y upgrade
genieのインストールと実行
$ sudo apt install systemd-genie
$ genie -s
genie のタイムアウトの原因サービスを確認し、そのサービスを無効化
$ sudo systemctl --failed
$ sudo systemctl mask systemd-remount-fs.service
$ sudo systemctl disable multipathd.socket
$ sudo systemctl disable getty@tty1.service
一旦、Ubuntu をログアウトし、WSL をシャットダウン
$ logout
$ logout
> wsl --shutdown
Windows Terminal の Ubuntu のコマンドラインの設定
setting.json
"commandline": "wsl.exe ~ -d Ubuntu -- genie -s"
Ubuntu を起動し、PID = 0 で systemd が動作していることを確認
$ ps aux
USER PID ・・・ COMMAND
root 1 ・・・ systemd
デスクトップ環境のインストール
$ sudo apt install ubuntu-desktop
RDPサーバーのインストールとセットアップ
$ sudo apt install xrdp
$ 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
XRDPでUbuntuに接続
WSLのシャットダウン
Windows Terminalから、Ubuntuを起動
Windowsで"リモートデスクトップ接続"を起動
"localhost::3390" で接続
Ubuntuにログイン
その他のセットアップ
日本語化
言語パックのインストール
$ sudo apt install language-pack-ja
$ loacale -a
C
C.UTF-8
POSIX
en_US.utf8
ja_JP.utf8
タイムゾーンの変更
$ sudo dpkg-reconfigure tzdata
インプット・メソッドのインストール
$ sudo apt purge ibus
$ sudo apt install fcitx-mozc
WSLを再起動
時刻同期
ntpのインストール
$ sudo apt install ntp
ntpの設定
/etc/ntp.conf
# pool 0.ubuntu.pool.ntp.org iburst
# pool 1.ubuntu.pool.ntp.org iburst
# pool 2.ubuntu.pool.ntp.org iburst
# pool 3.ubuntu.pool.ntp.org iburst
server ntp.nict.jp iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst
ntpの有効化
$ sudo systemctl enable ntp
このスクラップは2021/05/15にクローズされました