回答:
Xプログラムは、DISPLAY環境変数を調べることにより、どのXセッションと対話するかを認識しています。
まずDISPLAY、プログラムを実行するXセッションで何が設定されているかを確認する必要があります。これをecho $DISPLAY行うには、そのXセッションのX端末内でコマンドを発行します。通常、:0.0出力されるようなものを取得します。
あなたは優れたプログラムを開始したいとしましょうxclock、あなたのXセッションでプログラムをDISPLAYされ:0.0ていますが、コンソールでこれをやりたいです。次に、Alt-Ctrl-F1を押してそのコンソールに移動し、次のように入力します。
DISPLAY=:0.0 xclock # variables set w/ a command are local to that command
次に、Alt-Ctrl-F7またはAlt-Ctrl-F8(またはLinuxの種類によっては他のFキー)を押してXに戻り、そこにある新しいかなりの壁時計を観察します。
実際、上記のコマンドを同じマシンの任意のシェル(SSH経由、任意のXセッション、任意のコンソールなど)で実行できますDISPLAY=:0.0。コマンドの前に指定したという事実は、xclockウィンドウが常にポップアップすることを意味します同じXセッション。
実際、Xプログラムがそれを見るという事実は別として、DISPLAY変数について特別なことは何もありません。通常、Xターミナルからプログラムを起動すると、DISPLAYすでに設定されているため、適切な場所から起動します。
上記のコマンドを使用する代わりに、最初にを設定しDISPLAY、次にを実行して、2つに分割することもできますxclock。この場合、DISPLAY設定はそのシェルを閉じるまで持続し、そこから開始された後続のすべてのXプログラムはと同じXセッションで開きますxclock。
# variables set w/o a command are local to the shell,
export DISPLAY=:0.0 # unless exported
xclock
DISPLAY(それは両方で動作し、それがシェルによってインポートされているため、デフォルトでは輸出に設定されますzshし、dash使用しなくても私のためにexport)。しかし、はい、2行バージョンが機能しない場合は、で置き換えDISPLAY=:0.0てみてくださいexport DISPLAY=:0.0。