同じホスト上の1つのX画面から別のX画面にウィンドウを移動できますか?


16

同じコンピューターで2つのXスクリーンと2つのビデオカードに3つのモニターを設定してXFCE 4.12を実行しています。2つのモニターは、nvidia twinview機能を使用して1つのX画面を形成します。これは、Xorg構成のDevice0のScreen0です。3番目のモニターは、Xorg構成のDevice1のScreen1である2番目の画面用です。Screen0のモニター間でウィンドウをうまくドラッグできます。Screen0とScreen1の間でマウスを自由に移動することもでき、クリップボードのデータも2つのXスクリーン間で運ばれます。

これらのXスクリーンは両方とも、独自のビューポートセットを持つ独立したデスクトップとして機能します。この方法が好きで、片側を自動的に「固定」するのに便利です。ただし、1つのX画面でプログラムを起動した場合、それをドラッグするだけでは他のX画面に移動できません。他の画面でそのプログラムを実行したい場合は、その画面で再起動する必要があります。

私の質問は、Xウィンドウのコマンドまたは他の機能を使用して、実行中にプログラムを他の画面に移動する方法があるかどうかです。ありがとう。

更新:この質問について賞金を開始しますが、これについてはしばらく疑問に思っていました。報奨金を獲得するには、証明のための引用を提供する必要があります。


1
xpraはあなたが求めているものにかなり似た何かを提供しています...
vlp

グーグルは、xmove

CentOS 5または6でその動作を得るために何かを変更しなければならなかったことを覚えていません。ここでどのバージョンのどのディストリビューションを使用していますか?
ニルス


@NathanFellmanおそらく、しかし私の場合、ディスプレイ間の移動について話しているとは思いません。私のプロセスリストによると、Xプロセスのインスタンスを1回だけ実行しています(:0)。:1や:2などはありません。これは、XFCEが複数の画面を管理する方法や、私の構成の問題にすぎないのかもしれません。これまでに述べたプログラムに関して、それらのどれもまだ維持または利用可能ではないようです。xmoveはほぼ20歳で、XiMoveのコピーが見つかりません。また、xpraは、私がやろうとしていることに対して、間違った種類のプログラムのようです。
deltaray

回答:


13

あなたはXのアプリケーションは、アプリケーションが最終的に表示されているXサーバとの直接起動移動することはできません、これは「それは、その寿命のために開始されたXサーバー(Xディスプレイ)に縛ら」されているXクライアントによるものである[ 1 ]これはあります最も可能性が高いのは、Xサーバー間で簡単に転送できないクライアントのウィンドウについてXサーバーが保持するメタデータです。

同じことは、(XineramaやTwinviewなどの拡張機能を使用しない場合の)個別に構成された画面にも当てはまります。マルチスクリーンサポートが明示的に記述されていないプログラムについては、「この構成では、マルチスクリーンをサポートするGIMPやEmacsのようないくつかの特別なプログラム。 "[ 2 ]

理論的には、アプリケーションがXサーバーコンテキストスイッチに対応するように設計されている場合、新しいディスプレイ/画面番号を提供し、そのウィンドウの状態を保存し、新しいXサーバー/画面に接続し、そのウィンドウを復活させることができますが、アプリケーションはこのように設計され、必然的に大量のボイラープレートか、何らかの形でこれを容易にするライブラリーを含める必要があります。

あなたにとって最適なオプションは、おそらく、GNU画面をコンソールアプリケーションや端末に使用できるのと同様の方法で、Xクライアントと表示中のXサーバー間のプロキシとして機能できる他のアプリケーションを使用することです。XmoveとXpra [ 34 ]は、これを行うために最も広く使用されている実装のようです。これらを使用する場合の注意点は、起動するアプリケーションは、XmoveまたはXpraをXサーバーとして登録して、異なるディスプレイサーバー間でコンテキストを切り替えられるようにする必要があることです。

最後に、SuperUserに、わずかに異なる目的で同様の質問をする別の質問があります(クライアントの意図的な切断/再接続ではなく、Xのクラッシュ後にXに再接続します)[ 5 ]


2
答えようとしてくれてありがとう、しかしこれは問題ではありません。私は、Xサーバー間ではなく、同じサーバー内のXスクリーン間を移動することについて話している。
deltaray

5
もともとそのニュアンスが懐かしかった、おologiesびします。残念ながら、複数の画面を1つに統合するXineramaなどの拡張機能がなければ、アプリケーションは同じサーバー上の別々の画面を別々の論理サーバーとして扱い、それらへの接続を別々に管理しているようです。リンク[2]を参照してください。Xサーバー間でアプリケーションを移動するための回避策は、画面間を移動する場合にも当てはまります。Xpraを接続するときは、DISPLAY環境変数の画面部分を指定するだけです。
ベンジャミン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.