![在没有 Sudo 的情况下在特定网络命名空间中运行应用程序?](https://linux22.com/image/222489/%E5%9C%A8%E6%B2%A1%E6%9C%89%20Sudo%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%9C%A8%E7%89%B9%E5%AE%9A%E7%BD%91%E7%BB%9C%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我试图使用特定的网络命名空间运行 google-chrome,但是当我这样做时没有音频。我运行该命令,使其在网络命名空间中运行,如下所示:
sudo ip netns exec myns sudo -u "$USER" google-chrome
这里的具体问题似乎是我必须使用 sudo 。我sudo -u
在此处使用特定用户运行它,但它无法播放音频,并且不会显示在系统音频混合器进程列表中。但它是在我的用户下运行的。
同样,如果我不使用网络命名空间,我也会遇到同样的问题,只需运行 sudo 命令就会停止播放音频。
sudo -u "$USER" google-chrome
因此,我可以将其放入我想要的网络命名空间中,而无需使用 sudo,这应该可以解决问题。或者也许其他人知道其他解决方法?
答案1
要传递本地环境变量,请sudo
运行-E
.