How to run Unix GUI applications on Windows 10
Windows10 で動作する Windows Subsystem for Linux がX-Windowsで動作するGUIツールの実行が可能とのことなので、Unix用GUIツールの xeyes をWindowsで動作させてみました。xeyesはマウスポインターの位置に目を向けるすだけのアプリで役に立つものではありませんが、GUIツールをソースからインストールできる環境を構築するためにインストールしてみました。
以下がその記録です。
環境
- Windows 10 Creators Update
開発者モードに設定する
Windows Subsystem for Linux を利用するには開発者モードに設定する必要があります。コントロールパネル - 更新とセキュリティ - 開発者向け
を開いて開発者モードに設定します。
Windows Subsystem for Linux をセットアップする
Windows Subsystem for Linux は初期状態ではインストールされていません。コントロールパネル - アプリと機能 - プログラムと機能 - Windowsの機能の有効かまたは無効化
を開いて
Windows Subsystem for Linux (Beta) にチェックを入れてOKをクリックしてWindowsを再起動するとインストールされます。
コマンドプロンプトやPowerShellのコンソールから bash と入力すると初回のみインストールと初期設定が実行され、以降はbashが起動します。
Windows Subsystem for Linux の操作はこのbashから行います。
VcXsrv Windows X Server をインストールする
WindowsでUnix用GUIツールを動作させるために VcXsrv Windows X Server が必要です。VcXsrv Windows X Server のインストーラーをダウンロードしてインストールします。
https://sourceforge.net/projects/vcxsrv/
インストール後、スタートメニューから VcXsrv が起動できます。
初回のみファイアウォールのアクセスの許可をします。
VcXsrvを停止する場合はタスクトレイに常駐する VcXsrv のアイコンから操作できます。
環境変数を設定する
bash を起動し次のコマンドを入力して環境変数を有効にします。このコマンドはGUIツールをWindows X Serverに表示するためにbashを起動する毎に必要な設定です。
~/.bashrc にコマンドを追記すれば毎回入力する手間が省けます。
必要なツールをインストールする
GUIツールに必要なツールをインストールするため bash に次のコマンドを入力します。xeyesはx11-appsに含まれているのでこれでxeyesは実行できます。
しかし、今回はLinux開発環境の構築のためソースからインストールすることを試みます。
xeyesをソースからインストールする場合は次のインストールも必要でした。
xeyes をインストールする
xeyes をソースからインストールする場合のコマンドを実行します。インストールした xeyes を起動する
ソースからインストールしたxeyesは /usr/local/bin にインストールされます。起動するにはbash に次のコマンドを入力します。
Windows Subsystem for Linux を使ったのはこれが初めてですがCygwinが不要になる可能性を秘めてそうです。
トラブルシューティング
bashを起動すると この機能を使用するためには開発者モードを有効にする必要があります と表示される
Windowsを開発者モードに設定してください。xeyes と入力すると Error: Can't open display: :0 と表示され起動しない
VcXsrv を起動してから実行してください。参考にしたコンテンツ
どう使う?Windows版Linux - 「WindowsでX」、定番GUIがWindows版Linuxで動く:ITprohttp://itpro.nikkeibp.co.jp/atcl/column/17/062700262/070400004 /
関連ブログ
[Machine Learning] 機械学習で白黒写真をカラー化する方法bashスクリプトの変数のスコープにはまったところと対処方法