`
fantaxy025025
  • 浏览: 1251419 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Ubuntu设置开机自启动程序

 
阅读更多

prefer:http://www.linuxidc.com/Linux/2011-12/48922.htm 

方法

1) 将你的启动脚本复制到 /etc/init.d目录下
以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限
$ sudo chmod 755 /etc/init.d/test
3) 执行如下命令将脚本放到启动脚本中去:
$ cd /etc/init.d
$ sudo update-rc.d test defaults 95
注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:
update-rc.d: warning: /etc/init.d/test missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
  Adding system startup for /etc/init.d/test ...
    /etc/rc0.d/K95test -> ../init.d/test
    /etc/rc1.d/K95test -> ../init.d/test
    /etc/rc6.d/K95test -> ../init.d/test
    /etc/rc2.d/S95test -> ../init.d/test
    /etc/rc3.d/S95test -> ../init.d/test
    /etc/rc4.d/S95test -> ../init.d/test
    /etc/rc5.d/S95test -> ../init.d/test
卸载启动脚本的方法:
$ cd /etc/init.d
 
$ sudo update-rc.d -f test remove
命令输出的信息参考如下:
Removing any system startup links for /etc/init.d/test ...
    /etc/rc0.d/K95test
    /etc/rc1.d/K95test
    /etc/rc2.d/S95test
    /etc/rc3.d/S95test
    /etc/rc4.d/S95test
    /etc/rc5.d/S95test
    /etc/rc6.d/K95test

 

原理

首 先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写 到一个 文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!

 

要 启动某一程序,例如scim,我们首先要知道scim程序在哪里,用locate命令可以找到,scim在/usr/bin/scim这里,其中usr表 示是 属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相 应的软链接就可以了。

 

这个脚本其实很简单,就两行:

 

#!/bin/bash

/usr/bin/scim

 

第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。

 

还 需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这 样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接 还要起名为SXXX,这样系统才能让它随机启动。

 

在RH下,ubuntu也一样,rc.local是默认启动的最后一个脚本文件,所以,

如果你想要随机启动,还有一种方法就是在rc.local的尾部加入/usr/bin/scim,这样就可以了。

所以最简单的方法是写在rc.local中。

 

问题

但rc.local中有个大问题,即默认是以root执行的,而且默认也不加载环境变量等,会导致很多脚本执行失败。

为什么这样?

因为root用户一般不会用来执行某些特殊的任务,比如redis服务由redis用户来启动。

这个是默认规矩,坏了规矩的做法,带来很多麻烦和危险。

 

 

 

分享到:
评论

相关推荐

    Ubuntu自启动程序(总结)

    2. 对于开机启动程序,需要关注4个地方(排序有分先后) 3. 新建启动脚本 4. 直接添加到rc.local 5. 退出登录时自动运行程序 6. 定期自动运行程序 7. 定时自动运行程序一次 8. 依赖于图形界面的自动运行程序

    UBUNTU添加程序开机自动启动的方法

    在UBUNTU环境有多种应用,但很多UBUNTU环境应用介绍的书却未涉及UBUNTU添加程序开机自动启动的方法,这篇总结不错,有需要的下载。

    ubuntu20.04 tmux.sh 自启动脚本

    ubuntu tmux 自动执行shell脚本,可创建多个session,多个window。多个panes, 平铺所有的panes,对指定session下指定window的指定panes发送指定的多条命令,后台创建!...稍微修改可做成自己的自启动脚本,

    程序设置开机自动启动

    教你如何设置开机自动启动,你会发现非常容易

    UBUNTU开机自启步骤.docx

    在Ubuntu 环境有多种应用,但很多Ubuntu 环境应用介绍的书却未涉及Ubuntu 添加程序开机自动启动的方法,这篇总结不错,有需要的下载。

    ubuntu中编写shell脚本开机自动启动(推荐)

    主要介绍了ubuntu中编写shell脚本开机自动启动,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    Ubuntu开机自启动-update-rc.d.docx

    主要介绍关于Linux操作系统制作程序的开机自启动,关键使用的update-rc.d命令

    Ubuntu下配置Tomcat服务器以及设置自动启动的方法

    主要介绍了Ubuntu下配置Tomcat服务器以及设置自动启动的方法,适用于Java的web程序开发,需要的朋友可以参考下

    Ubuntu的下USB转串口芯片驱动程序安装

    Ubuntu的下USB转串口芯片驱动程序安装CP210X,pl2303安装,适用于Linux,解决在Linux下找不到USB串口的问题

    基于ubuntu下海康摄像头设备网络SDK开发

    基于ubuntu下QT5.7的海康摄像头设备网络SDK开发,完成摄像头预览,抓拍,人脸和背图上传等功能,压缩包中包含程序源码,SDK等,可在界面输入摄像头ip,账号,密码后直接运行。

    Ubuntu16.04 arm 下的开机自启 + 操作声卡设备

    最近在用 fireflyRK3399 做一个项目,项目有一个需求是开机启动自己的程序然后中间会...改完以后发现在rc.local 中开机自启不了。也没找到原因。  最后用 gnome-session-properties 直接在图形界面添加了自己的程序

    linux上的socket代理服务程序

    linux上的socket代理服务程序,支持开机自动启动,service proxy {start|stop|restart|status} 和linux上其他服务类似,有对应的配置文件。 此程序在redhat Enterprises 5.0 、 ubuntu、ubuntu arm linux 上编译...

    Ubuntu_10.04_安装手记

    Ubuntu 的安装手记 很不错 本安装记录内容目录 说明 环境 常用命令与快捷键 文件系统中的系统文件夹说明 ...启动应用程序与启动服务项 Xchat使用与操作 秀下我的桌面 超级方便的linux命令手册 (作者:4321go)

    UBUNTU桌面培训10.04 简体中文r1 PDF版

    内容设置 ..................................................... 35 主要内容 ..................................................... 35 总结 .............................................................

    vb快捷打开wsl.zip

    最近迷上了微软的wsl,但是对于小白的我们,使用起来很不方便。...免开机启动,第一次启动检测 VcXsrv是否打开 程序实现通道运行cmd vb gui透明加载界面 本想弄个远程打开的 本人没时间弄了 有心的网友可以二次开发。

    linux 平台socket代理程序(完整版)

    linux上的socket代理服务程序,支持开机自动启动,service proxy {start|stop|restart|status} 和linux上其他服务类似,有对应的配置文件。 此程序在redhat Enterprises 5.0 、 ubuntu、ubuntu arm linux 上编译...

    xware-desktop_0.13.20141115_amd64.deb

    添加一个新的下载器,程序设置为xware-desktop,参数设置为。 来自命令行的参数支持http,https,ftp,ed2k,magnet,flashget,qqdl,thunder等多种协议, 也同样支持本地的torrent文件。 ________________________...

    SLAM导航机器人零基础实战系列-全部PDF文档整理.zip

    7.开机自启动ROS节点 第6章:SLAM建图与自主避障导航 1.在机器人上使用传感器 2.google-cartographer机器人SLAM建图 3.ros-navigation机器人自主避障导航 4.多目标点导航及任务调度 5.机器人巡航与现场监控 ...

    (错发,发现不用分割,无法删除,请下载完整版)UBUNTU桌面培训10.04 简体中文PDF版(part1)

    内容设置 ..................................................... 35 主要内容 ..................................................... 35 总结 .............................................................

Global site tag (gtag.js) - Google Analytics