2016年11月7日月曜日

Bash on Ubuntu on Windows + XサーバでLXDEを起動

Bash on Ubuntu on Windowsでは公式にGUIはサポートされていませんが、X11はC/SシステムなのでWindows側にXサーバを用意することでGUIを表示することができます。

Xサーバのインストール
よく使われるのがXmingですが、更新が2007年で止まっているので避けます。
MobaXtermも人気ですが、無料版は機能が限定されていること、Xサーバの機能だけ欲しいのでこれも避けます。
vcXsrvが頻繁に更新されており、x64バイナリもあるのでこれを使用します。

vcXsrvをインストールし、起動しておきます。
Start→VcXsrv→XLaunch
Fullscreenを選択します。

Multiple windows はアプリケーションごとに単独のウインドウが開きます。Firefoxなど、単体のアプリケーションを表示させたいときはこれを選択します。
One large window はウインドウ内に画面全体を表示しますが、LXDEだと正常に表示されません。
One window without titlebar はWindowsのタスクバーが表示されるFullscreenで、これもLXDEだと正常に表示されません。

Bash on Ubuntu on Windows側

LXDEのインストール
$ sudo apt-get install lxde
Xorg、LXDEがインストールされます。

日本語環境では文字化けするので日本語フォントを入れておきます。
$ sudo apt-get install fonts-noto-cjk fonts-noto-hinted

環境変数でXサーバを指定
$ export DISPLAY=localhost:0.0

環境変数は保存されないのでBash on Windowsの起動ごとに入力する必要があります。面倒なら/etc/bash.bashrcに書き込んでおきます。

LXDEを起動
$ lxsession


あっさり動きました。仮想マシンで動いているわけではないので非常に高速です。


Firefoxなどの単体のアプリケーションのみ起動したい場合は、vcXsrvをMultiple windowsで起動しなおして、
$ firefox &
で単一ウインドウで起動することができます。


2 件のコメント:

  1. 私も、WSLを入れて、VcXrsvも入れて、chromiumをインストールしてみたんですが、Youtubeに行っても音が出ません。
    音の出し方知っておられますでしょうか?

    返信削除
    返信
    1. Xプロトコルはサウンドを取り扱いません。
      Windows側にサウンドサーバを用意し、出力先に指定することでサウンドの出力が可能です。

      削除