WSL で gnome-terminal を動かすお話

はじめに

トムヤムクンが食べたくてしかたながいひさぎです。

数日まえに Fall Creators Update(FCU) が降ってきたので、早速アップデートしてみました。

FCU では、WSL が強化されるのと、Windows Store 経由で UbuntuOpenSUSE がインストールできるようになります。 Creators Update では、lxrun コマンド経由で Ubuntu のインストール/アンインストールとなっていました。

早速、Store 経由で Ubuntu をインストールするために、lxrun で Ubuntu をアンインストールして、Store から Ubuntu をインストールしてみました。

で、スタートメニューから Ubuntu をクリックすると Bash が起動します。

しかし!しかしですよ!標準で付いているターミナルがイケていない!ただの cmd.exe のようなので仕方ないですよね。

ということで、X サーバをインストールして、gnome-terminal を使うことにしました。

今回はこれのやり方を忘備録代わりにまとめておこうと思います。

Vcxsrv のインストール

sourceforge.net

👆から、Vcxsrv をダウンロードして、インストールしてください。

.bash_profile に X サーバを指定

.bash_profile に以下を追記してください。

export DISPLAY=localhost:0

で、Ubuntu を起動し直します。

gnome-terminal をインストール

以下のコマンドで、gnome-terminal をインストールしてください。

インストールされるパッケージが多いためダウンロードとインストールを別にやりました。 途中でこけるとめんどくさいですからね(笑)

sudo apt update
# パッケージのダウンロード
sudo apt install -y -d gnome-terminal

# パッケージのインストール
sudo apt install -y gnome-terminal

machine-id を登録

gnome-terminal をインストールするだけでは、残念ながら以下のエラーによりつかえません(´・ω・`)

$ gnome-terminal
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
process 4176: D-Bus library appears to be incorrectly set up; failed to read machine uuid: UUID file '/etc/machine-id' should contain a hex string of length 32, not length 0, with no other text
See the manual page for dbus-uuidgen to correct this issue.
Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error spawning command line 'dbus-launch --autolaunch= --binary-syntax --close-stderr': Child process exited with code 1

なので、machine-id を入れます。

dbus-uuidgen |sudo tee /etc/machine-id

gnome-terminal を起動

gnome-terminal って打つと実行できます。

おわりに

あとは、自由にカスタマイズです!

私は、gnome-terminal の theme として zenburn を愛用しています。

以下のリポジトリを clone してインストール・・・というのは、README を見てもらえれば~

github.com