Xクライアントが機能するためにウィンドウマネージャーが必要ですか?XクライアントはXサーバーのみで動作しますか?
Xクライアントにウィンドウがない場合、動作できるかどうかはウィンドウマネージャーが必要ですか?
Xクライアントがウィンドウマネージャーなしで動作できる場合、Xクライアントには必ずしもウィンドウがありませんか?
ありがとう。
Xクライアントが機能するためにウィンドウマネージャーが必要ですか?XクライアントはXサーバーのみで動作しますか?
Xクライアントにウィンドウがない場合、動作できるかどうかはウィンドウマネージャーが必要ですか?
Xクライアントがウィンドウマネージャーなしで動作できる場合、Xクライアントには必ずしもウィンドウがありませんか?
ありがとう。
回答:
いいえ。よく書かれたアプリにはウィンドウマネージャーは必要ありません。
ただし、一部の「モダンな」壊れたアプリは、ウィンドウマネージャーがないと正常に動作しません(たとえば、Firefoxとそのアドレスバーの候補はドロップダウンしません[1])。
他の多くのサブパーアプリは、ウィンドウマネージャーを想定しているだけでなく、傷害にto 辱を加えるために、クリックしてフォーカスするウィンドウマネージャーです。たとえば、以前は、Javaアプリケーションはすべて、起動時にフォーカスを奪うだけでした。
テストする場合は、Xephyr
(「ネストされた」X11サーバー)をインストールし、で実行してXephyr :1
からDISPLAY=:1
、その環境でアプリを起動します。
[1] Firefoxの「素晴らしいバー」は、ウィンドウマネージャーが実行されていない限り、履歴ボタンに入力またはクリックされたときにその提案ペインを開きません。自動非表示メニューも機能しません。
いいえ、Xクライアントを機能させるためにウィンドウマネージャーを実行する必要はありません。一部のシステムには、起動時にターミナルを実行するだけのオプションがあり、そこからウィンドウマネージャなどの追加プログラムを起動できます。1つのアプリケーションのみを実行する必要がある一部のキオスク設定では、ウィンドウマネージャーは不要です。X for microsoftウィンドウの一部の実装は、OSにウィンドウを管理させることにより、Xウィンドウマネージャーを回避します。
ウィンドウマネージャを使用しない場合、通常、プログラムにジオメトリを指定して、左上隅にすべてを配置しないようにする必要があります。
Xでは、ウィンドウマネージャーは単なるXクライアントです。これは当時は珍しいことでしたが、異なるウィンドウマネージャーを簡単に作成できるようにしました。
質問を見る別の方法は、その場でウィンドウマネージャを変更できることを観察することです。そのため、最初のものが停止してから次のものが制御を取得するまでに時間がありますが、すべてのアプリケーションがクラッシュしないため、なしで動作します。
ウィンドウマネージャは、ユーザーにとって便利です。
good ^ Wbadの昔は、次のような~/.Xclients
ファイルがありました。
#!/bin/sh
HOST=`uname -n | sed 's/\..*$//'`
xv -root -rmode 5 $HOME/misc/millennium/theme/Wallpaper.gif -quit &
xterm -geometry 80x24+0+85 \#52x71-104+0 -n $HOST -T $HOST &
xterm -geometry 80x24+510+429 \#52x71-52+0 -n $HOST -T $HOST &
xclock -digital -update 1 -geometry +1059+982 &
xscreensaver -nosplash &
exec /usr/local/lib/X11/fvwm/fvwm
このファイルは、Xをで起動したときに実行されstartx
ます。このスクリプトが終了すると、Xサーバーはシャットダウンします。
最後の行に注意してくださいexec .../fvwm
。これは、ウィンドウマネージャー(fvwm)を開始した行です。以前のすべてのアプリケーション(xv
、xterm
、xclock
、xscreensaver
)ウィンドウマネージャが起動する前に実行していました。への呼び出しfvwm
は最後の行であり、バックグラウンドに置かれていないため、fvwm
終了するとXが閉じられることを意味しました。
Xの起動には「フォールバック」のデフォルトもありました...構成ファイルがなければ、1回xterm
実行してXを起動します。終了するxterm
と、Xセッションが終了します。
fvwm
(およびで実行するexec
)ことにより、Xサーバーがシャットダウンしないようにするプロセスがあることを確認します。その最後のプロセスを作成することによりfvwm
、「終了」メニュー項目が期待どおりに機能するようになります。
fvwm-1.24r
私のお気に入りのウィンドウマネージャーでした:
他の回答に追加するために、ウィンドウマネージャーなしで動作するオープンソースアプリを開発およびリリースしました(xinitrcから直接起動できることを意味します)。この場合、アプリケーションはダイアログのジオメトリとZオーダーを管理する以外にいくつかの追加手順を実行する必要がありますが、これは完全に管理可能です。
ここには多くの詳細な答えがあります。ここに簡単な明確な答えがあります。
Xクライアントが機能するためにウィンドウマネージャーが必要ですか?
いいえ:ただし、ウィンドウの管理(移動、サイズ変更、下げ、上げなど)に苦労する場合は除きます。必要に応じて、これを実行できる他のツールがあります。
XクライアントはXサーバーのみで動作しますか?
はい
Xクライアントにウィンドウがない場合、動作できるかどうかはウィンドウマネージャーが必要ですか?
ウィンドウがない場合は、ウィンドウマネージャーがないことのマイナス面はありません。
Xクライアントがウィンドウマネージャーなしで動作できる場合、Xクライアントには必ずしもウィンドウがありませんか?
いいえ:ウィンドウを持つことができます。
これを試して。
DISPLAY=:21
vncserver -localhost -geometry 1920x1080 -SecurityTypes None $DISPLAY &
ssvnc $DISPLAY
xterm &
その後、新しいxterm
タイプでfvwm
。
あなたはインストールする必要がありvncserver
、ssvnc
とfvwm
、最初に。
はい、XクライアントはXサーバーのみで動作します。例として、このように、仮想マシンにホスト上の独自の仮想コンソールを提供します。
# Press CTRL-ALT-F5, login and enter this command:
startx /usr/bin/virt-viewer -a -k -r -w -c qemu:///system CentOS -- :4
# Press CTRL-ALT-F6, login and enter this command:
startx /usr/bin/virt-viewer -a -k -r -w -c qemu:///system Windows -- :5
「startx」コマンドは、クライアントとしてvirt-viewerのみを使用して、ディスプレイ:4および:5でXorg Xサーバーを起動します。
「CentOS」および「Windows」は、インストール時に仮想マシンに付けた名前です。virt-viewer の-kスイッチを使用すると、最小限のコントロールで全画面表示されるため、CTRL-ALT-Fnを押して別の仮想コンソールに切り替えるまで、各仮想マシンがマシンを所有しているように見えます。
もちろん、CentOSは仮想マシン内でディスプレイマネージャーとウィンドウマネージャーを実行していますが、ホストで実行されているXサーバーとは接続されていません。