私のFedora 21 VMには複数のネットワークネームスペースがあります。ネットワークネームスペース内でディスプレイにアクセスするには?
# ip netns exec n1 xlogo
Error: Can't open display: localhost:10.0
答え1
UNIXソケットを介してX11にアクセスする場合は、「正常に動作」する必要があります。明らかに、UNIXドメインソケットはネットワークネームスペースによって分離されていません。
エラーが発生したため、UNIXソケットではなくTCPを使用しているようです。
TCPを使用してX11に接続するには、ネットワーク名前空間の境界を超えて他のネットワークサービスにアクセスするのと同じ方法で、ネットワークを介してトラフィックを別の名前空間にルーティングする必要があります。例えばveth
ネットワークインタフェースペアの作成名前空間間または物理ルーターを介してトンネルとして機能します。どちらもIPアドレスとルーティングを設定する必要があります。
TCPの代わりにUNIXソケットを介して接続するように構成できる場合は、簡単にすることもできます。とにかく、これは通常デフォルトです。代わりに?:10
これにより、UNIXを使用することもできます。 X11サーバーまたはプロキシがTCPソケットでのみリッスンしている場合は機能しません。$DISPLAY
localhost:10