方法一、启动应用程序工具(Startup Applications)
ubuntu下的启动项界面管理工具,在终端输入“gnome-session-properties”打开工具,勾选/取消程序项来设置是否开机启动。
启动应用程序
设置延迟启动
点击编辑,在命令(M)内容前加上“sleep 120;”来设置延迟120秒启动。
设置启动延迟
新增启动项
点击添加,输入新增启动项的名称,启动命令和相关的描述。其中命令最为重要,你可以使用任何你想用的名称和描述。
新增启动项
方法二、systemd工具
参考:linux下添加简单的开机自启动脚本
systemd是比经典的system V控制系统更高级的应用程序级管理程序。
ubuntu15.04及以后版本使用systemd。可通过systemd --version
命令查看自己linux发行版本是否支持该工具,类似以下信息表示支持:
设置、取消启动项
systemd使用systemctl命令来管理启动项:
#查看bing_wallpaper服务状态
systemctl list-unit-files --type=service|grep bing_wallpaper
#开启bing_wallpaper服务:
sudo systemctl start bing_wallpaper
#设置bing_wallpaper服务自启动:
sudo systemctl enable bing_wallpaper
#停止bing_wallpaper服务:
sudo systemctl stop bing_wallpaper
#取消bing_wallpaper服务自启动:
sudo systemctl disable bing_wallpaper
新增启动项
以bing_wallpaper为例,在/usr/lib/systemd/system 或者 /etc/systemd/system目录下新增bing_wallpaper.service配置文件:
[Unit]
Description=下载bing壁纸,设置为桌面背景
Documentation=
After=network.target
Wants=
Requires=
[Service]
ExecStart=/home/tu/local/bing_wallpaper.sh
ExecStop=
ExecReload=/home/tu/local/bing_wallpaper.sh
Type=simple
[Install]
WantedBy=multi-user.target
测试配置信息能否正确启动:
sudo systemctl start bing_wallpaper.service
如果没问题,就设置为开机启动程序:
tu@tu-Aspire-A615-51G:~$ sudo systemctl enable bing_wallpaper.service
[sudo] tu 的密码:
Created symlink /etc/systemd/system/multi-user.target.wants/bing_wallpaper.service → /etc/systemd/system/bing_wallpaper.service.
结果为在/etc/systemd/system/multi-user.target.wants/目录下创建了一个/etc/systemd/system/bing_wallpaper.service文件的软链接,至此设置完成。
配置文件解释:
Description:运行软件描述
Documentation:软件的文档
After:因为软件的启动通常依赖于其他软件,这里是指定在哪个服务被启动之后再启动,设置优先级
Wants:弱依赖于某个服务,目标服务的运行状态可以影响到本软件但不会决定本软件运行状态
Requires:强依赖某个服务,目标服务的状态可以决定本软件运行。
ExecStart:执行命令
ExecStop:停止执行命令
ExecReload:重启时的命令
Type:软件运行方式,默认为simple
WantedBy:这里相当于设置软件,选择运行在linux的哪个运行级别,只是在systemd中不在有运行级别概念,但是这里权当这么理解。
bing_wallpaper.sh脚本:
#! /bin/bash
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
echo "正在下载壁纸...."
wget -q -O /home/tu/Pictures/Wallpapers/bing_local.jpg $(wget -q -O - 'https://bing.ioliu.cn/v1/rand?type=json' | jq -r '.[] | .url' | grep 'http')
gsettings set org.gnome.desktop.background picture-uri /home/tu/Pictures/Wallpapers/bing_local.jpg
echo "壁纸设置成功!"
网友评论