我可以通过编辑在 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。