Ubuntu环境下设置程序开机自启动

本文介绍Ubuntu环境下开机自启动的方法,主要分为非GUI程序的自启动和GUI程序的自启动。

1.非GUI程序的自启动

这里主要介绍通过增加系统服务的方法

sudo touch /lib/systemd/system/your_service_name.service
sudo vi your_service_name.service

在your_service_name.service中增加:

[Unit]
; After=network.target
Description="your_service_description"
[Service]
ExecStart=your_script_name.sh
User=your_user_name
[Install]
WantedBy=multi-user.target

主要解释如下:

After:表示需要在某个服务之后运行,如果没有,可以删除这行。

Description:对于服务的描述。

ExecStart:需要执行的脚本的名称,这里需要给出绝对路径。

User:用户名,该用户需要有执行脚本的权限。

修改完毕后,增加执行权限:

sudo chmod u+x your_service_name.service

上述命令执行完毕后,需要重新加载服务,执行:

sudo systemctl daemon-reload

启动自己的服务,执行:

sudo systemctl start your_service_name

此时可以看到服务的执行结果。

若想结束自己的服务,执行:

sudo systemctl stop your_service_name

查看服务当前状态,执行:

sudo systemctl status your_service_name

测试完成可以正常运行后,需要使能每次启动时都执行:

sudo systemctl enable your_service_name

如果不想每次启动都执行,可以运行:

sudo systemctl disable your_service_name

2.GUI程序的自启动

这里主要有2种方法让GUI程序开机自启动。

1)方法1

方法1是最简单的方法,开机进入界面后,执行:

a)按Alt+F2

弹出“Enter a Command“命令框,输入"gnome-session-properties",回车。

b)增加需开机自启动的程序

点击“Add”,输入我们需要开机自启动的界面程序或脚本即可。

2)方法2

方法2为命令行的方式,设置也比较简单。

cd ~
vi .xsessionrc

在".xsessionrc"(or .xinitrc)的末尾增加我们需要开机自启动的程序或脚本,保存即可。