newns
ここではスクリプトを使用しています。
https://superuser.com/questions/983727/route-only-特異的-traffic-through-vpn
...このシステムでは除外されます。
$ mate-about -v
MATE Desktop Environment 1.24.0
$ cat /etc/issue
Ubuntu 20.04.2 LTS \n \l
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
問題はexport XTERM=/usr/bin/mate-terminal
そのスクリプトを変更し、newns MYNS start
再起動後すぐに実行すると「名前空間」端末が正常に実行され、newns MYNS stop
「名前空間」端末が閉じます。すべてが正常です。期待される。
しかし、私がしたいとき繰り返すプロセス - 端末はもう起動しませんが、エラーはありませんか? !結局、次の行に単純化しました(ネットワークネームスペースMYNSを作成した後)。
$ sudo /usr/bin/ip netns exec MYNS su -c /usr/bin/mate-terminal myusername
(mate-terminal:12410): dbind-WARNING **: 17:33:10.398: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-pRWfI7rzyW: Connection refused
時々、それは可能一度実行しますが、99%の場合、このコマンドを再実行しても結果は生成されません。
面白い部分は次のとおりです。上記のコマンドラインを次のように置き換えると、次のようにmate-terminal
なります。xterm
sudo /usr/bin/ip netns exec MYNS su -c /usr/bin/xterm myusername
...効果がある毎回!しかし、使用したくありませんxterm
。タブ付き端末が必要です...
楽しく、ここでもVLCを実行してみました。
sudo /usr/bin/ip netns exec MYNS su -c /usr/bin/vlc myusername
...そして少なくとも正常に起動します(「vlcpulseオーディオ出力エラー:PulseAudioサーバーへの接続に失敗しました:接続が拒否されました」;「dbusインターフェイスエラー:D-Busセッションデーモンに接続できません:ソケットに接続できません」 )。 word/tmp/dbus-CRRGy7gvlN: 接続が拒否されました。
それでついにインストールして使ってみました。他のメッセージを除いて、同じgnome-terminal
ように開始されませんでした。mate-terminal
$ sudo /usr/bin/ip netns exec MYNS su -c /usr/bin/gnome-terminal myusername
# Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-pRWfI7rzyW: Connection refused
# Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Could not connect: Connection refused
/tmp/dbus-pRWfI7rzyW
両方の端末が起動すると、ファイルは繰り返されますが、次のようになります。
$ sudo ls -la /tmp/dbus*
ls: cannot access '/tmp/dbus*': No such file or directory
...確かにシステムにはありません。
だから私の考えでは、これはDBUSと関連があるかもしれません。残念ながら、私は実際にdbusを知らないか理解していません。
私の質問は - 私ができる解決策はありますか、mate-terminal
それともgnome-terminal
毎回この状況で始めることができますか?
ベストアンサー1
疑いがあるように、高度な端末が機能しないのは、dbusに接続できないためです。これは、dbusが新しい名前空間で利用できない抽象Unixソケットを使用しているためです(このトピックを参照)。質問)。
参照されている質問には多くのオプションがありますが、多くのdbus詳細を共有する必要がない場合(おそらくそうではないかもしれません)、最も簡単な方法は各呼び出しに対してdbusセッションを取得することです。
sudo /usr/bin/ip netns exec MYNS su -c "/usr/bin/dbus-launch /usr/bin/gnome-terminal"