此页面简单介绍Linux下自启动程序的设置与管理.
打开启动器,右键选中需要开机启动的程序——添加至开机启动项
Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。
init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置
/etc/rc
/etc/rc.d
/etc/rc?.d
目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。
在使用了systemd作为启动器的系统(如较新版的deepin)中,默认不包含rc.local文件。此时请在/etc目录下以管理员权限创建一个名为rc.local的纯文本文件,并写入如下内容:
#!/bin/bash
# rc.local config file created by user
把你需要执行的命令写在这里
exit 0
保存后,赋予该文件可执行权限:sudo chmod +x /etc/rc.local
。下次重启时,systemd就会自动执行rc.local里面的命令了
以代理工具 XX-Net 为例,假定其启动脚本位于~/Documents/XX-Net-3.3.1/start。在 ~/.config/autostart 目录下添加 XX-Net.desktop 文件,其内容如下:
[Desktop Entry]
Type=Application
Exec="~/Documents/XX-Net-3.3.1/start"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_IN]=XX-Net
Name=XX-Net
Comment[en_IN]=XX-Net
Comment=XX-Net
系统启动时会执行 Exec
所指定的命令。
用户登录时,bash先自动执行系统管理员建立的全局登录脚本:
/etc/profile
然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:
~/.bash_profile
~/.bash_login
~/.profile
但只执行最先找到的一个。因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序。