1. 开机启动时自动运行程序 

Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置 
   文件继续引导过程,启动其它进程。通常情况下,修改放置在 
     /etc/rc或 
     /etc/rc.d 或 
     /etc/rc?.d 
   目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 
     /etc/rc.d/rc.local 文件(该文件通常是系统最后启动的脚本), 
   在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。

2. 登录时自动运行程序

(1) 用户登录时,bash先自动执行系统管理员建立的全局登录script : 
     /ect/profile 
   然后bash在用户起始目录下按顺序查找三个特殊文件中的一个: 
     /.bash_profile、 
     /.bash_login、 
     /.profile, 
   但只执行最先找到的一个。因此,只需根据实际需要在上述文件中加入命令就可以实 
   现用户登录时自动运行某些程序(类似于DOS下的Autoexec.bat)。

(2)14.04 and later

参考:How do I start applications automatically on login?

在Ubuntu14.04版本之后提供了更方便的autostart文件夹,可以在这个文件夹下设置启动项,设置方法有三种,如下:

方法一:GUI方法

  • Open the Dash and search for "Startup Applications"

  • Now click on Add and give in the command to run the application. This can be found in Main Menu if installed (see below) or as shown in this question.


方法二:使用其他程序:Using Main Menu (alacarte )

  • Firstly open the program 'Main Menu' (type Menu in the Dash)

  • Now select the program which you want to add to startup and click on properties .

  • Now note the command for that program .


方法三:Non GUI approach

Advanced users may want to put a .desktop file in ~/.config/autostart to run applications after a user login. This may have following content:

