Xクライアントは、動作するためにウィンドウマネージャーを必ずしも必要としますか? XクライアントはXサーバーのみで動作しますか?
Xクライアントにウィンドウがない場合 、それが機能するかどうかにはウィンドウマネージャーが必要ですか?
Xクライアントがウィンドウマネージャーなしで動作できる場合、Xクライアントには必ずしもウィンドウがありませんか?
ありがとう。
いいえ。適切に記述されたアプリにはウィンドウマネージャーは必要ありません。
しかし、一部の「モダンな」壊れたアプリは、ウィンドウマネージャーがないと正常に動作しません(たとえば、Firefoxとドロップダウンされないアドレスバーの提案[1])。
他の多くの劣ったアプリ想定ウィンドウマネージャーだけでなく、傷害に侮辱を加えるためにフォーカスするためにクリックウィンドウマネージャー。たとえば、以前は、Javaアプリが起動時のフォーカスを盗むだけでした。
テストする場合は、Xephyr
(「ネストされた」X11サーバー)をインストールし、Xephyr :1
で実行してから、環境でDISPLAY=:1
を使用してアプリを起動します。
[1] Firefoxの「素晴らしいバー」は、ウィンドウマネージャーが実行されていない限り、入力したり履歴ボタンをクリックしたりしても、提案ペインを開きません。自動非表示メニューも機能しません。
いいえ、Xクライアントが機能するためにウィンドウマネージャーを実行している必要はありません。一部のシステムには、起動時にターミナルを実行するオプションがあり、そこからウィンドウマネージャーを含む追加のプログラムを起動できます。 1つのアプリケーションのみを実行したいキオスクセットアップの中には、ウィンドウマネージャーを必要としないものがあります。 X for Microsoft Windowsの一部の実装では、OSにウィンドウを管理させることにより、Xウィンドウマネージャーを回避しています。
ウィンドウマネージャーがない場合、通常はプログラムにジオメトリを指定する必要があるため、すべてを左上隅に配置する必要はありません。
Xでは、ウィンドウマネージャーは単なるXクライアントです。これは当時としては珍しいことでしたが、さまざまなウィンドウマネージャーを簡単に使用できるようになりました。
質問を見る別の方法は、ウィンドウマネージャーをその場で変更できることを観察することです。そのため、最初のウィンドウマネージャーが停止してから2番目のウィンドウマネージャーが制御を取得するまでの時間がありますが、すべてのアプリケーションがクラッシュしないので、それらはできるはずですなしで動作します。
ウィンドウマネージャはユーザーにとって便利です。
良い^ 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
への呼び出しが最後の行であり、notがバックグラウンドに配置されていたため、fvwm
が終了するとXが終了しました。
Xスタートアップにはデフォルトの「フォールバック」もありました...設定ファイルがない場合は、単一のxterm
を実行してXを起動します。 xterm
を閉じると、Xセッションが終了します。
他の回答に追加するために、ウィンドウマネージャーなしで機能する オープンソースアプリ を開発してリリースしました(つまり、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サーバーとは接続していません。