dreamedge.net

X11 for Mac からXDMCP経由で接続する

2008-07-26T02:51:00+0000

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のバージョンによって異なるかも.