linux开机自启动的几种方法


Linux开机自启动的几种方式:

操作系统:linux mint 17.3


第一种方式:在/etc/rc.local文件中加入启动命令

这种方式适合linux用户手动配置自启动程序。

第二种方式:在/etc/rc[0-6].d/目录建立软链接,软链接指向/etc/init.d/目录下的控制脚本

下图可以看出/etc/rc2.d目录下的文件指向路径是/etc/init.d下的脚本文件

linux开机自启动的几种方法_第1张图片

/etc/rc[0-6].d目录下文件的命名规则:S|K + nn + script

  • 0-6是linux操作系统的运行级别,运行runlevel查看当前运行级

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限用户,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

  • S|K,S开头命名的是开机要执行的脚本,K开头命名的是关机要执行的脚本
  • nn取值0-100,表示优先级,数字越大,优先级越低
  • script是软链接指向的脚本的文件名

/etc/init.d目录下的控制脚本接受参数start|stop|restart|status|force-reload

update-rc.d命令为/etc/init.d目录下的脚本建立或删除到/etc/rc[0-6].d的软链接

  • 增加一个服务
            添加这个服务并让它开机自动执行           
            update-rc.d apache2 defaults
           并且可以指定该服务的启动顺序:
           update-rc.d apache2 defaults 90
           还可以更详细的控制start与kill顺序:
           update-rc.d apache2 defaults 20 80
           其中前面的20是start时的运行顺序级别,80为kill时的级别。也可以写成:
           update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .

           其中0~6为运行级别。

  • 删除一个服务

           update-rc.d -f apache2 remove


第三种方式  设置程序的.desktop文件

通过将应用程序的.desktop文件放在自启动目录下,那么当用户登陆桌面环境时,就会自动启动这些应用程序。

linux中自启动目录是$XDG_CONFIG_DIRS/autostart和$XDG_CONFIG_HOME/autostart这两个,可以打印看一下,有的可能只有其中一个。

把设置好的.desktop放在这两个目录下,那么指定的程序就会在桌面环境启动时启动,当两个自启动目录同时存在相同的文件时,只会运行其中一个($XDG_CONFIG_HOME)。

program.desktop文件写法:

[Desktop Entry]
Name=program
Exec=/usr/bin/program
Type=Application
Comment=my program

只需要有这关键的几行就可以了,Exec的路径一定要正确。.desktop文件还有其他定制项,可参考其他文章。


NOTE:

第二种和第三种方式,更适合的应用场景是开发者打包安装包的时候,写入到安装脚本,这样就不用用户手动操作去添加自启动项了

你可能感兴趣的:(linux,设置程序开机自启动,程序自启动脚本,linux知识)