2

セットアップ済みのネットワーク名前空間内でいくつかの GUI アプリケーションを起動したいリモート サーバーがあります。xセッションを転送するためにsocatを使用しています。

socat  exec:'ssh {REMOTE_HOST} rm -rf /tmp/.X11-unix/X1; socat -d -d -d -d unix-l\:/tmp/.X11-unix/X1111 -' unix:/tmp/.X11-unix/X0

ただし、次のようなアプリケーションを起動しようとするとeog

DISPLAY=:1111 eog

次のメッセージで失敗します。

I   No protocol specified
** (eog:9498): WARNING **: Could not open X display
Cannot open display:
Run 'eog --help' to see a full list of available command line options.

そしてsocatすぐに終了します。

4

1 に答える 1

2

1日かかりましたが、方法を考えました。

Xpraを使用して、リモート サーバーで X サーバーを起動し、ローカル マシンに接続しました。

socat アプローチも、ローカルで実行し、リモート サーバーでの呼び出しにフラグxhost +を追加した後に機能しました。ただし、一貫して機能することはありませんでした (起動中にアプリケーションがハングする可能性はそうでない場合と同じくらいありました)。また、Firefox のような複雑なアプリケーションでは機能しませんでした。dbus を使用しようとしたときにハングするアプリケーションを指しているアプリを追跡します。forksocat

于 2016-10-29T15:24:20.660 に答える