端末から直接、ディスプレイマネージャーなしでグラフィカルインターフェイスを使用してプログラムを起動する方法があると聞きました。これは本当ですか?そうであれば、どうすればそれを行うことができますか?
xinit
かstartx
?
端末から直接、ディスプレイマネージャーなしでグラフィカルインターフェイスを使用してプログラムを起動する方法があると聞きました。これは本当ですか?そうであれば、どうすればそれを行うことができますか?
xinit
かstartx
?
回答:
ディスプレイマネージャーがなくても実行できますが、実行中のXセッションが必要です。詳細はディストリビューションによって異なりますが、次のコマンドを実行すると、単一のターミナルで最小限のXセッションを取得できるはずです。
xinit
私はこれを何年も行っていませんが、前回行った場合、次のような結果になります。
そこに移動すると、GUIプログラムを通常どおり実行できます。できればバックグラウンドで(を使用して&
)起動することで、唯一のターミナルへのアクセスが失われないようにします。
xterm &
ため、だけでなく、追加のターミナルを取得するために使用することをお勧めしますxterm
。等
GUIアプリをヘッドレスで実行するための基本と、vnc
それに接続する方法()を次に示します。家族RHEL7
とCentos 7
一緒に仕事をしています。そして、https: //github.com/xeor/dockerfiles/tree/master/crashplan/にあるCrashplanで使用する自分のDockerイメージを取り除きました(Dockerfile
セットアップとinit/setup
起動については、を参照してください)。
# Needed environment variables
export DISPLAY=:99.0
export SCREEN_WIDTH=1200
export SCREEN_HEIGHT=960
export SCREEN_DEPTH=24
export GEOMETRY="${SCREEN_WIDTH}x${SCREEN_HEIGHT}x${SCREEN_DEPTH}"
# Needed packages
yum install -y xorg-x11-server-Xvfb x11vnc gtk2 xorg-x11-fonts-*
# Set a password (if variable vncpass is sat, else its `secret`)
mkdir -p ~/.vnc && x11vnc -storepasswd ${vncpass:-secret} ~/.vnc/passwd
# Start up the fake display and run the application you want (the `java ...` part)
xvfb-run --server-args="$DISPLAY -screen 0 $GEOMETRY -ac +extension RANDR" java .... > log/ui_output.log 2> log/ui_error.log &
# Wait for the app to start, or else, the vnc server will die before starting
sleep 5
# vnc itself
x11vnc -forever -usepw -shared -rfbport 5900 -display $DISPLAY
これで、server:5900に接続してアプリケーションを表示できるようになります。
はい。ディスプレイマネージャーと同じことを行ってください。グラフィカルログイン画面(この場合は不要)を除いて、ディスプレイマネージャーは次の2つのことを行います。
startx
X11をコンソールログインから同じように起動するようなツールを使用できます。Xorgを起動し、~/.xinitrc
ファイルにリストされているクライアントが続きます。
例えば、.xinitrcファイルは持つことができstartkde
たりgnome-session
、またはそれは、個々のコンポーネント(ウィンドウマネージャ、パネル/タスクバー、デスクトップを...)リストすることができ
(いくつかの違いがあることに注意xinit
してはstartx
-いくつかのディストリビューションは、無地のxinitが無視することの構成のいくつかの重要な部分、すなわち持っているので、通常、あなたは、後者を使用する必要がありxserverrc
、スクリプトを。)
ウェイランドでは、デスクトップとパネルは「コンポジター」の統合された部分であるため、追加のツールなしで、インターフェース全体が1つのステップで開始されます。たとえば、をweston
使用してGNOMEを実行または起動できますgnome-session --session=gnome-wayland
。
ローカル Xディスプレイがあれば、ssh X転送を使用してXアプリケーションを起動できます(ssh -X、サーバー構成でも有効にする必要がある場合があります)。
アプリケーションは、ヘッドレスシステムで実行されている間、ローカルで起動して表示されます。適切なライブラリを使用するには、ヘッドレスシステムにXをインストールする必要があります。これは、最新のGNOMEアプリケーションでは機能しない可能性があります。
を使用$DISPLAY
して、シェルがリモートのシェル(sshまたはコンソール)であっても、接続されたXディスプレイでアプリを起動できます。rootでXディスプレイにログインしている人がそうでない場合は、xauth
セキュリティを無効にして、とにかく彼らのディスプレイにウィンドウをポップアップできます。これは、異なるモニターに2つの異なるXディスプレイサーバーがある場合にも機能します。
別のポスターはVNCについて言及しています。私もこの目的でNXを使用しましたが、私はそれを好みます。