自启动程序 编辑 请登陆,再编辑

前言

此页面简单介绍Linux下自启动程序的设置与管理.

图形管理

打开启动器,右键选中需要开机启动的程序——添加至开机启动项

配置文件管理

开机启动时自动运行程序

Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。

init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置

/etc/rc
/etc/rc.d
/etc/rc?.d

目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.local 文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。

使用systemd执行rc.local

在使用了systemd作为启动器的系统(如较新版的deepin)中,默认不包含rc.local文件。此时请在/etc目录下以管理员权限创建一个名为rc.local的纯文本文件,并写入如下内容:

#!/bin/bash
# rc.local config file created by use

把你需要执行的命令写在这里

exit 0

保存后,赋予该文件可执行权限:sudo chmod +x /etc/rc.local。下次重启时,systemd就会自动执行rc.local里面的命令了

在~/.config/autostart目录下添加自启动命令

以代理工具 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

但只执行最先找到的一个。因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序。

退出登录时自动运行程序

退出登录时,bash自动执行个人的退出登录脚本

/.bash_logout

例如,在/.bash_logout中加入命令“tar -cvzf c.source.tgz *.c”,则在每次退出登录时自动执行 “tar” 命令备份 *.c 文件。

定期自动运行程序

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

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

定时自动运行程序一次

定时执行命令at 与crond 类似(但它只执行一次):命令在给定的时间执行,但不自动重复。at命令的一般格式为:

 at [ -f file ] time 

在指定的时间执行file文件中所给出的所有命令。也可直接从键盘输入命令:

 $ at 12:00
 at> mailto Roger -s ″Have a lunch″ < plan.txt
 at> (Ctrl+D)
 Job 1 at 2000-11-09 12:00

执行的内容为:2000-11-09 12:00时候自动发一标题为“Have a lunch”,内容为plan.txt文件内容的邮件给Roger。

相关链接

ubuntu 开机启动时自动运行程序