Xクライアントが動作するには、必ずウィンドウマネージャが必要ですか?

Xクライアントが動作するには、必ずウィンドウマネージャが必要ですか?

Xクライアントが動作するには、必ずウィンドウマネージャが必要ですか? XクライアントはXサーバーでのみ使用できますか?

X クライアントにウィンドウがない場合、動作するにはウィンドウマネージャが必要ですか?

Xクライアントがウィンドウマネージャなしで動作できる場合、Xクライアントには必ずウィンドウがありませんか?

ありがとうございます。

答え1

いいえ、Xクライアントが機能するためにウィンドウマネージャを実行する必要はありません。一部のシステムでは、起動時に端末のみを実行してウィンドウマネージャを含む他のプログラムを実行するオプションを提供しています。単一のアプリケーションのみを実行したいキオスク設定には、ウィンドウマネージャは必要ありません。 Microsoft Windows用Xの一部の実装では、オペレーティングシステムにウィンドウを管理させるためにXウィンドウマネージャを使用しません。

ウィンドウマネージャがない場合は、左上にすべてを配置する必要がないようにプログラムのジオメトリを指定する必要があることがよくあります。

Xでは、ウィンドウマネージャは別のXクライアントです。当時は珍しいことでしたが、別のウィンドウマネージャを使用するのは簡単になりました。

問題を調べるもう1つの方法は、ウィンドウマネージャを動的に変更できることを観察することです。したがって、最初の停止と2番目のウィンドウマネージャがコントロールを持つまでにはある程度の時間がありますが、アプリケーションのいずれも競合しないため、何もできません。職業。

答え2

いいえ。よく書かれたアプリケーションにはウィンドウマネージャは必要ありません。

ただし、一部の「最新」の破損したアプリケーションは、ウィンドウマネージャなしでは正しく動作しません(Firefoxやプルダウンされていないアドレスバーの提案[1]など)。

他の多くのサブアプリだけでなく考えるウィンドウマネージャーだがけがに侮辱を加えるためにクリックして集中ウィンドウマネージャ。たとえば、過去にはすべてのJavaアプリケーションが単に起動に集中していました。

テストするにはXephyr(「ネストされた」X11サーバー)をインストールして実行し、Xephyr :1そのDISPLAY=:1環境でアプリケーションを起動します。

[1] Firefoxの「Awesome Bar」は、ウィンドウマネージャが起動していない場合は、履歴ボタンを入力したりクリックしても提案ウィンドウを開けません。自動非表示メニューも機能しません。

答え3

ウィンドウマネージャはユーザーに利便性を提供します。

以前は次~/.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

このファイルはstartx。このスクリプトが完了すると、Xサーバーは終了します。

最後の行を参照してくださいexec .../fvwm。これは私のウィンドウマネージャ(fvwm)を起動する行です。以前のアプリケーション(xv、、、、)はxterm、すべてウィンドウマネージャが起動する前に実行されます。通話は最後の回線です。xclockxscreensaverfvwmいいえバックグラウンドに配置すると、fvwmXが終了したときに閉じます。

X 起動の「代替」デフォルトもあります。構成ファイルが存在しない場合、xtermX は 1 回の実行で始まります。このコマンドを閉じると、xtermXセッションは終了します。

答え4

はい、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」は、仮想マシンのインストール時に指定した名前です。これ-Kvirt-viewerを切り替えると、最小限の制御でフルスクリーンが表示されるため、CTRL-ALT-Fnを押して別の仮想コンソールに切り替えるまで、各仮想マシンがマシンを所有しているように見えます。

もちろん、CentOSは仮想マシン内でディスプレイマネージャとウィンドウマネージャを実行しますが、これはホストマシンで実行されているXサーバーには関連付けられていません。

関連情報