为什么 sudo xhost 在 openSUSE 上会抛出错误,而 su -c xhost 不会?

为什么 sudo xhost 在 openSUSE 上会抛出错误,而 su -c xhost 不会?

以下是一些有效的方法:

xhost
su -c xhost
su -c su `logname` -c xhost

以下是一些不起作用的事情:

sudo xhost
sudo su `logname` -c xhost
sudo runuser -l `logname` -c xhost
sudo -u `logname` xhost

这些都抛出了以下错误:access control enabled, only authorized clients can connect

有谁知道为什么会发生这种情况,或者我如何xhost在我的用户最有可能运行的脚本中使用该命令sudo

答案1

由于某种原因,当在 openSUSE 上使用 sudo 时,未设置 DISPLAY 环境变量。这最终对我有用:

sudo DISPLAY=`ls /tmp/.X11-unix | tr 'X' ':' | grep -o ":[0-9]" | head -n 1` su `logname` -c xhost

相关内容