DISPLAY=:0とは何ですか? [コピー]

DISPLAY=:0とは何ですか? [コピー]

それは何DISPLAY=:0であり、何を意味しますか?

それは命令ではありませんか? (gnome-panelコマンドです。)

DISPLAY=:0 gnome-panel

答え1

DISPLAY=:0 gnome-panelgnome-panelDISPLAYに設定されている環境変数を使用して外部コマンドを実行するシェルコマンド:0。シェル構文は、指定されたコマンド期間のみ環境変数を設定します。ほぼ同じです。VARIABLE=VALUE COMMANDVARIABLE(export VARIABLE=VALUE; exec COMMAND)

環境変数は、DISPLAYGUIプログラムにGUIと通信する方法を伝えます。 Unixシステムは複数を実行できますXサーバーつまりマルチディスプレイです。これらのモニターは、物理モニター(1つ以上のモニター)、リモートモニター(SSH経由でネットワーク経由で配信)、または仮想モニター(例:wxya待つ。表示を指定する基本的な構文は、この部分を省略した場合のローカル表示です。HOST:NUMBERHOST

:0モニターは、最初の最初のローカルモニターと同様に、0から始まり番号が付けられます。通常の設定では、これがコンピュータモニタに表示されます。

すべての環境変数と同様に、親DISPLAYプロセスから子プロセスに継承されます。たとえば、GUIセッションにログインすると、ログインマネージャまたはセッションスタートアップマネージャがDISPLAY適切に設定され、その変数はセッション内のすべてのプログラムに継承されます。 X転送を使用してSSH接続を開くと、SSHはリモートコンピュータDISPLAYで実行されているプログラムがローカルコンピュータに表示されるように、環境変数を渡された接続に設定します。転送されたX接続がない場合(SSHがそうしないように設定されているか、ローカルXサーバーがないため)、SSHは設定されませんDISPLAY

明示的な設定により、DISPLAYプログラムは通常表示されない場所に表示されます。たとえば、DISPLAY=:0 gnome-panelSSH接続を介して実行すると、リモートコンピュータのローカルモニタにGnomeパネルが起動します(Gnomeパネルがあり、ユーザーがそれにアクセスできると仮定)。明示的な設定は、通常、DISPLAY=:0リモートアクセスやcron操作などを介してローカルセッションの外部からコンピュータのローカルディスプレイにアクセスする方法です。

答え2

これは環境変数であり、シェル全体ではなくそのプログラムにのみ渡されます。これは、コマンドと同じ行に変数を設定すると発生します。

X11プログラムはクライアント/サーバーシステムであり、リモートコンピュータに表示できるため、ウィンドウを表示する場所を知る必要があります。これは、単にローカルコンピュータの最初のモニタを使用することを意味します。

これは通常、デスクトップ環境にログインすると自動的に設定されます。たとえば、グラフィック端末を開き、と入力しますecho $DISPLAY

関連情報