web-dev-qa-db-ja.com

リモートクライアント(つまりXserver)コンピューターがスリープ/休止/一時停止している間、リモートX11アプリケーションを保持する

私は遅いがポータブルなコンピューター(asus eeepc、vivobookなど)を使用しており、すべての開発をリモートサーバーで行っています。

ほとんどの場合、サーバーにsshだけアクセスし、screenセッションを開始します。何かが発生した場合(クライアントのスリープ、接続の中断など)、再度接続して画面セッションを再開します。

しかし最近、開発の一環としてXアプリケーションを実行しています。特に、Androidエミュレーターです。ラップトップをスリープ状態にして作業を再開しようとするたびに、すべてのXアプリケーションが何かで停止しました。に似ている:

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server "localhost:10.0"
      after 356 requests (356 known processed) with 0 events remaining.

とにかく、コンソールアプリケーションでXアプリケーションで使用できるようなリモートワークフローを使用できますか?

3
gcb

xpra を試してください。screenと同じように機能するはずです。また、プレーンなx11-over-sshよりもパフォーマンスが向上します。

6
user1686

おそらく、X11転送の代わりにvncを使用してみてください。このようにして、リモートセッションは好きなだけ開いたままになります。単一のアプリケーションウィンドウだけでなく、デスクトップ環境全体を使用できるという利点もあります。

このアプローチを使用すると、リモートマシンでvncserverを起動するだけで済みます。使用したいローカルポートをリモートマシンで使用されているポートに転送します(ssh -Llocal-port:localhost:remote-port)リモートマシンでのローカル接続のみを許可することで、X11転送と比較してセキュリティ上のペナルティが発生することはありません。

1
mikyra