次: Font X, 前: Environment, 上: Command Arguments
環境変数DISPLAY
は、Emacsを含むすべてのXクライアントに
ウィンドウをどこに表示するかを教えます。
普通の状況では、
Xサーバーを起動してローカルでジョブを走らせると、
この変数の値はデフォルトで設定されます。
場合によっては、自分でディスプレイを指定する必要があるでしょう。
たとえば、リモートログインしてリモート側でクライアントプログラムを実行し、
表示はローカルの画面にする場合です。
Emacsを使う場合、デフォルトのディスプレイを変更する主な理由は、 他のシステムにログインしてそのシステム上でEmacsを実行し、 ウィンドウはローカルの画面に表示するためです。 他のシステムにログインするのは、そのシステム上に編集したいファイルがあるか、 あるいは、 実行したいEmacsの実行ファイルがそのシステムにあるからでしょう。
環境変数DISPLAY
の書式は
`host:display.screen'です。
hostはXウィンドウシステムのサーバーマシンの名前、
displayは同じマシンの別のサーバーと読者のサーバー(X端末)を
区別するために任意に割り振られた番号、
screenは稀にしか使いませんが
1つのXサーバーで複数の端末画面を制御する場合に使います。
ピリオドとscreenは省いてかまいません。
指定する場合、screenは普通はゼロです。
たとえば、読者のホストの名前は`glasperle'であり、
読者のサーバーは使用できるサーバーのうちで最初(でたぶん唯一)のもので
あるとすれば、DISPLAY
は`glasperle:0.0'となります。
Emacsを実行するときに明示的にディスプレイ名を指定できます。
変数DISPLAY
を変更する、あるいは、オプションの`-d display'や
`--display=display'を指定します。
たとえばつぎのようにします
emacs --display=glasperle:0 &
オプション`-nw'を指定するとXを直接使用することを禁止できます。 これも初期化オプションです。 Emacsに対して制御端末に通常のASCII文字を表示するように指示します。
セキュリティの設定によっては、リモートシステムのプログラムから 読者のローカルのシステムに表示するのが禁止されます。 この場合、Emacsを走らせるとつぎのようなメッセージが出力されます。
Xlib: connection to "glasperle:0.0" refused by server
この問題は、xhost
コマンド
1
を用いて、ローカルマシンにリモートシステムからのアクセス許可を
与えれば解決できます。