启动时的xhost设置


8

我可以通过编辑/etc/gdm/Init/Default和例如添加在Fedora中在启动时设置xhost。

/usr/bin/xhost +local:

在Ubuntu中如何做类似的事情?我想要那个

/usr/bin/xhost +local:

当系统位于登录提示时执行命令。

Answers:


11

xhost命令需要一个活动的X服务器来运行,它可以在登录屏幕上运行,例如在lightdm加载时。您可以通过编辑/etc/lightdm/lightdm.conf并添加以下行来启用它:

display-setup-script=/home/user/bin/xhost.sh

示例/etc/lightdm/lightdm.conf文件:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh

示例/home/user/bin/xhost.sh文件:

#!/bin/bash
xhost +

它可以在Ubuntu 12.04.1 LTS上运行,并且需要启用X并由Tomcat 6运行的Java应用程序。


1
您可能需要使用以下命令使xhost.sh脚本可执行:chmod + x /home/user/bin/xhost.sh
George

在Xubuntu 18.04中可以使用,但是请确保脚本可以按照@George Litos的说明执行,否则您的系统将无法启动。
何塞托马斯腌肠

2

这为我工作:

编辑~/.xinitrc

export DISPLAY=":0.0"
xhost +
openbox

注意:在我的特定设置中,我仅运行openbox。通常,该文件在Ubuntu中为空或丢失。我的猜测是,您可以删除“ openbox”行,并且该行会起作用,但是我现在没有办法对其进行测试。如果不起作用,请替换窗口管理器命令的最后一行。


1

~/.xinitrc在Ubuntu 14.04上对我不起作用,但以下内容对我有用~/.profile。在每次登录时,GUI / terminal / SSH / etc ...,脚本都会运行,因此我重定向stdout以使输出静音。

xhost +local: > /dev/null


1

我在Ubuntu 17.10中遇到了相同的问题。可能是我的系统配置不正确。无论如何,我的情况是

xhost + SI:localuser:root > /dev/null

在我~/.bashrc文件的底部,它可以正常工作。我不知道这是否有安全隐患。我同意,以防他人处于相同的情况,并相信将root添加到有特权的X服务器用户列表中应该可以。

建议在这里http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/

您可以先在终端上直接对其进行测试:

$ xhost + SI:localuser:root
$ xhost -

第二行确保只有列表中的用户才能访问X服务器。右键单击文件或直接执行后,然后尝试“以管理员身份编辑”

$ pkexec gedit

如果这不起作用,那么在〜/ .bashrc中将命令永久化是没有意义的。

更精确地说,我首先执行

$ xhost

查看哪些用户有权访问X服务器。我看到格式是我的登录名SI:localuser:dominic所在的位置dominic。因此,我使用相同的格式SI:localuser:root 来添加root用户。


0

这是@GeorgeLitos答案的变体,其中有以下更改:

  • 不要直接修改/etc/lightdm/lightdm.conf,因为这是系统拥有的文件,可能会被系统升级覆盖。而是使用扩展目录/etc/lightdm/lightdm.conf.d/。这也意味着其他设置不需要在那里重复。
  • 无需单独的shell脚本;该命令可以直接放置到配置文件中。

只需创建一个/etc/lightdm/lightdm.conf.d/xhost.conf具有以下内容的文件(作为用户root):

[SeatDefaults]
display-setup-script=xhost +

这适用于Ubuntu 16.04.5 LTS。


-1

编辑文件/etc/rc.local(使用sudo),并将命令添加到最后一个命令(exit 0)之前。


1
这是行不通的(而且我尝试了很少,也行不通)。因为该脚本没有访问权限,因此一开始就无法更改该设置。必须以lightdm用户身份执行吗?
yurtesen

-1

将以下行添加到 /etc/xdg/lxsession/LXDE/autostart

xhost +local:
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.