ubuntu 设置脚本开机自启动

ubuntu 设置脚本开机自启动,第1张

Ubuntu 18.04的改动还是比较大,很多之前版本 Ubuntu上简单易用的一些功能都被砍了,比如设置 rc.local 自动启动脚本的功能。之前的 Ubuntu上只需要把想要自动启动的脚本放到 /etc/rc.local 这个文件,就可以开机启动了,但是 Ubuntu 18.04 这样做已经不行了,因为 rc-local.service 这个 systemd service 已经默认不启用了。所以我们所需要做的就是重新启用 rc-local.service,然后就可以像之前一样简单的设置开机自动启动脚本了。

这个配置文件默认在 /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下几种设置脚本开机启动的方法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8025982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存