CentOS登录后如何启动应用程序?

CentOS登录后如何启动应用程序?

我正在尝试在 CentOS 上使用 upstart 脚本启动 GUI 应用程序。我的测试脚本位于 /etc/init/ 文件夹。

start on desktop-session-start
stop on desktop-shutdown

respawn

script
export DISPLAY=:0
sleep 5
exec /.1/Projects/UpstartTest/start.sh &

end script

start.sh 脚本正在运行 GUI 应用程序的二进制文件。

重新启动我的电脑后。当我输入:

[root@mg-CentOS ~]# initctl status test
test stop/waiting

所以我的暴发户没有运行。当我打字时

initctl启动测试

手动它工作正常,没有任何问题。

如何在用户登录(桌面启动)后运行这个新贵脚本?我正在尝试为新贵找到 CentOS 的详细文档,但没有。

答案1

7 使用gnome-session-propertiesGUI 中编辑此内容:

例子

这将.desktop~/.config/autostart/.您也可以自己复制该.desktop文件。

答案2

自动启动的应用程序/服务分散在那里......

列出所有自动启动应用领域, 搜索自动启动:

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" \
"/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"

列出所有自动启动服务:

systemctl list-unit-files --type=service
# OR search for:
ls -1 /lib/systemd/system/*.service /etc/systemd/system/*.service

列出所有在里面脚本:

ls /etc/init.d/

列出所有定时任务表调度程序:

crontab -l 
# to edit run: crontab -e

答案3

我大胆猜测它无法启动,因为它没有 X 会话。尽管您已告诉它使用DISPLAY:0该显示当前由您而不是服务使用upstart

基本上,upstart它不是为启动应用程序而设计的 - 它是为启动系统服务而设计的。

相反,您可以创建*.desktop条目~/config/autostart,我相信gnome-tweak-tool还可以管理启动应用程序。

*.desktop条目将类似于:

[Desktop Entry]
Name=MyCoolScript
GenericName=A really cool script
Comment=Some description about your script
Exec=/.1/Projects/UpstartTest/start.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

有关规格的更多详细信息,请访问Gnome 开发者网站

答案4

图为我的 CentOS7 机器运行 MATE 桌面。

终端中的命令:

mate-session-properties

适用于运行 MATE 桌面的用户,它会打开“启动应用程序首选项”选项卡,单击“添加”按钮并输入名称/启动命令/注释。我使用了 Google Chrome 的示例,该命令为我运行它。

对于 gnome 用户,终端中的命令:

gnome-session-properties

为 gnome 带来相同的对话。

图为我的 CentOS7 机器运行 MATE 桌面。

相关内容