環境変数 DISPLAY は、Emacs を含むすべての X
クライアントに対し、ウィンドウをどこに表示するかを指示します。通常、X
サーバーを起動してローカルでジョブを実行する場合、この変数の値はデフォルトで設定されます。また、ディスプレイを自身で指定することも可能です。そうする理由の一つとして、別のシステムにログインしてそこで
Emacs を実行し、ウィンドウをローカル端末に表示させたい場合などが挙げられます。
DISPLAY は ‘host:display.screen’ という構文を持ちます。ここで、host は X Window System サーバーマシンのホスト名、display は同一マシン上の他のサーバーと自サーバー(X
ターミナル)を区別するために任意に割り当てられた番号、screen は X
サーバーが複数のターミナル画面を制御するためのフィールドです。ピリオドと screen
フィールドは省略可能です。これらが含まれる場合、screen は通常 0 となります。
例えば、ホスト名が ‘glasperle’
で、お使いのサーバーが設定に記載されている最初の(あるいは唯一の)サーバーである場合、DISPLAY
は ‘glasperle:0.0’ となります。
Emacsの起動時に、DISPLAY変数を変更するか、あるいはオプション ‘-d display’ や ‘--display=display’
を使用することで、表示名を明示的に指定できます。以下に例を示します。
emacs --display=glasperle:0 &
‘-nw’ オプションを指定すると、Xウィンドウシステムの使用を抑制できます。その場合、Emacsは表示に独自の制御用テキストターミナルを使用します。初期オプションを参照してください。
セキュリティ設定により、リモートシステム上のプログラムがローカルシステムに表示されないことがあります。この場合、Emacsを起動しようとすると、次のようなメッセージが表示されます。
Xlib: connection to "glasperle:0.0" refused by server
ローカルシステムで xhost
コマンドを使用してリモートマシンからのアクセス権限を付与すれば、この問題を解決できるかもしれません。