X11 for Mac も普通にXサーバなので,XDMCPで他のマシンに接続することができる.
1. 接続先のマシンにXDMCP経由で接続できるよう,接続先のgdm.confの設定をする.
Debianなら,/etc/gdm/gdm.confを開いて,以下の部分をtrueに書き換えればOK.
[xdmcp] Enable=true
2. Macでファイアウォールを使っている場合は,XDMCPとX11のポートを開く
環境設定の共有→ファイアウォールの項目で,編集ボタンを押して開くポートの設定をする.XDMCPはtc,udpの177 ,X11はtcp,udpの6000-6063となる.
具体的には,ファイアウォールの設定画面で「新規…」ボタンを押して出てきたダイアログで,「ポート名」の所で「その他」を選び,「TCPポート番号」[UDPポート番号]の欄に対応するポート番号を入力し(X11なら“6000-6063”),「説明」の欄に“X11”等のポート名称を入れる.
3. X11 for Macから接続する
ターミナルからのコマンドライン入力で接続する.もしも/usr/X11R7/bin/Xがない場合は,Xquartzがないか探してみるとよい.
$ /usr/X11R6/bin/X -query host_name
また,そのままだとMacのメニューバーが画面上に残ったままになるので不便.あらかじめX11 for Macを普通に起動して,フルスクリーンモードをオンにしておくとよい.
4. X11 for Macのメニュー等を使えるようにする
上記の手法で動かすと,メニューがきちんと表示されなくて不便.なので,X11.appの下から実行出来るようにX11.appの下にXquartzへのリンクを作成する.
$ sudo ln -s /usr/X11R6/bin/Xquartz /Applications/Utilities/X11.app/Contents/MacOS/
5. Appleスクリプトを作成する
毎回毎回ターミナルからコマンド入力するのも不便なので,一発起動できるAppleスクリプトを作成する.
Appleスクリプトエディタを起動して以下の内容を打ち込み,別名で保存のダイアログからアプリケーションとして保存すればOK.これをDockに登録しておけば,クリック一発で起動できるようになる.
do shell script "/Applications/Utilities/X11.app/Contents/MacOS/Xquartz -query host_name"
※X11R6のRより後ろの部分は,使っているXのバージョンによって異なるかも.