Xorg、X、XWaylandで使用されるDISPLAYを検出する方法

Xorg、X、XWaylandで使用されるDISPLAYを検出する方法

Xorg サーバーの実行に使用されるプロセス名が最近 RHEL から X から Xorg に変更され、最近新しい Wayland サーバーとともに XWayland が導入されました。以前のバージョンでは、Xorgプロセスと関連するコマンドラインパラメータは次のようになりました。

/usr/bin/X -nr -nolisten tcp :0 vt1 -auth /var/run/kdm/A:0-uyAhRO

Xファイルは実際には/usr/bin/Xorgへのシンボリックリンクです。その後、RHEL8では、コマンドは次のように変更されます。

/usr/libexec/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

このトピックでは、次の質問を提示します。

1)以前のバージョンでXorgの代わりにXをプロセス名として使用するのはなぜですか?

2) 最新バージョンで DISPLAY パラメータ (:0) が削除されたのはなぜですか。

3) プロセスのコマンドライン引数を読み取って、Xorg サーバーが実行されているモニターを確認できます。もう動作しません。最新のディストリビューションでこれを行う必要がある場合はどうすればよいですか?

4)プログラム環境でDISPLAY変数を受け取り、Xorgディスプレイと一致することを確認する必要があります。 Xorgと同じモニタでプログラムを実行する必要があるからです。このチェックを実行することはまだ関連していますか?それとも、今「:0」と仮定できますか?

ベストアンサー1

1)元のフリーXサーバーがある段階である程度商業的になったので、無料の変種であるXFree86がこのサーバーから分離され、少し政治やドラマの後にX.orgになりました。ウィキペディアいくつかの歴史がありますが、議論の多いすべての歴史と同様に、著者の偏見に注意してください。

しかし、コンピューティングの場合、それはすべてずっと前でした。とにかく、バイナリ名は最終的に(明らかにはるかに後で)からに変更されたので、XRHELXorgだけでなくすべてのディストリビューションもそれに従わなければなりませんでした。

2)読んでみると、これはman Xorgオプションのパラメータです。記憶が間違っているかもしれませんが、以前は必須だったと思います。スクリプトがこれを指定する必要がない場合は、より簡単になります。

3)たとえば、どのプロセスが使用されているか(またはディストリビューションがX用のunixドメインソケットをどこに置くか)をlsof調べるために使用できます。/tmp/.X11-unix/X0

4) いいえ、これを確認しないでください。一度。DISPLAY設定されている場合は、このディスプレイが使用されていると想定してください。 X転送を使用してsshを介してログインしている12人の人々がローカルコンピュータで実行されている5台のXサーバーを持っていても、TCPソケットを介してローカルLANを介して10台のXサーバーにさらにアクセスできます(現在はまれですが)DISPLAY。ユーザーはすべての可能なディスプレイの中で欲しいものです(そして彼が使用することを承認された唯一のディスプレイかもしれません)。

これを望まない場合、ほとんどすべてのプログラムには、-displayそれをオーバーライドするために使用できるコマンドライン引数があります。

特定のディスプレイでXサーバーにアクセスできない場合はアクセスできず、プログラムはエラーメッセージで停止します。ただし、これについてさらに確認する必要はありません。

おすすめ記事