中央サーバーに複数のモニターがオンになっています。特定のプラットフォームで実行されているX-windowアプリケーションをDISPLAY
別のプラットフォームに「移動」できますかDISPLAY
?これはどのように達成できますか?
xpra
複数のリモートディスプレイを使用しています。
答え1
DISPLAY
2つの理由で実行されているX Windowアプリケーションを、変数によって決定された他のモニタに移動することはできません。
最初は実行中のプロセスの環境を変更することは困難です。そして、変動を考慮する方法でこれを安定して実行することは不可能です。
2つ目は、DISPLAY
変数が単なる入力であり、通常はアプリケーションの起動時にのみ考慮されることです。 Xアプリケーションの呼び出しXOpenDisplay
初期段階では、直接的または間接的に、そして(またはむしろ、XTOpenDisplay
)はDISPLAY
考慮する必要があります(必要に応じてXサーバーを指定して他の方法で使用できます)。 Xサーバーへの接続を表す不透明構造へのポインタをXOpenDisplay
返しますDisplay
。これは今からXサーバーとの通信に使用されるすべてです。後で変更された値はDISPLAY
何の影響もありません。アプリケーションは何らかの方法で値が変更されたことを認識し、Xサーバーへの接続を閉じてから新しい接続を開く必要があります。
この2つの点をまとめると、アプリケーションが望ましくないときにディスプレイを変更することはもちろん、ディスプレイを変更できるアプリケーションを書くことも非常に難しいことを意味します(なぜなら、そうするように設計されているからです)。