MacOS Snow Leopard のX11 ディスプレイ番号

いまだに、Mac の上で動かす、X11アプリケーションの使い方がよく分かりません。具体的には DISPLAY 環境変数の、ディスプレイ番号とスクリーン番号。

今回、FreeBSD 10.2 上の Virtual Box を使おうとしたところ、MacOS Snow Leopard のターミナルエミュレータから使用していたため、virtualbox とタイプしたところ、「Failed to open the X11 display!」と出て、起動させる事が出来ませんでした。

SnowLeopard には X11 というX-Window アプリケーションがあるので、これを使えば問題解決!のはずでした。
X11 の場合、別ホストのXディスプレイに画面だけ飛ばして使う事が出来、その場合 コマンドに 「-DISPLAY HOSTNAME:0」 ;例えば virtualbox -display macmini:0 ;と付加すれば画面だけ、Macに飛ばせるんですが・・・・・・・動かない!

手順

  • Mac で virtualbox コマンドを使うホストを xhost コマンドで追加
  • Mac から FreeBSD 10.2 のホスト へリモートアクセス
  • リモートホスト上で、virtualbox -display 192.168.1.41:0.0 とタイプ(192.168.1.41 はMacのIPアドレス)

通常 0.0 からディスプレイ番号.スクリーン番号が始まるので :0.0 と付加したんですが、OSによっていはスクリーン番号が不要の事もあります。virtualbox -display 192.168.1.41:0 とやってみたけど、ダメ。

Macで、env とタイプして、ディスプレイ番号を確認してみたら、

DISPLAY=/tmp/launch-eQXXEB/org.x:0

この変数の中身って何よ?このファイルにポート番号が書いてあるのかと思ったけど、違ってました。

/etc/services を見てみると、

x11             6000/tcp   #6000-6063 are assigned to X Window System
x11             6000/udp
x11-ssh         6010/tcp   #Unofficial name, for convenience
x11-ssh         6010/udp

となっていて、

netstat -a で開いているポートを確認してみると、通常Unixシステムでは 6000 がデフォルトのところが 6001  になっていることを確認。

tcp4       0      0  *.6001                 *.*                    LISTEN
tcp6       0      0  *.6001                 *.*                    LISTEN

MacのGUIが 6000 を使っているのかな〜?よく分かりませんが、+1 されているので、ディスプレイ番号を+1して、virtualbox -display 192.168.1.41:1 としたところ、無事 VirtualBoxの設定画面が上がってきました。

freebsd から macos の X11 に画面を飛ばす

freebsd から macos の X11 に画面を飛ばしたところ

すごく遅いけどね。

コメントを残す