查看和修改 Linux 开机自动运行的程序

来源:互联网 发布:淘宝上卖的火麻能飞吗 编辑:程序博客网 时间:2024/05/16 10:16

一、  

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

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

    首先必须确认你的系统的运行级别,如果是直接进入gui,那么运行级别是5,进入/etc/rc5.d/,里面的脚本会自动运行,启动相应的程序,如果启动级别是3,就进入/etc/rc3.d/里面查看。

    2.登录时自动运行程序

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

    例如:登录系统后,自动运行QQ。此建立在您已安装Linux QQ的基础上。

    vi ~/.bash_profile

    移动光标,至文本末尾,输入下面的语句:

    export DISPLAY=:0.0 && qq &     (由于qq是图形工具,所以先设置环境变量DISPLAY的值,然后运行qq,并在后台运行!)

    保存,退出,重启系统,Linux QQ便会自动启动了。

   注意:是小写的qq具体查看软件安装完后的可执行程序名,如 /usr/bin/qq,故为小写的qq。

             若仅在 ~/.bash_profile 末尾加上:qq 或 /usr/bin/qq,登录系统后,Linux QQ 会自动启动,但由于是在前台运行,所以其它的程序却不能启动了,要关闭 qq 以后,才能正常启动其它程序。

            由于Linux QQ 需要图形界面的支持,仅修改 /etc/rc.d/rc.local 文件,并不能在登录时,让qq自动启动,方法1不适合

    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。?9 12:00 
2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。er。ger。er。


二、Linux桌面的自启动应用的设置


    1.对于所有Linux桌面,可以通过命令:

  find /root/xxx -iname "autostart"

  来寻找自启动程序设置文件的文件夹

  2.kde

  启动kde时,自启动thunderbird,fcitx,Eclipse,firefox,konsole等

  寻找程序可执行文件地址的办法:which firefox(输入firefox会找到的第一个路径)

  可以将这些程序的可执行文件ln到(推荐软link)~/.kde/Autostart下面

  ln -s xxx/thunderbird ~/.kde/Autostart

  3.gnome

  (1)输命令:gnome-session-properties,或单击 系统->首选项->个人->会话 ,弹出对话框,可以添加桌面自启动程序,也可以设置session;  

    (2)自启动程序保存在:~/.config/autostart/文件夹下面,名字都是xxxx.desktop。通过添加对应的xxxx.desktop也可以添加桌面自启动程序;

    (3)session保存在:/root/.config/gnome-session/文件夹下面,不过有的桌面应用程序session不能记住,只能通过添加桌面自启动程序来实现自动启动。

0 0
原创粉丝点击