失われたX11セッションに再接続する


27

X11転送を使用sshしてWindowsボックスでLinuxアプリを実行していますが、ネットワークがドロップすると、実行中のすべてが失われます。screenX11に似たものはありますか?


明らかにする。なぜ単に使用しないのscreenですか?またはXVNC?Linuxマシンで画面を実行し、ネットワークが切断されたら、再接続してscreen -DR、セッションの再接続に使用します。
nixの

@nix Xアプリでも機能しますか?
マイケルMrozek

2
@nix screenguiアプリでは機能しないと思います。
アブドラジバリー

もちろん、screenはxtermから実行する必要があります。
nixの

回答:


32

XpraまたはXpra forkは、まさにそれを主張しています:

つまり、基本的にはリモートXアプリの画面です。

私はしばらくそれを使用していませんが、試してみるとかなりうまくいきました。リモートマシンでサーバーを起動します。

[remote] $ xpra start :13

次に、ローカルマシンからサーバーに接続します。

[local] $ xpra attach ssh:remote:13

そして、リモートマシンのXディスプレイ13に表示されるものはすべてローカルに表示されます。

[remote] $ DISPLAY=:13 xeyes

4
WinSwitchもあり、一見するとxpraと他の関連ソフトウェアを統合しているように見えます。
ジル「SO-悪であるのをやめる」

6

VNCを探しています。原則は、画面に多少似ています:VNCサーバー(バックグラウンドSCREENプロセス)とVNCクライアント(フォアグラウンドscreenプロセス)を実行します。VNCサーバーはXサーバーであるため、Xアプリケーションを実行できます。

LinuxボックスでVNCサーバーを実行し、Windowsボックスでクライアントを実行します。いくつかの実装から選択できます。1つの可能性はTightVNCです。TightVNCは多くのLinuxディストリビューションにあり(インストールされていない場合はインストールするか、別の実装を選択してください)、Windowsクライアントがあります。

2台のマシンがネットワーク上であまり近くにない場合-ファイアウォールまたはそれらの間に盗聴者のリスクがある場合-sshを介してVNCトラフィックをトンネルする必要があります。sshにローカルポート5900をリモートポート5900に転送させます(5900はディスプレイ:0に対応し:1、などに5901を使用します)。


4

実際、Xをに転送できますscreen。行うべきことは$DISPLAYscreenウィンドウの外側と同じになるようにウィンドウを設定することです。

手順

ssh -Xリモートマシンに入力した後、入力します

$ echo $DISPLAY

結果をコピーしますlocalhost:N.0。通常は。次にscreen、ローカルscreenウィンドウでと入力し、

$ export DISPLAY=localhost:N.0

この後X、画面ウィンドウ内で必要なプログラムを実行します。

注:screenウィンドウでは、環境変数は独立しています。そのため、ウィンドウごとに個別に設定する必要がある場合があります。

参照資料


1
こんにちはチョン、unix.SEへようこそ。リンクするソリューションの詳細は単純であるため、ここで明示的に書き直すことをお勧めします。この方法では、askubuntu.comの投稿に何か問題が発生しても、回答は保持されます。もちろん、リンクを維持することもお勧めします。リンクは資料を入手するのに役立つためです。
博士14年

2
この解決策を試してみましたが、実行中のXアプリケーションを強制終了せずにsshセッションを閉じることはできません。これはどういうわけかその目的を無効にします...リモートアプリケーションを実行したまま、リモートホストから切断するにはどうすればよいですか?
トニン14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.