Xquartz Tips
このごろは MacBook で Mac OS X を使う似非マカー (Unix 使い) の日々を送っている。 しかしながら、これまでに Debian や GNOME デスクトップ環境に過剰適応してしまった身にとって、 やはり OSX の Unix 環境は貧弱で不便に感じることが多い。 特に最重要アプリケーションである端末エミュレータソフトウェアにろくなものがないのが痛い。
Unix 環境に関しては自分で全部ビルドする (大変!!) なり fink unstable (これも微妙に古くていまいち) を使うなりして 環境構築に邁進すればよいのだろうが、そんな時間もないので、 最近は OSX を X 端末化して、 隣のサーバや Parallels 仮想マシンの Debian unstable 環境に GDM からログインして使うという、 マカーからも似非マカーからも糾弾されかねないことをしている。
Xft が普及したおかげで、 昔のようにフォント関係で苦労しなくてよくなったのはありがたい。 GNOME の場合は GDM の設定さえ済めば、 ローカルの X サーバの環境と見分けがつかないログイン画面が即座に出てくる。
また OSX についてくる X サーバ (Xquartz) はかなりよくできており、 rootless モードで Quartz アプリケーションと自然に連携できるのはもちろんのこと、 dual head の環境では Xinerama に完全対応しており、 GNOME パネルが好きなディスプレイの好きな辺に置ける。 まともな Xinerama 環境というものを体験したのは実はこれが初めてだったので結構感動した。
ところで、なぜこうなっているかは謎なのだが、
OSX の X11.app アプリケーションバンドル内の
プログラムは単なるランチャであり、xinit や startx に相当するものである。
X サーバの本体は /usr/X11R6/bin/Xquartz
というパスにある。
そういうわけで、 そのへんの Web サイトで OSX を X 端末化する方法としてよく紹介されているのは、 次のように Xquartz を直接起動し XDMCP でサーバに接続する方法である。
% /usr/X11R6/bin/Xquartz -query server
しかしながら、 このやりかたで Xquartz を起動すると X11 のアプリケーションメニューが使えないという問題が発生する。 これは Xquartz がリソースファイルを見つけられないためであり、 次のように Xquartz を X11.app のアプリケーションバンドルの下に持っていってから 起動するとメニューが使えるようになる。
% sudo ln -s /usr/X11R6/bin/Xquartz /Applications/Utilities/X11.app/Contents/MacOS % /Applications/Utilities/X11.app/Contents/MacOS/Xquartz -query arwen
どうやら Quartz のプログラムは argv[0] のパスを元にリソースファイルを見つけているようだ。
/Applications/Utilities/X11.app/Contents/MacOS/X11
のソースコードを見ると、
/usr/X11R6/bin/Xquartz
を exec
する際に
argv[0]
を Xquartz でなく X11 のままにしておくことによって、
Xquartz がリソースを見つけられるようにしている。
Xquartz に関してはこの他にもいくつか Tips がある。
- rootless モードで動かすなら Nautilus のようなデスクトップアプリケーションは止めること。 デスクトップは実際は単なる 1 枚ウィンドウなので非常に邪魔。
-
ウィンドウマネージャは OSX の quartz-wm を使う。
さもないと X アプリケーションを Quartz アプリケーションの前に持ってくることができないといった不具合が生じる。
quartz-wm 以外のウィンドウマネージャを使う場合でも、
quartz-wm --only-proxy
として起動しておけば、 X と Quartz の間でコピー&ペーストができるようになる。 -
以下のプロパティをセットすれば、X アプリケーション間のフォーカス移動でクリックする必要がなくなる。
% defaults write com.apple.X11 wm_ffm -boolean true
参考になる情報源:
- Configuring and Running X11 Applications on Mac OS X
- QA1232 - X11 FAQ
- X11-users -- X11 for Mac OS X discussion list
- Xquartz(1)
- quartz-wm(1)
隣のマシンの GDM のログイン画面。 | VESA アームについた LCD と組み合わせたデュアルヘッド環境。下に GNOME パネルが見える | |
単純に /usr/X11R6/bin/Xquartz を起動してしまうとメニューがない。 |
アプリケーションバンドルの中で起動すればメニューが現われ、環境設定にもアクセスできるようになる。これが重要。 |
カテゴリ
Macintoshトラックバック(0)
このブログ記事を参照しているブログ一覧: Xquartz Tips
このブログ記事に対するトラックバックURL: http://www.keshi.org/mt/mt-tb.cgi/47
コメントする