CUBE SUGAR CONTAINER

技術系のこと書きます。

Vagrant の仮想マシンで X Window System のアプリケーションを使う

今回は Vagrant の仮想マシンで X Window System のアプリケーションを使う方法について。 これには、ローカルのマシンに X Server をインストールした上で、X11 Forwarding する必要がある。

使った環境は次のとおり。 Vagrant は ISA が x86 のマシンでしか動作しないので、ローカルが Intel Mac という状況は今後減っていくだろうけど。 ローカル環境ごとの違いは X Server のインストール方法くらいなので、特に支障はないはず。

$ sw_vers               
ProductName:    macOS
ProductVersion: 12.4
BuildVersion:   21F79
$ uname -srm
Darwin 21.5.0 x86_64
$ vagrant version | head -n 1
Installed Version: 2.2.19

もくじ

下準備

ローカルのマシンには X Server をインストールする。 macOS であれば XQuartz を入れれば良い。 下記は Homebrew を使って入れる場合のやり方。

$ brew install --cask xquartz

仮想マシンをセットアップする

適当なディレクトリに Vagrant の設定ファイルを作成する。 マシンイメージは、公式の Ubuntu 22.04 LTS を使った。

$ vagrant init ubuntu/jammy64

仮想マシンを起動する前に、設定ファイルに必要なオプションを指定する。 具体的には下記を Vagrantfile に追加する。 この設定がデフォルトの Vagrantfile にあればコメントアウトするだけで楽なんだけど、残念ながら無い。

config.ssh.forward_x11 = true

あとは仮想マシンを起動してログインする。

$ vagrant up && vagrant ssh

X Window System のアプリケーションを使う

仮想マシンにログインしたら、X Window System が必要になるので入れる。

$ sudo apt-get update
$ sudo apt-get -y install xserver-xorg

あとは X Window System のアプリケーションを使うだけ。 ここでは例として xeyes(1) を使う。

$ sudo apt-get -y install x11-apps
$ xeyes

うまくいけばアプリケーションのウィンドウが表示されるはず。

xeyes(1)

いじょう。