Xクライアントが機能するためにウィンドウマネージャーが必要ですか?


32

Xクライアントが機能するためにウィンドウマネージャーが必要ですか?XクライアントはXサーバーのみで動作しますか?

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

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

ありがとう。


4
私が最初にXに出会ったとき、つまり、かなり前に、ウィンドウマネージャーが必要ないという事実は、ほとんどの入門資料で説明されていました。最近はそうではないように見えますが、誰かがこれを明らかなことや怠の例だと思うかもしれません。
dmckee

11
@Tim:あなたは、ダウンボートが「憎悪」、「悪」、「残酷」、「差別」、またはそのような何かを伝えることを意図していないことを知っておく必要があるほど十分に長い間いました。ダウン投票は単なるコンテンツレーティングシステムであり、一部のコンテンツは他のコンテンツよりも価値がありません。(記録のために、私はこの質問をダウン票しませんでした。この質問は素晴らしいと思います。)参照:メインサイトのダウン票がin辱ではなく、実際に彼らが自分自身を助けることができることを新しいユーザーにもっと明白にできますか? ?メタスタックオーバーフロー。
ダニエル・プライデン

5
@Timあなたのダウン投票された質問のいくつかは私には役に立たないようです。UI(ボタンの代替テキスト)により、ユーザーは「役に立たない」質問に投票することができます。憎しみは必要なコンポーネントではありません。あるシナリオで質問が潜在的に使用される可能性があるという小さなヒント/アサーションを追加すると(たとえ非常にわずかである/ありそうにない場合でも)、そのひざまずき反応がほとんど妨げられます。私が見たあなたの質問は、そのようなヒント/主張が欠けているという点で非常に似ています。
クバンチク

3
ティム、ダイヤモンドのモデレーターは、パターン投票を検出するいくつかのツールにアクセスできます。フラグを立てて、調査するよう依頼します。/ mod on physics.se
dmckee

1
あなたの質問の一部は非文法的に見えます。最悪の犯罪者は、「それが機能するかどうかは、ウィンドウマネージャーが必要ですか?」と思われます。
hkBst

回答:


26

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

ただし、一部の「モダンな」壊れたアプリは、ウィンドウマネージャーがないと正常に動作しません(たとえば、Firefoxとそのアドレスバーの候補はドロップダウンしません[1])。

他の多くのサブパーアプリは、ウィンドウマネージャーを想定しているだけでなく、傷害にto 辱を加えるために、クリックしてフォーカスするウィンドウマネージャーです。たとえば、以前は、Javaアプリケーションはすべて、起動時にフォーカスを奪うだけでした。

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

[1] Firefoxの「素晴らしいバー」は、ウィンドウマネージャーが実行されていない限り、履歴ボタンに入力またはクリックされたときにその提案ペインを開きません。自動非表示メニューも機能しません。


あなたが言及した問題について、Firefoxに未解決のバグはありますか?firefoxのオープンソースの性質は、その問題のバグ修正に対応する用意があると思います。
t3dodson

4
@ t3dodson提出することもできますが、それを修正するパッチを誰かがレビューしたいと思うのは非常に疑わしいです。firefoxの実行は、ウィンドウマネージャー、セッションマネージャー、および最近ではpulseaudioサーバーが実行されていないと実際にはサポートされません。もちろん、フォークすることはできますが、Firefoxのフォークを維持することは、私の最悪の敵に望むものではありません
;

このテーマに関するImoの答えは、Xephyrに言及せずには完全ではありません。+1
ルイFリベイロ

38

いいえ、Xクライアントを機能させるためにウィンドウマネージャーを実行する必要はありません。一部のシステムには、起動時にターミナルを実行するだけのオプションがあり、そこからウィンドウマネージャなどの追加プログラムを起動できます。1つのアプリケーションのみを実行する必要がある一部のキオスク設定では、ウィンドウマネージャーは不要です。X for microsoftウィンドウの一部の実装は、OSにウィンドウを管理させることにより、Xウィンドウマネージャーを回避します。

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

Xでは、ウィンドウマネージャーは単なるXクライアントです。これは当時は珍しいことでしたが、異なるウィンドウマネージャーを簡単に作成できるようにしました。

質問を見る別の方法は、その場でウィンドウマネージャを変更できることを観察することです。そのため、最初のものが停止してから次のものが制御を取得するまでに時間がありますが、すべてのアプリケーションがクラッシュしないため、なしで動作します。


2
ヒント:wmなしの構成を試すときに本当に役立つxwitというツールがあります。
rackandboneman

7

ウィンドウマネージャは、ユーザーにとって便利です。

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)を開始した行です。以前のすべてのアプリケーション(xvxtermxclockxscreensaver)ウィンドウマネージャが起動する前に実行していました。への呼び出しfvwmは最後の行であり、バックグラウンドに置かれていないため、fvwm終了するとXが閉じられることを意味しました。

Xの起動には「フォールバック」のデフォルトもありました...構成ファイルがなければ、1回xterm実行してXを起動します。終了するxtermと、Xセッションが終了します。


fvwmをバックグラウンドにしないことの利点は何ですか?
アレックスHajnal

1
スクリプトが終了しない場合、Xサーバーが終了するため、スクリプトを終了する必要があります。バックグラウンドにしないfvwm(およびで実行するexec)ことにより、Xサーバーがシャットダウンしないようにするプロセスがあることを確認します。その最後のプロセスを作成することによりfvwm、「終了」メニュー項目が期待どおりに機能するようになります。
スティーブンハリス

とった。Xでかなり低レベルの作業を行ってからしばらく経ちました。fvwm2は私の2つのお気に入りのウィンドウマネージャーのうちの1つ(もう1つはkwin 3です)と言わなければなりません。
アレックスHajnal

私の場合、fvwm-1.24r私のお気に入りのウィンドウマネージャーでした:
スティーブンハリス

私はあなたにそれを聞きます。しかし、v2はv1よりもカスタマイズ可能であったことを思い出すようです(すべての設定オプションが単一のテキストファイルにあり、オンザフライで再読み込み可能ですか?)特に今日の標準では、かなり軽量です。私は最後にP-II時代IIRCでそれを毎日使用しました。
アレックスHajnal

6

他の回答に追加するために、ウィンドウマネージャーなしで動作するオープンソースアプリを開発およびリリースしました(xinitrcから直接起動できることを意味します)。この場合、アプリケーションはダイアログのジオメトリとZオーダーを管理する以外にいくつかの追加手順を実行する必要がありますが、これは完全に管理可能です。


1

ここには多くの詳細な答えがあります。ここに簡単な明確な答えがあります。

Xクライアントが機能するためにウィンドウマネージャーが必要ですか?

いいえ:ただし、ウィンドウの管理(移動、サイズ変更、下げ、上げなど)に苦労する場合は除きます。必要に応じて、これを実行できる他のツールがあります。

XクライアントはXサーバーのみで動作しますか?

はい

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

ウィンドウがない場合は、ウィンドウマネージャーがないことのマイナス面はありません。

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

いいえ:ウィンドウを持つことができます。

これを試して。

DISPLAY=:21
vncserver -localhost -geometry 1920x1080  -SecurityTypes None $DISPLAY &
ssvnc $DISPLAY
xterm &

その後、新しいxtermタイプでfvwm

あなたはインストールする必要がありvncserverssvncfvwm、最初に。


1

はい、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サーバーとは接続されていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.