Fink

Running X11 - 8. 使用上の Tips

8.1 ターミナル.app からの X11 アプリの起動

X11 アプリケーションをターミナル.app から起動するには、環境変数 "DISPLAY" が必要です。 この値はアプリケーションにどこで X11 ウィンドウサーバを探すかを指定します。 デフォルト設定では、 XDarwin は同じマシン上で動作し、以下のように環境変数を設定します:

ログイン時に XDarwin.app を起動するようにし (MacOSX 10.2 の場合、システム環境設定のログインパネルで、 MacOSX 10.3 の場合、アカウントパネルの起動項目で) 、

全てのシェルで DISPLAY を自動的に設定しますが、既に設定されている場合は上書きをしません。 これにより、 X11 アプリケーションを遠隔から、 ssh や X11 トンネリングで実行することができます。

8.2 xterm からの Aqua アプリケーションの起動

Aqua アプリケーションの xterm (他のシェルでも) からの起動方法は、 open コマンドを使います。 例えば:

open /Applications/TextEdit.app
open SomeDocument.rtf
open -a /Applications/TextEdit.app index.html

2番目の例では、アプリケーションに関連するドキュメントを開いています。 3番目の例では、明示的にアプリケーションを指定しています。

8.3 コピーとペースト

コピーとペーストは Aqua と X11 環境間でも使うことができますが、バグもまだ残っています。 Emacs は現在の選択に好き嫌いが多いという報告があります。 Classic と X11 間では、コピーとペーストはできません。

いずれにせよ、それぞれの環境でそれぞれの方法を使うだけです。 テキストを Aqua から X11 へ移すには、 Aqua で Cmd-C とし、移す先のウィンドウを開いて "ミドルマウスボタン" 、ワンボタンマウスの場合は Option-click を押して (これは XDarwin の Preferences で設定できます) ペーストします。 テキストを X11 から Aqua に移す場合、 X11 ではマウスでテキストを選択し、 Aqua 側で Cmd-V してペーストします。

X11 システムは複数のクリップボード (X11 的な言葉では カットバッファ) を持っていて、 アプリケーションによっては変なことをしているものもあります。 特に、 GNU Emacs や XEmacs にペーストするときにうまく行かないことがあります。 autocutsel というプログラムは、これを解消するために自動的に両方のカットバッファを同期させます。 これを実行するには、 Fink パッケージの autocutsel をインストールして、以下の行を .xinitrc に追加します:

autocutsel &

(注記: ウィンドウマネージャを exec する前に、バックグラウンドで実行して下さい。 最後に追加するだけでは起動されません。) これは Apple X11 では必要ではありません。 (Apple X11 を使う際の注意点 を参照)。

Apple X11 を使う場合、通常の Map アプリのように Command-C か Edit->Copy を使ってクリップボードにコピーすることができます。 ペーストは、マウスの中ボタンをクリックか Command-V を押します。

いずれにせよ、 Aqua と X11 の間のコピー・ペーストで問題が合った場合、 まずはペーストを2回試してください (コピーに時間がかかる場合があるようです)。 これで駄目なら、他のアプリケーションを試してください。 例: Aqua 側では TextEdit や Terminal.app 、 X11 側では nedit や xterm 。 私の経験上、これでうまく行きます。