ari23の研究ノート

メーカ勤務エンジニアの技術ブログです

VcXsrvのインストール方法

今回はXサーバであるVcXsrvのインストール方法をまとめます🐜

Xサーバ

Xサーバとは、X Window Systemとも言い、リモート先のLinuxマシンのGUIアプリを手元のPC(今回はWindowsを想定)で操作する際に必要となるものです。

私もこの辺りは詳しくないので、詳細はWikipediaや下記サイトなどを参照してください。

このXサーバのフリーウェアとして、以前まではXmingがよく使われていましたが、商用利用ができないライセンスになりました
以前はXming X Server for Windowsがよく使われていたのですが、個人利用でも商用利用でも有償となったため、あまり使われなくなりました。有償化する前の最後のバージョン(6.0.9.31)に関しては、バイナリが公開されていて無償で使うこともできますが、2007年と古い上に、VcXsrvと比べて描画が粗いです。特に理由もなければ、VcXsrvを使うのがよいと思います。1(詳細はこちらの最下部を参照)。

その代替として、商用利用できるVcXsrvが最近よく利用されています。今回はこちらのインストール方法を詳述します。

開発環境

開発環境(というか実行環境)は以下の通りです。

項目 内容
OS Windows 10 Enterprise 64bit
Version 21H1
リモート側 WSL2 Ubuntu 20.04.3 LTS

動作確認していませんが、Windows 10 Homeでも同じだと思います。

インストール方法

設定を含めると、VcXsrvのインストールと、リモート先.bashrcの編集が必要です。

VcXsrv

まず、VcXsrvの公式サイト(SourceForgeにあるこちらのサイトが公式のようです)に行き、「Download」をクリックします。

公式サイト
公式サイト

ダウンロードしたインストーラをダブルクリックします。

インストーラ
インストーラ

デフォルトのままフルパッケージを選択して、「Next」をクリックします。

パッケージ選択
パッケージ選択

インストール先はデフォルトのままで、「Install」をクリックします。

インストール先選択
インストール先選択

インストール中です。

インストール中
インストール中

インストールが完了したら、「Close」をクリックします。

インストール完了
インストール完了

インストールが終わると、デスクトップにショートカットが現れるので、これをダブルクリックします。

ショートカット
ショートカット

以降はVcXsrvの設定です。「Multiple windows」にチェックを入れ、「Display number」には「-1」として(つまりデフォルトのまま)、「次へ」をクリックします。

ディスプレイ設定
ディスプレイ設定

「Start no client」にチェックを入れて(これもデフォルトのまま)、「次へ」をクリックします。

クライアント設定
クライアント設定

こちらの設定では、すべての項目にチェックを入れて、「次へ」をクリックします。

追加設定
追加設定

「完了」をクリックします。
なお、ここまでの設定を保存したい場合は、「Save configuration」をクリックしてconfig.xlaunchを生成します。次回以降は、こちらのファイルをダブルクリックすることで、同じ設定でVcXsrvが実行できます。

設定完了
設定完了

最初の実行時は、以下のような警告が出ます。ユーザの環境に合わせて適切に設定すべきですが、とにかく動かしたいのであれば、すべての項目にチェックを入れることをおすすめします。2 設定したら、「アクセスを許可する」をクリックします。

セキュリティ許可
セキュリティ許可

すると、インジケータにアイコンが現れます。これでVcXsrvの設定は終了です。

インジケータ
インジケータ

.bashrc

/home/[ユーザ名]/にある.bashrcに、以下を追記してください。.bashrcがない場合は、ご自身で作成してください。

# VcXsvr
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0

作成した.bashrcを再読み込みします。Linuxの再起動でもOKです。

source ~/.bashrc

次に以下のコマンドを叩き、Xサーバを使うアプリをインストールします

sudo apt install x11-apps

x11インストール
x11インストール

以下のコマンドを叩き、Xeyesアプリが起動したら成功です。

xeyes &

マウスポインタを動かして遊んでみて下さい。

Xeyesアプリ
Xeyesアプリ

Windowsファイアウォール

上記手順であれば問題ないと思いますが、たまにエラーも出ずにGUIアプリが起動しない場合があります。そのときは、ファイアウォールの設定を見直しましょう。

スタートボタンなどから「Windowsの設定」を開いて、「ネットワークとインターネット」をクリックします。

Windowsの設定
Windowsの設定

下部にある「Windows ファイアウォール」をクリックします。

ネットワークとインターネット
ネットワークとインターネット

「詳細設定」をクリックします。

ファイアウォールとネットワーク保護
ファイアウォールとネットワーク保護

左上にある「受信の規則」をクリックします。

WindowsDefenderファイアウォール
WindowsDefenderファイアウォール

「VcXsrv windows xserver」という項目がいくつかあり(今回の例では2つ)、左端のマークが赤枠のものような項目をダブルクリックします。

受信の規則
受信の規則

「操作」の「接続を許可する」にチェックを入れて(「接続をブロックする」のチェックが外れる)、「OK」をクリックします。

VcXsrvプロパティ
VcXsrvプロパティ

下図のように左端のマークが変更することを確認します。

受信の規則設定後
受信の規則設定後

「VcXsrv windows xserver」の項目すべてを上記図のマークになるよう修正すれば、GUIアプリが起動します。

おわりに

新規PCのキッティング作業中に少しつまづいてしまったので、今回備忘録として書きました。

Windowsファイアウォールは意外とハマる点だと思うので、注意してください。

以上、参考になれば幸いです(^^)

参考文献

  • Running WSL GUI Apps on Windows 10
    この記事を書いている途中で、Microsoft公式サイトにVcXsrv設定方法があることに気が付きました。本記事の内容でもうまくいかないときは、ぜひこちらを参考にしてください。

  1. とてつもなくおかしな日本語を、ゆたかさんに指摘・校正を頂きました。一応公開前に何回も見直すんですが、やっぱり第三者によるレビューは重要だなと痛感しました。なお、修正後の文章は、ゆたかさんに頂いた案の通りにさせていただきました。本来なら自分の文章で直すべきなのですが、ゆたかさんにご指導いただいたのが嬉しくて、そのままにしたほうが記念にもなるなと思い、甘えさせていただきました。もちろん、ゆたかさんからご了承をいただいております。ゆたかさんの書籍は こちらです。

  2. 私の環境ではここの設定でうまく動かなかったので、全項目にチェックを入れました。