先决条件,我安装了:
sudo apt install dbus-x11
sudo apt-get install samba-common-bin
sudo mkdir /var/lib/samba/usershares
以下命令
xhost +SI:localuser:myOtherUser
sudo --user myOtherUser env DISPLAY=$DISPLAY nautilus
xhost -SI:localuser:myOtherUser
导致以下错误:
(org.gnome.Nautilus:3806): dbind-WARNING **: 17:54:12.615: Couldn't connect to accessibility bus: Failed to connect to socket /run/user/1000/at-spi/bus: Permission denied
* Starting Nautilus Terminal
在之前的全新安装中,我已经遇到过上述错误,现在在另一个 Ubuntu 22.04.4 全新安装中又出现了这个错误,请参阅 无法在“在终端中打开”上执行子进程“dbus-launch”(Ubuntu 22.04LTS) 和 进入 Nautilus 时无法执行子进程“net”
有什么想法可以解决权限被拒绝错误吗?提前致谢!
答案1
添加NO_AT_BRIDGE=1
对我有用的命令:
sudo --user myOtherUser env DISPLAY=$DISPLAY NO_AT_BRIDGE=1 nautilus
答案2
这只是一个警告,但您可以抑制它,首先创建一个脚本来包装 dbus-launch 命令:
echo 'export NO_AT_BRIDGE=1' | sudo tee /usr/local/bin/dbus-launch-wrapper
echo '/usr/bin/dbus-launch "$@"' | sudo tee -a /usr/local/bin/dbus-launch-wrapper
sudo chmod +x /usr/local/bin/dbus-launch-wrapper
然后修改你的 sudo 命令以使用这个包装脚本:
xhost +SI:localuser:myOtherUser
sudo --user myOtherUser env "DISPLAY=$DISPLAY" "PATH=/usr/local/bin:$PATH" nautilus
xhost -SI:localuser:myOtherUser