gpt4 book ai didi

linux - 如何在 Linux 中自动启动需要 X 的应用程序

转载 作者:可可西里 更新时间:2023-11-01 11:50:41 25 4
gpt4 key购买 nike

我正在尝试在系统进入运行级别 5 时自动启动 X 应用程序。

正确的做法是什么?

我写了一个脚本放在/etc/init.d/里

我已经运行了适当的 chkconfig 命令来设置/etc/rcX.d 目录中的符号链接(symbolic link)。

一切正常,除了脚本在我运行时无法启动 X 应用程序:

/sbin/service scriptName start

该行看起来像这样(为了论证我已经切换到 xclock):

'start')
xclock

我收到以下错误:

Error: Can't open display:

经过一些研究,/sbin/service 似乎从典型的 shell 中删除了大部分环境变量。通过添加显示:

'start')
DISPLAY=:0
export DISPLAY
xclock

我得到:

Error: Can't open display: :0

我修改了我的脚本以包括:

'start')
DISPLAY=:0
export DISPLAY
XAUTHORITY=/root/.xauth2w90ge
export XAUTHORITY
xclock

现在它可以工作了 - 但这显然是一个 hack,因为生成了 .xauth2w90ge 文件并且实例之间不会相同。

那么有没有正确的方法来做到这一点,还是我找错了树?我的要求是让这个应用程序随机器自动启动,我受到我可以在 RPM 安装后脚本中运行的任何命令和权限的限制。

最佳答案

与其定义初始化脚本,不如让 X(或您的窗口管理器)自动启动进程。 X、KDE ​​和 Gnome 都有自动启动的方法(即 ~/.kde4/Autostart)。

如果这只是 X,请修改您的/etc/X11/xinit/xinitrc 文件(或等效文件)以让它运行您的命令。我的文件底部看起来像这样:

if [ -n "$failsafe" ]; then
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
else
exec $command
fi

因此您可以更改它以运行您想要的任何命令。

关于linux - 如何在 Linux 中自动启动需要 X 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5490861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com