27 April 2018

WSL (Windows Subsystem for Linux) のインストールからGUI版プログラムを利用するまで

WSL (Windows Subsystem for Linux) でGUI版のテキストエディタやターミナルを使えれば便利なので、Windows 10側にX Serverをインストールして試してみた。

WSL (Windows Subsystem for Linux)版Ubuntuのインストール

以前より利用していた「Bash on Windows」を完全にアンインストールしてから、最新版の「Windows Subsystem for Linux」をインストールする必要がある。

コマンドラインからアンインストールを行う。

lxrun /uninstall /full

WSL (Windows Subsystem for Linux)版Ubuntuと干渉するソフトのアンインストール

Ext2Fsd(Ext2 File System Driver for Windows)がインストールされていると、起動時にWindowsが「お待ちください」のまま無限ループに陥るので、このソフトウエアも同時にアンインストールしておく。

無限ループに陥ってから、セーフモードで起動し、一つづつソフトウエアを外していくこともできるが…

時間と手間を無駄にしました…

WSL (Windows Subsystem for Linux)版Ubuntuのインストール

Microsoft Storeよりインストールすると、スタートメニューに自動登録されるので便利。 または、以前からのように次のごとくインストールしてもよい。

lxrun /install

インストール後は、Ubuntuのターミナルを起動して、必要な初期設定を行う。

・ aptリポジトリ/etc/apt/sources.listを日本のサーバに切り替える。 ミラーサイトの一覧はUbuntu Japanese Teamの日本国内のダウンロードサイトより入手できる。

sudo sed -i.bak -e "s%http://archive.ubuntu.com/ubuntu/%http://ftp.iij.ad.jp/pub/linux/ubuntu/archive/%g" /etc/apt/sources.list

リポジトリ変更後、システムのアップデートが目に見えて早くなります…

sudo apt-get update
sudo apt-get upgrade

日本語環境の整備

IPA日本語フォント(ゴシック、明朝)のインストール (約28.8MBytes)

sudo apt-get install fonts-ipafont

日本語パックのインストール(14.8MBytes)と、ロケールを日本語に変更

sudo apt-get install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8

日本語版のmanページをインストール(3.5MBytes)

sudo apt-get install manpages-ja

ここでいったんWSLをログアウトし(exitコマンド実行)、再度開いてから

タイムゾーンを日本(東京)に切り替え

sudo dpkg-reconfigure tzdata

セットアップ直後の英語環境での表示

$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
 
$ date
Thu May  3 20:23:56 DST 2018
 
$ man ls
LS(1)                                     User Commands                                     LS(1)
 
NAME
       ls - list directory contents
 
SYNOPSIS
       ls [OPTION]... [FILE]...
 
DESCRIPTION
       List  information about the FILEs (the current directory by default).  Sort entries alpha‐
       betically if none of -cftuvSUX nor --sort is specified.

日本語環境に切り替われば次のように表示される。

$ locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
 
$ date
2018年  5月  3日 木曜日 20:30:16 JST
 
$ man ls
LS(1)                                    ユーザーコマンド                                   LS(1)
 
名前
       ls - ディレクトリの内容をリスト表示する
 
書式
       ls [オプション]... [ファイル]...
 
説明
       FILE   に関する情報を一覧表示します  (デフォルトは現在のディレクトリ)。  -cftuvSUX  または
       --sort が指定されない限り、要素はアルファベット順で並べ替えられます。

Windows版X ServerのVcXsrvをインストールする

SourceforgeのVcXsrv Windows X Serverの公式ページから、最新版をインストールする。この記事の時点では、Version 1.19.6.4 が最新版。

インストールしたら、GUI版のLinuxソフトウエアを起動する前に、Windows内でVcXsrvを起動しておく。

GUI版アプリケーション

bashターミナルからGUIアプリを起動するときは、毎回次のように環境変数を指定しつつ起動するか

$ DISPLAY=localhost:0.0 lxterminal

あるいは、~/.bashrcに環境変数を記述する。

軽量なものとして、次のようなアプリをインストールした

・ lxterminal - ターミナル (22.5MBytes)

・ lxtask - タスクマネージャー (0.06MBytes)

・ leafpad - テキスト エディタ (0.7MBytes)

・ geany - テキスト エディタ (10.8MBytes)

・ gftp - sftpクライアント (0.7MBytes)

日本語IMEのインストール

21MBytesほどのuim-anthyパッケージをインストールする

sudo apt-get install uim-anthy uim-fep uim-xim

.bashrc に次の設定を追加する

~/.bashrc
# GUI application connect to VcXsrv
export DISPLAY=localhost:0.0
 
# 日本語変換 UIM の設定
export XMODIFIERS=@im=uim
export XIM=uim
export QT_IM_MODULE=uim
export UIM_CANDWIN_PROG=uim-candwin-qt
 
if [ $SHLVL -eq 1 ]; then
  uim-xim &
fi

また、uim設定ファイルを新規作成する

~/.uim
(define default-im-name 'anthy)
(define-key generic-on-key? '("Henkan_Mode" "zenkaku-hankaku" "<Control> " "<Control>\\"))
(define-key generic-off-key? '("Muhenkan" "zenkaku-hankaku" "<Control> " "<Control>\\"))

WSL版Ubuntuのシステム設定画面

Windows 10の「設定」 - 「アプリと機能」 - 「Ununtu 項目」内の 「詳細オプション」 より、次のような設定画面を開くことができる。

アンインストールしなくても、設定をリセットできたりするようだ。

20180427-wsl-ubuntu-config.jpg

開発環境のインストール

必要最低限のパッケージ build-essential をインストールする。容量は144MBytes … とかなり大きいが、開発環境を使うためだけに WSL をセットアップしているので仕方がない

sudo apt-get install build-essential