在 Linux 下以另一个用户身份运行 X 应用程序

在 Linux 下以另一个用户身份运行 X 应用程序

访问旧话题在 Linux 下以另一个用户身份运行 X 应用程序,因为解决方案一直是“使用gksu“对我来说,但是今天,当我需要它并尝试它时,它却不起作用。

下列的什么是 gksu 以及为什么要使用它, 我试过,

gksu -u otherusername xterm

通过要求输入密码的对话框后,我得到:

$ gksu -u otherusername xterm
xterm: Xt error: Can't open display: :2

也就是说,它对我来说不起作用。所以,

如何在 Linux 下以另一个用户身份运行 X 应用程序?谢谢。

PS,这是Ubuntu 17.04:

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.04
Release:        17.04
Codename:       zesty

答案1

Ubuntu 17 对吧?你确定你正在运行 Xorg,而不是韦兰(即是否ps auxfww实际上显示了一个正在X运行的程序?)

如果您正在运行 Wayland(默认情况下):以 root 用户身份访问显示不允许由于安全特征(咳嗽)(咳嗽)。他们说你可以通过运行这个命令来解决这个问题尝试运行 gksu:

xhost si:localuser:root

另一种方法是使用传统的 Xorg 显示系统启动你的 Ubuntu 系统;我认为你可以在登录时设置它

不过我从未使用过 Ubuntu 17,也绝对不是 Wayland 用户。这可能是Ubuntu 18/LTS 将默认恢复使用经典 Xorg

重要的提示:如果其他用户名你的不是,无论您使用的是 Wayland 还是经典 Xorg,您都需要在通过 gksu 运行程序之前运行以下命令:

xhost si:localuser:otherusername

更新:

上述解决方案不适用于 Ubuntu 17.04 Xorg:

$ xhost si:localuser:root
localuser:root being added to access control list
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  109 (X_ChangeHosts)
  Value in failed request:  0xe
  Serial number of failed request:  7
  Current serial number in output stream:  9

好像Ubuntu Xorg“服务器没有构建 SECURE_RPC 支持,因此尝试添加 FamilyNetname (0xfe) 主机失败。”

因此,目前还没有针对 Ubuntu 的现成解决方案(但这仍然是回答直到找到一个可行的答案)。

答案2

检查您的DISPLAY环境变量;看起来新用户正在尝试使用 display :2,但它可能没有连接 X 服务器。

您可以尝试类似这样的操作:export DISPLAY=localhost:0.0,它应该会告诉 otherusername 的 X 应用程序使用当前用户的 X 服务器。(我很确定这是一个 hack,因为这个变量应该可以正确配置,而不必设置它,更多细节这里

答案3

  1. otheruser代表超级用户将密码分配给此。:

    passwd otheruser

  2. 如果安装了 sudo 程序,则将以下行添加到/etc/sudoers,例如:

    user ALL = (otheruser) ALL

这将允许user代表用户执行任何程序/命令otheruser

`$ sudo -u otheruser xterm`

user将会要求输入用户的密码。

可以通过在上面一行中添加指令来实现无需密码请求NOPASSWD

user ALL = (otheruser) NOPASSWD: ALL

原来的 -https://ru.stackoverflow.com/questions/473607/%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-%D0%BE%D1%82-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F

许多帮助额外的标志-c-p

相关内容