1、通过环境配置文件设置
- 因为Linux在开机时会调用/etc/profile、/etc/bash.bashrc、/.profile、/.bashrc等配置文件,所以我们可以在这些文件总写入命令去执行我们写好的脚本,以做到开启让写好的脚本自启动。
例如我们修改.profile:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# 配置文件shell脚本
# 在.profile最后一行加入命令
./demo
- demo是工作目录下的可执行文件
- 我们利用source命令直接读取.profile文件,不用等待开机,我们可以看到已经执行了demo这个程序
- 需要注意的是,这个方法并不规范,但是可用,不过千万不可在/etc/profile.d中加入自己写的脚本,也不要去更改里面的脚本文件,可能会导致无法登录。
2、通过编写.desktop脚本文件
key | value | 是否必须 |
---|---|---|
Type | application/Link/Direcory | yes |
Version | 版本 例如1.1 | no |
Name | 应用程序的特定名称,例如demo | yes |
GenericName | 应用程序的通用名称,例如demo | no |
NoDisplay | 不在菜单中显示 | no |
Comment | 应用描述 | no |
Icon | 应用的图标,使用绝对路径 | no |
Hidden | 是否隐藏,等同于不存在的文件 | no |
DBusActivatable | DBus激活,默认false | no |
TryExec | 如果文件不存在,则忽略该文件,不在菜单中显示 | no |
Exec | 执行路径 | no |
Path | 当Type为Application时,程序运行的目录 | no |
Terminal | 程序是否在终端窗口中运行 | no |
Actions | 为其他组提供接口,比如Action=Gallery;,那么其他组就为[Desktop Action Gallery] | no |
StartupWMClass | 一般和Name相同 | no |
URL | 只适用于Type=Link | no |
- 可以通过在一下几个目录下编写.desktop文件实现开机启动程序
1、~/.config/autostart/
2、/etc/xdg/autostart/
3、/usr/share/gdm/greeter/autostart/
4、/usr/share/gdm/autostart/
5、/usr/share/gnome/autostart
- 例如
[Desktop Entry]
Type=Application
Exec=/home/tang/Downloads/fanqiang # 要执行的程序路径
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true # 这一句可加可不加
Name=fanqing
- 需要注意的是,编写的.desktop文件不可以出现同名,否则只有一个可以执行成功