WSL上のLinuxでGUIを動かす方法

takahashi 著者:takahashi

WSL上のLinuxでGUIを動かす方法

Windows上でLinux環境を動作させることができるWSLですが、実はGUI環境もインストールできることはご存知でしょうか。

今回はUbuntu・KaliLinuxにデスクトップ環境の一つであるXFceをインストールする方法をご紹介します。

まず、デスクトップ環境を起動する予定のあるユーザーの

~/.bashrc

ファイルをviなどで開き、ファイルの先頭に下記のように追記します。

export DISPLAY=:0.0 #display番号
export LIBGL_ALWAYS_INDIRECT=1

次に、必要なパッケージをインストールします。下記のコマンドを一行ずつ実行します。
なお、実際にパッケージをすべてインストールしたところ、2GB前後消費したので、PCに十分な空き容量があるかあらかじめチェックしておいてください。

sudo apt update
sudo apt upgrade
sudo apt install xfce4-terminal #Xfce4上で動作するターミナルアプリ
sudo apt install xfce4 #xfce4本体
sudo apt install fonts-takao #日本語用フォント(これがないと文字化けする)

インストール中に言語をどうするか聞かれるので、”日本語”を選択します。

インストールが完了すれば、Linux側の最低限のセットアップは完了です。

次にWindows上でLinuxのGUIが表示できるように準備します。

LinuxOSのGUIをWindowsで動作させるためにはWindows上で動作する”Xサーバー”が必要になるのでインストールします。

Windows用のXサーバーアプリはいくつかあるようなのですが、僕は”Xming”を使用しました。

Xming X Server for Windows – OSDN

リンク先ページのダウンロード一覧から

Xming-X-X-X-X-setup.exe

のような名前になっているファイルをダウンロードし、インストールします。

インストールが完了したら、”XLaunch” アプリを起動します。

赤枠の”One window”を選択し、Display numberを先程~/.bashrcに指定したdisplay番号と同じ番号(例: “0.0”なら0、”1.0″なら1)に合わせます。

以降の設定は最後の画面まで何も変更せずに”次へ”をクリックします。

上のような、最後の画面になったら、Save configurationをクリックすると、ここまでの設定内容をファイルに保存しておくことができ、次回以降はファイルを開くだけで設定した内容でXサーバーを起動できます。

configurationファイルの保存が完了したら、Xmingがすでに起動していないのを確認した上で”完了”をクリックします。

下の画像のような画面が表示されたら、準備完了です。

この状態で、Windows上からWSLのコンソールを開き、下記のコマンドを実行します。

startxfce4

すると、先程Xlaunchで起動したウインドウにXfceの画面が表示されます!

一見、見た目はかなり綺麗にでていて驚きました。

Windows上でLinuxがVMを通さずに動いているのを目の当たりしてしまうと、なかなか不思議な感覚になりますねw

ただし、完全に動作できるかというとまだまだ不具合もあるようで、なぜかChrome系のブラウザが起動できなかったり、ダブルクリックでファイルが開けなかったりなどの不具合があるようです。

これらについては今回参考にさせていただいた記事に緩和策も紹介されていましたが、完全には解決することはできないようです。

しかし次のWindows10 の大型アップデート(20H1) で、WSL2が搭載され、”本物”のLinuxカーネルが利用できるようになるとのことだったので、もしかするとこういった問題も解消するかもしれません。

Windows上でGUIも動かせるとなれば、余分なリソースを消費して仮想マシン上にLinuxをインストールすることなくほぼ実物に近いLinux環境をWindows上で動かせるということになり、開発もかなりしやすくなりそうですし、デュアルブートも必要なくなってくるかもしれませんね。

今後の展開が楽しみです。

参考: WSLでwindows上にLinuxのGUI環境を作る[メモ] – Qiita

  • この記事いいね! (0)

著者について

takahashi

takahashi administrator

Webエンジニア。 趣味で自宅サーバーを稼働中。 ファンタジーが好き。