Xquartz Tips

| | コメント(0) | トラックバック(0)
xquartz-icon.png

このごろは 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/Xquartzexec する際に 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

参考になる情報源:

xquartz-gdm-login.jpg xquartz-dual-head.jpg
隣のマシンの GDM のログイン画面。 VESA アームについた LCD と組み合わせたデュアルヘッド環境。下に GNOME パネルが見える
xquartz-without-menu.jpg xquartz-with-menu.jpg
単純に /usr/X11R6/bin/Xquartz を起動してしまうとメニューがない。 アプリケーションバンドルの中で起動すればメニューが現われ、環境設定にもアクセスできるようになる。これが重要。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: Xquartz Tips

このブログ記事に対するトラックバックURL: http://www.keshi.org/mt/mt-tb.cgi/47

コメントする

このブログ記事について

このページは、yaegashiが2006年9月30日 23:03に書いたブログ記事です。

ひとつ前のブログ記事は「Make: Technology on Your Time Volume 01」です。

次のブログ記事は「Binary Hacks」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0