ネットワークネームスペースからディスプレイにアクセスする

ネットワークネームスペースからディスプレイにアクセスする

私の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ソケットでのみリッスンしている場合は機能しません。$DISPLAYlocalhost:10

関連情報