我使用Ubuntu + X11 + Gnome。
我想要以另一个用户的身份运行一个图形化应用程序。
然而,当我使用命令行以sudo -u otheruser app
的方式启动它时,我会得到错误信息"未指定协议"。
我该如何解决这个问题?
xhost '+si:localuser:USERNAME'
首先执行此命令:
$ sudo xhost +
然后以另一个用户身份运行所需的命令:
$ sudo -i -u username
$ command you want to run
$ sudo xhost -
sudo xhost +local:
。 - maxy使用
xdg-su -u user -c command
ego app
或ego -u somebody app
。如果遇到问题,请在GitHub上打开一个问题。我可能是唯一的用户,所以它还没有经过太多测试。(我注意到我晚了十年才回答这个问题,但希望它能帮助到某些人:D)你可能需要告诉你的X服务器接受来自拥有服务器实例(即你)以外的其他用户的连接。可以查看xhost命令。
gksu -u <user> -c <command>
将<user>
替换为要运行命令的用户名,将<command
>替换为要运行的命令。请记住,程序将在<user>
的上下文中运行,但在当前目录中。
在弹出窗口中,当然要输入目标<user>
的密码。
gksudo -u 命令