X11
ローカルコンピュータの出力をサーバーに転送するには、次の設定を使用しています。設定を簡単に説明します。
X11
サーバーとクライアントは同じローカルコンピュータにあります。- サーバーは
X11
自分のローカルコンピュータで実行されていますA
。 - クライアントは、自分のローカルコンピュータで呼ばれるDockerコンテナとして実行されます
B
。 R
クライアント上のプログラム()のグラフィック出力をB
ホスト上のサーバーに渡そうとしますA
。
アクセスの仕組みは次のとおりです。
- 私のクライアントには.so
B
ペアがあり、/tmp/.X11-unix
unixドメインソケットにアクセスできますunix:0
。 B
xhost +si:localuser:$(USER)
ホストでコマンドを実行して、クライアントがこのソケットにアクセスできるようにしますA
。 (これは、単一のローカルユーザーにアクセスを許可するサーバー解決アドレスです。)
これはすべて期待どおりに機能しますが、ソケットにアクセスしようとするたびに最初の試行では機能せず、エラーが発生しますX11 protocol error: BadAccess (attempt to access private resource denied)
。グラフィックデバイスをもう一度閉じてX11
再度開くと、すべてがうまく機能します。依存関係によって完全に異なる設定を使用しても、ssh
問題はまだ存在しますX11-forwarding
。デバイスアクセスを使用した最初の試みが成功したcairo
場合は、Xlib
デバイスに関する問題を再追跡できます。X11
サーバー上のUnixドメインソケットにアクセスするためにデバイスを使用するプログラムの経験があるのか、cairo
これが起こるのかを知っている人はいますか?