Linux GUI程序开机自动启动

Linux GUI程序开机自动启动,第1张

Linux GUI程序开机自动启动

如果是Console程序,推荐使用systemd来实现,编写一个app.service文件如下:

[Unit]
Description=Agv Service
After=graphical.target
Requisite=graphical.target

[Service]
Type=simple
ExecStartPre=-/bin/ip link set can0 up type can bitrate 250000
ExecStart=/bin/app
Restart = always
RestartSec = 3s
TimeoutSec = infinity

[Install]
WantedBy=graphical.target

然后将文件放到/etc/systemd/system文件夹下,在终端中执行:systemctl enable app.service命令,就可以将/bin/app程序开机自启动,并且失败后自动重启。

但对于Unity或者Godot开发的图形界面的程序,未发现能够使用systemd启动的方法,目前采用的方法是使用Linux自带的Startup Applications Preferences(以Ubuntu为例)

打开后点击右侧的Add,填入Name(要显式的程序名称),Command,点击Browse选择对应的程序,Comment(程序的简短描述),点击Add即可。

这样,下次开机,程序就会自动运行。不好的地方就是,如果程序运行过程中崩溃,这种方法没办法做到自动重启。

wf9mib78 在他的博文《Linux系统启动自己的图形界面程序》https://blog.csdn.net/wf9mib78/article/details/78530189 中提到一个更绝的方法:

要想启动自己的图形界面,就需要启动X server,这个东西是在你登录Ubuntu输入用户名和密码之前启动的,所以我们可以在启动Ubuntu之前和启动X server之后启动自己的程序,/etc/profile 这个文件就是这两个程序的中间,我们直接更改配置文件就行了

sudo vi /etc/profile
在文件开头输入你程序的路径cd /xxx/xxx/xxx/xxx
在执行你的程序 ./xxx 

这个方法适合设备只运行我们自己写的程序的场合。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4002870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-22
下一篇 2022-10-22

发表评论

登录后才能评论

评论列表(0条)

保存