这个配置文件默认在 /lib/systemd/system/ 这个目录下,我们只需将它拷贝到对应目录:
然后编辑这个文件:
在最后加上这些内容:
修改后的 rc-local.service 文件完整如下:
配置完成后,还需要创建一个 rc.local 文件:
在这个文件里写入我们想要开机自动启动的命令即可。
然后给这个文件加上执行权限:
至此,就已经完成了 rc.local 的配置,重启之后会自动启动对应想启动的脚本。
如果发现没有生效,可以尝试:
接着启动这个服务并查看它的状态
命令输出如下
可以看到rc.local中的脚本已经被正确执行了。
ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发挥作用。
1、建立rc-local.service文件
sudo vi /etc/systemd/system/rc-local.service
2、将下列内容复制进rc-local.service文件
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
3、创建文件rc.local
sudo vi /etc/rc.local
4、将下列内容复制进rc.local文件
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0
5、给rc.local加上权限
sudo chmod +x /etc/rc.local
6、启用服务
sudo systemctl enable rc-local
7、启动服务并检查状态
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
8、重启并检查test.log文件
cat /usr/local/test.log
1.进入桌面后按 Alt + F2 组合键,输入 gnome-session-properties 并回车
2.点击 添加 在command栏里输入我们要添加的程序
gnome-terminal -x b.sh -c "/home/alex/test.sh"
然后点击 保存 -->关闭
3.重启测试
如果想要执行时有root权限
1. /etc/sudoers 添加权限外
如普通用户名为 alex 则将下列内容写入上文件
alex ALL=(ALL:ALL)NOPASSWD:ALL
2.设置 ASK_PASS 使用 sudo -A script.sh
①同目录下建立密码读取文件 .pw ,输入以下内容并添加可执行权限
②在需要要执行的脚本中添加 export SUDO_ASKPASS=.pw
③在需要的指令前添加 sudo -A
via:
ubuntu开机自动打开终端并以root权限执行程序
sudo 不用输入密码
PS:
Ubuntu下自动启动终端并运行脚本或命令
Ubunut下几种设置脚本开机启动的方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)