[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true

3. 退出登录时自动运行程序 
   退出登录时,bash自动执行个人的退出登录脚本 
     /.bash_logout。 
   例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出 
   登录时自动执行 “tar” 命令备份 *.c 文件。

4. 定期自动运行程序 
   Linux有一个称为crond的守护程序,主要功能是周期性地检查 /var/spool/cron目录 
   下的一组命令文件的内容,并在设定的时间执行这些文件中的命令。用户可以通过 
   crontab 命令来建立、修改、删除这些命令文件。

例如,建立文件crondFile,内容为“00 9 23 Jan * HappyBirthday”,运行“crontab 
   cronFile”命令后,每当元月23日上午9:00系统自动执行“HappyBirthday”的程序(“* 
   ”表示不管当天是星期几)。

5. 定时自动运行程序一次 
   定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自 
   动重复。at命令的一般格式为:at [ -f file ] time ,在指定的时间执行file文件 
   中所给出的所有命令。也可直接从键盘输入命令: 
     $ at 12:00 
     at>mailto Roger -s ″Have a lunch″ < plan.txt 
     at>Ctr-D 
     Job 1 at 2000-11-09 12:00 
   2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容 
   的邮件给Roger.

ubuntu 自添加开机启动程序
ubuntu (我的是 9.10)的开机启动会和 redhat suse 这些发行版会稍有差别,比如默认情况下没有 /etc/inittab 的配置文件,redhat 发行版在启动级别 3 上是文本模式登录,而 ubuntu 的启动级别2~5 都是一样的启动。现在,添加一个自定义的可执行文件或脚本,使其在开机启动时执行。

以一个脚本为例,脚本的内容很简单 :

引用 
#! /bin/sh

echo "hello start up script!" > /home/beyes/mystart.txt

exit 0

这个脚本的作用只是在我的家目录里建立一个文本文件,里面的内容就是 echo 后的内容hello start up script!。

编辑好这个脚本后,给其赋予相应的可执行文件,为了方便,就 chmod 777 /etc/init.d/mystart

接着在 /etc/rc5.d 这个目录下做一个软链接:  ln -s /etc/init.d/mystart /etc/rc5.d/S99mystart

那么,这个脚本开机启动生效了么?经过重启后,并没有发现在 /home/beyes 目录下生成 mystart.txt 文件。

使用 sysv-rc-conf 配置一下启动服务:
 
上图,在第 2 运行级别也配置了让 mystart 启动。这个 sysv-rc-conf 会读取 /etc/init.d 里的文件以及 rcx.d (x为运行级别)下的软连接等信息。关于更多管理启动项的更多信息见:
http://www.groad.net/bbs/read.php?tid-1392.html

配置完后,重启。再到 /home/beyes 里查看,生成了 mystart.txt 文件,里面也有相应的内容。从这里,也看到了 ubuntu 默认的启动运行级别为 2 。另外,在 /etc/rc2.d 目录下,也发现了由 sysv-rc-conf 生成的软连接: S99mystart

ubuntu开机自动运行程序
1.编写shell脚本
   gedit /etc/init.d/aa
   #!/bin/bash
   mplayer /home/aa.avi -fs -vo fbdev -vf scale=800:600 (fs全屏,vo进入桌面前使用,        scale设置画面大小)
2. chmod 755 /etc/init.d/aa    
3. ubuntu默认启动级别为2加载的脚本在/etc/rc2.d/
   ln -s /etc/init.d/aa /etc/rc2.d/s99aa (s为开始执行99为执行顺序aa为文件名)
本贴来自天极网群乐社区--http://q.yesky.com/group/review-17826808.html

linux启动过程综述
http://www.ibm.com/developerworks/cn/linux/kernel/startup/index.html

Upstart与ubuntu启动过程,简单原理
http://www.linuxdiyf.com/viewarticle.php?id=102927

Upstart: Ubuntu 的基于事件的启动进程
http://www2.oklinux.cn/html/Basic/azpz/20080504/52808.htm

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wbgeorge/archive/2010/05/19/5607425.aspx

Ubuntu添加开机自动启动程序方法的更多相关文章

  1. Ubuntu添加开机自动启动程序的方法

    文章出处:http://hi.baidu.com/gcc_gun/blog/item/fe9bbc4b84e911fa83025cb8.html 1. 开机启动时自动运行程序 Linux加载后, 它将 ...

  2. ubuntu添加开机自启和sysv-rc-conf

    此文ubuntu使用sysvinit,而非upstart UBUNTU添加开机自动启动程序方法 1. 开机启动时自动运行程序    Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程i ...

  3. linux下添加自动启动项,linux 开机自动启动脚本方法

    #service servicename status是当前状态#chkconfig --list servicename是查看启动状态,也就是是否开机自动启动 首先写好脚本,如 mysql,把它放到 ...

  4. [Windows][VC]开机自动启动程序的几种方法

    原文:[Windows][VC]开机自动启动程序的几种方法 很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsof ...

  5. C#中级-开机自动启动程序

    一.前言 关于C#开机自动启动程序的方法,网上出现比较多的是修改注册表: 1. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion ...

  6. 不同linux系统添加开机启动程序的命令

    see http://phpcj.org/blog/%E4%B8%8D%E5%90%8Clinux%E7%B3%BB%E7%BB%9F%E6%B7%BB%E5%8A%A0%E5%BC%80%E6%9C ...

  7. C# 开机自动启动程序

    原文:C# 开机自动启动程序 新建一个winform拖一个checkbox进来.. 然后设置它的changed事件. 已经测试过,可以直接复制使用. private void checkBox1_Ch ...

  8. VC++开机自动启动程序的几种方法 (转载)

    转载:http://blog.csdn.net/zhazhiqiang/article/details/51909703 很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能 ...

  9. linux 开机自动启动脚本方法

    通过现场对这次天津iptv demo项目的调测.对iptv这套系统有了更好的认识和理解.由于iptv本身需要安装许多服务.而现场实施中有没有把这些需要启动服务的脚本加入到开 机自动运行中.如果服务器重 ...

随机推荐

  1. Java实现画八卦

    八卦是由多个圆叠加而成,如果我们让每个圆都有自己的颜色,那么具体结构便一目了然,如下图所示: 显然只要令对应的圆颜色相同,就能达到我们预期的效果. 用Java就能轻松画出来: import java. ...

  2. iOS新手引导页的实现,源码。

    /*.在Main.storyboard中找到,ScrollView和PageControl并添加到ViewController中. .在ScrollView中添加ImageView,新手引导页有几个图 ...

  3. ubuntu pycharm 无法 lock from launcher 问题解决

    ubuntu pycharm 无法 lock from launcher 问题解决 最近在自己电脑上安装了python的IDE pycharm, 发现在dash也无法搜索到pycharm的启动图标.( ...

  4. 剑指Offer-【面试题05:从头到尾打印链表】

    package com.cxz.question5; import java.util.Stack; /* * 输入个链表的头结点,从尾到头反过来打印出每个结点的值. * */ public clas ...

  5. Selenium 简单的例子

    Selenium是一个web自动化验收测试框架.   Selenium Client Driver - Selenium 2.0 Document http://seleniumhq.github.i ...

  6. CVE-2015-7645 analyze and exploit

    Hack team之后adobe和google合作对flash进行了大改,一度提高了flash的利用门槛,CVE-2015-7645作为第一个突破这些限制的漏洞利用方式,可以作为vetect利用方式之 ...

  7. 無間道III 終極無間

    凭良心说,它绝对算是诚意之作,而非急功近利或者说抢市.因为导演尤其是编剧都用了心,为了和第一二集融合而在细节处理上做足了文章,麦兆辉也实在够天才. 关于时间问题,本片不是完全杂乱无章,只不过是前后两段 ...

  8. Git在window的使用(TortoiseGit)之一

    一.什么是Git? Git是分布式版本控制系统.它与SVN的主要区别:SVN在本地没有版本,不能脱机工作:Git是分布式控制系统,在自己的本地都有一个版本,可以脱机工作. 二.在window上安装Gi ...

  9. 普林斯顿算法课第四周作业_8Puzzle

    作业地址:http://coursera.cs.princeton.edu/algs4/assignments/8puzzle.html 作业难点: 1.如何求一个Puzzle的解? 根据作业提示,使 ...

  10. IE6图片元素img下高度超出出现多余空白

    将图片转换为块级元素:display:block; 设置图片的垂直对齐方式:vertical-align属性为top,text-top,bottom,text-bottom 设置父元素的字体大小为0p ...