それは何DISPLAY=:0
であり、何を意味しますか?
それは命令ではありませんか? (gnome-panel
コマンドです。)
DISPLAY=:0 gnome-panel
答え1
DISPLAY=:0 gnome-panel
gnome-panel
DISPLAY
に設定されている環境変数を使用して外部コマンドを実行するシェルコマンド:0
。シェル構文は、指定されたコマンド期間のみ環境変数を設定します。ほぼ同じです。VARIABLE=VALUE COMMAND
VARIABLE
(export VARIABLE=VALUE; exec COMMAND)
環境変数は、DISPLAY
GUIプログラムにGUIと通信する方法を伝えます。 Unixシステムは複数を実行できますXサーバーつまりマルチディスプレイです。これらのモニターは、物理モニター(1つ以上のモニター)、リモートモニター(SSH経由でネットワーク経由で配信)、または仮想モニター(例:wxya待つ。表示を指定する基本的な構文は、この部分を省略した場合のローカル表示です。HOST:NUMBER
HOST
:0
モニターは、最初の最初のローカルモニターと同様に、0から始まり番号が付けられます。通常の設定では、これがコンピュータモニタに表示されます。
すべての環境変数と同様に、親DISPLAY
プロセスから子プロセスに継承されます。たとえば、GUIセッションにログインすると、ログインマネージャまたはセッションスタートアップマネージャがDISPLAY
適切に設定され、その変数はセッション内のすべてのプログラムに継承されます。 X転送を使用してSSH接続を開くと、SSHはリモートコンピュータDISPLAY
で実行されているプログラムがローカルコンピュータに表示されるように、環境変数を渡された接続に設定します。転送されたX接続がない場合(SSHがそうしないように設定されているか、ローカルXサーバーがないため)、SSHは設定されませんDISPLAY
。
明示的な設定により、DISPLAY
プログラムは通常表示されない場所に表示されます。たとえば、DISPLAY=:0 gnome-panel
SSH接続を介して実行すると、リモートコンピュータのローカルモニタにGnomeパネルが起動します(Gnomeパネルがあり、ユーザーがそれにアクセスできると仮定)。明示的な設定は、通常、DISPLAY=:0
リモートアクセスやcron操作などを介してローカルセッションの外部からコンピュータのローカルディスプレイにアクセスする方法です。
答え2
これは環境変数であり、シェル全体ではなくそのプログラムにのみ渡されます。これは、コマンドと同じ行に変数を設定すると発生します。
X11プログラムはクライアント/サーバーシステムであり、リモートコンピュータに表示できるため、ウィンドウを表示する場所を知る必要があります。これは、単にローカルコンピュータの最初のモニタを使用することを意味します。
これは通常、デスクトップ環境にログインすると自動的に設定されます。たとえば、グラフィック端末を開き、と入力しますecho $DISPLAY
。