(四訂版) GPD PokcetでWindows Subsystem for Linuxを運用する

f:id:nobu_macsuzuki:20171022192616j:plain
GPD PocketでLinux運用することを諦められない筆者。
VirtualBoxも試したのだが、eMMCが遅いせいかイマイチもっさり。
いっそUbuntuにreimageしようかと考えあぐねていた。
・・・Windows 10ならWindows Subsystem for Linux(WSL)があるじゃない!ということで、さっそく試してみた。

"コントロールパネル" -> "プログラムと機能" -> "Windowsの機能の有効化または無効化"を開く。
中に"Windows Subsystem for Linux"があるので、チェックしてOKを押す。
機能が導入された後に再起動を促されるので、従う。

  • 開発者モードを有効化

"設定" -> "更新とセキュリティ" -> "開発者向け"で"開発者モード"を有効にする。
(20180909改定)

  • Ubuntをストアからインストールする

"スタートメニュー"から、"Microsoft Store"を開き、Ubuntuをインストールする。
インストール後に"開く"を選ぶか、"スタートメニュー" -> "Ubuntu"を選択するかして、起動する。
Ubuntuのインストールとlinux用の仮想ドライブが導入される。
終わると、一度だけユーザー名とパスワードの設定が要求されるので、設定する。

(20201106 WSL2対応)
もしUbuntuのインストール中に

WslRegisterDistribution failed with error: 0x80370109

というエラーがでて先に進まなくなったら、Linuxカーネル更新パッケージをインストールする。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi



こいつ動くぞ!
もう普通にlinuxが動く。
まずは、

sudo apt-get update
sudo apt-get upgrade

をしてすべてのモジュールの更新をする。
ログインディレクトリーは、ユーザディレクトリー(/home/(上記で設定したユーザ名))になっている。
Windowsのユーザフォルダーは、こちら(/mnt/c/User/(Windowsのユーザ名))。


さてこれだけでもコンソール開発なら十分だ。
でも贅沢になれてしまった人は、GUI環境が必要だろう。
Windows側にX serverを導入すれば、GUIも使用できる。

  • VcXservを導入する

ここからダウンロードして導入する。
(20201106 WSL2対応)
インストールが終わるとデスクトップに"XLaunch"という設定アプリのショーカットがあるのでこれを開いて、"Additional parameter for VcXserv"に

-ac -xkbmodel pc105 -xkblayout us

を入力して、この設定をセーブする。
以降は、セーブした設定ファイルを開くことでVcXservを起動すれば、AX105キーボードにまつわる問題は解決できる。
これをしておかないと、VcXservはWindowsの設定言語にキーボード設定を合わせてしまう様で、英語キーボードでは特殊キーが化けまくる。
(注記: これはWindowsの設定言語が日本語で、かつ日本語キーボードを使用していればいらないはずだ)
今後はUbuntuを起動したら、VcXservを起動しておく。

  • Xクライアントの設定

(20201106 WSL2対応)
viなどで~/.bashrcを開き、行末に以下を追加
(WSL)

export DISPLAY=localhost:0.0

(WSL2)

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0

終わったら

source ~/.bashrc

して有効にする。

(20180909改定)

  • xfceをインストールする
sudo apt-get install xfce4

インストールをしたら

xfce4-session

おお!ななんとなんと、Windows 10上で普通にxfceが起動する、xtermも動く、ウゴウゴ動く!

  • linuxに必要なツールをインストールする

コンソールからでも、xfce上でxtermを開いてでもOK。

sudo apt-get build-essential
sudo apt-get libgtk2.0-dev

これでGTK+の開発もできる、バキバキの環境が出来上がった。
asin:B073FVGP5Z:detail