Ubuntu开机自启动脚本+设置(手把手教程,包教包会)

您所在的位置:网站首页 ubuntu开机脚本自启动 Ubuntu开机自启动脚本+设置(手把手教程,包教包会)

Ubuntu开机自启动脚本+设置(手把手教程,包教包会)

2024-05-26 19:24| 来源: 网络整理| 查看: 265

一、写一个脚本

在Documents文件夹(随意放在你习惯的位置)中建立一个init.sh脚本,写上开机后需要执行的动作

touch init.sh #建立文件,双击打开

init.sh内容为(这是我开机后需要执行的动作,比如进到我的gopath文件夹中执行main文件,学习go语言的懂得都懂。如果是python文件,可以写成python test.py ,反正当作终端去写)

#!/bin/bash ​ echo '[RG200U helper] Ready' #echo相当于注释 这行不重要 sleep 120 echo '[RG200U helper] Sending info to server..' cd /home/catlab/GOPATH/src/init-ip/client/ && ./main #这行重要 ​ sleep 20 echo '[RG200U helper] mpquic test...' cd /home/catlab/GOPATH/src/mp-quic-conext17/example/client/ && ./main -m -file dummy128.txt https://10.92.8.154:6121/demo/upload ​ ​ sleep 20 echo '[RG200U helper] mptcp test...' cd /home/catlab/GOPATH/src/mp-quic-conext17/example/mptcp/client/ && ./main /home/catlab/GOPATH/src/mp-quic-conext17/example/mptcp/client/dummy128.txt ​ exit 0

注意:绝对路径的写法,不能写~。如果需要执行的文件在home文件夹里,路径可以写成 /home/name/需要执行文件(夹),不知道这个name的,可以右击home文件夹选择属性(如图所示我电脑的name为catlab)

我要运行的是go文件,这里是go的一个小tip:如果写go run xx.go报错,就在xx.go文件所在目录下go build xx.go 生成xx文件,直接./xx运行。记得每次修改完xx.go文件后要再次go build xx.go (这个小tip不重要)

二、设置自启动

你所有要执行的动作写在init.sh文件中了,可以先自行bash init.sh,运行一下你的init.sh文件检查一下错误,相当于模拟开机后的自启动。

然后就是设置,如何在开机后自动执行这个init.sh文件了。

1、首先我的ubuntu版本是18.04 。

在/etc文件夹中建立rc.local的脚本文件,作为自启动脚本文件。(我想开机后直接执行我刚刚写的init.sh 文件)(当然你也可以将init.sh文件中的内容复制进来,写init.sh是为了方便自行运行检查,省的一遍遍重启)

sudo gedit /etc/rc.local #建立文件并打开

rc.local内容为

#!/bin/sh -e cd /home/catlab/Documents/ bash init.sh exit 0

给rc.local可执行权限

sudo chmod 777 rc.local

2、建立软连接(不懂,跟着做就行)

sudo gedit /etc/systemd/system/rc-local.service #建立文件并打开 [Unit] Description=/etc/rc.local Compatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=no [Install] WantedBy=multi-user.target elias=rc-local.service sudo chmod 777 /etc/systemd/system/rc-local.service #加权限

给另一个文件添加相同install字段(内容一样的)

sudo gedit /lib/systemd/system/rc-local.service [Install] WantedBy=multi-user.target elias=rc-local.service sudo chmod 777 /lib/systemd/system/rc-local.service #加权限

将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来

sudo ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

启动systemctl服务

systemctl start rc-local systemctl enable rc-local

这就好了。

最后重启等着自启动就好了。

最后:

如果要修改自启动内容一共有两个地方:

第一个是你自己写的init.sh文件;

第二个是rc.local文件。(刚刚说了这两个文件是一个性质,可以不写init.sh,直接写在rc.local文件中就好,只是方便检查)(gedit /etc/rc.local)(这里放一个打开rc.local命令,防止忘记)

所以如果自启动有问题就检查这两个文件有没有写错(我是绝对路径出错)

检查rc.local文件可以用下面这个命令查看上一次自启动出现的问题(相当于一个log)(直接终端执行就好)

sudo systemctl status rc-local

保姆级教程了,希望大家科研路上少走弯路(🙇‍♀️



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3