启动时 xhost 设置

启动时 xhost 设置

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

/usr/bin/xhost +local:

在 Ubuntu 中如何实现类似功能?我希望

/usr/bin/xhost +local:

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

答案1

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 应用程序。

答案2

这对我有用:

编辑~/.xinitrc

export DISPLAY=":0.0"
xhost +
openbox

注意:在我的特定设置中,我只运行开箱。通常该文件在 Ubuntu 中是空的或缺失的。我猜你可以删除“openbox”行,这样它就可以工作了,但我现在没有办法测试它。如果它不起作用,请将最后一行替换为窗口管理器命令。

答案3

~/.xinitrc在 Ubuntu 14.04 上,它对我来说不起作用,但下面的方法~/.profile可以。每次登录、GUI/终端/SSH/等时,脚本都会运行,因此我重定向stdout以静音输出。

xhost +local: > /dev/null

答案4

这是@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。

相关内容