前三种方法适合后台程序或者脚本启动,最后一种方法适合图形化程序启动

一、通过编写service的方法,使用systemctl配置开机自启

将程序启动命令写入service,通过下面的命令配置开机自启动

systemctl enable XXX.service

注:XXX为service前缀名称

例如通过配置x11vnc.service实现x11vnc开机自启动。
首先编写x11vnc的service文件,并放在/lib/systemd/system/文件夹下面

sudo vim /lib/systemd/system/x11vnc.service

内容如下

[Unit]
Description=x11vnc Application Container Engine
Requiers=display-manager.service
After=display-manager.service

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -rfbport 7001 -forever -shared -noxdamage -noncache -repeat -capslock -nomodtweak -rfbauth /home/deepin/.vnc/passwd
ExeStop=/usr/bin/killall

[Install]
WantedBy=multi-user.target

ExecStart后面添加开机需要运行的命令
配置完成后更新并添加开机自启动

sudo systemctl daemon-reload
sudo systemctl restart x11vnc.service
sudo systemctl enable x11vnc.service

二、通过rc.local配置开机自启动

配置rc.local运行文件

sudo vim /etc/rc.local

可以按照shell脚本的格式来编写rc.local文件
编辑好后给rc.local添加可执行权限

sudo chmod 755 /etc/rc.local

配置好后重启就会自动执行rc.local中的命令
例如在rc.local中配置开机自启动

四种方法配置开机自启动_开机自启动

配置好后开机就能自动挂载网络nfs网络存储

三、通过crontab配置定时任务

crontab是一款定时执行任务的工具,经常用来在某个时间点执行某个特定的任务,具体可以细分到分、时、日、月、周五个时间节点,同样我们可以使用​​@reboot​​这个特殊参数来控制‘重启’这个时间点来执行任务。
配置root用户crontab定时任务

sudo crontab -e

添加以下内容

@reboot (rm -rf /tmp)

该配置会在设备重启后删除/tmp下的内容,更改括号内的命令可以实现开机执行某些命令的操作。
例如通过crontab实现开机自动挂载网络存储

四种方法配置开机自启动_desktop_02

例如通过crontab实现开机执行某个脚本

四种方法配置开机自启动_重启_03

四、通过desktop配置开机自动

需要在/usr/share/applications/新建一个XXX.desktop配置文件
以HwaCollect.desktop为例

四种方法配置开机自启动_desktop_04

​配置好后注销下重新登录

四种方法配置开机自启动_desktop_05

再在启动器里面搜索软件名,就会新增一个我们在配置文件中配置的图标,说明配置成功

四种方法配置开机自启动_重启_06