ディスプレイ名の指定
====================
環境変数`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) を用いて、ローカルマシンにリモートシステ
ムからのアクセス許可を与えれば解決できます。
--------- Footnotes ---------
(1) 【訳注】ホスト単位でアクセスを制御する`xhost'コマンドより、
ユーザー単位でアクセスを制御する`xauth'のほうが望ましいだろう。