2017年7月22日土曜日

WindowsでUnix用GUIツールを実行する方法

How to run Unix GUI applications on Windows 10

Windows10 で動作する Windows Subsystem for Linux がX-Windowsで動作するGUIツールの実行が可能とのことなので、Unix用GUIツールの xeyes をWindowsで動作させてみました。
xeyesはマウスポインターの位置に目を向けるすだけのアプリで役に立つものではありませんが、GUIツールをソースからインストールできる環境を構築するためにインストールしてみました。
以下がその記録です。
blog.fujiu.jp WindowsにUnix用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を再起動するとインストールされます。

Windows Subsystem for Linux はスタートメニューに登録されません。
コマンドプロンプトや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で動く:ITpro
http://itpro.nikkeibp.co.jp/atcl/column/17/062700262/070400004 /


関連ブログ

[Machine Learning] 機械学習で白黒写真をカラー化する方法
bashスクリプトの変数のスコープにはまったところと対処方法

0 件のコメント:

コメントを投稿