有关ubuntu18.04设置开机启动项

 测试方法:首先应该注意查看Ubuntu系统的版本,因为在实际操作中发现Ubuntu16.04和Ubuntu18.04这两个不同版本设置开机启动项方法不大一致;所以设置之前,首先查看Ubuntu系统版本   =>lsb_release -a  通过该命令查看Ubuntu版本

 

一、Ubuntu16.04版本可参照以下方法进行添加开机启动项:

    应该注意,在Ubuntu 16.10 以后/etc下就没有rc.local了,因为在该Ubuntu版本下把rc.local服务化了,但是我们还是可以手动添加的:

添加方式: 创建rc-local.service文件==>sudo vi /etc/systemd/system/rc-local.service

并添加:

        [Install] 

        WantedBy=multi-user.target 

 

        Alias=rc-local.service

     // 把你需要启动脚本写入rc.local

     // 打开编辑

       sudo vi /etc/rc.local

            #!/bin/sh -e

            # 你的脚本

             exit 0

            注:所需要开机执行的脚本必须放置在exit 0之前

            :wq!保存退出

        // 建立软链接

        ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/

        重启机器检验

 

二、Ubuntu18.04版本

    ①、设置开机启动:

        touch /etc/init.d/rc.local

    ②、修改文件权限,添加可执行权限:

        chmod +x /etc/init.d/rc.local

    ③、用 update-rc.d 设置启动级别:

        update-rc.d rc.local start 99 2 3 4 5 . stop 99 0 1 6 .

    ④、为了编辑方便,创建一个链接:

        ln -s /etc/init.d/rc.local  /etc/rc.local

 

    ⑤、编辑要执行的  /etc/rc.local脚本

    打开编辑 :vi /etc/rc.local  

    (这里放置了我们要系统开机去执行的服务,要执行的部分写在exit 0之前),测试示例如下:

 

        #!/bin/sh -e

            echo  thanks >> /home/test/test.log       //测试语句,测试开机之后输出thanks到指定路径下的文件中

            exit 0(不可省略)

 

    保存rc.local并退出:

            :wq!

    ⑥、现在我们知道,在rc.local中提到的目录并不存在,现在我们需要做的就是去创建。创建test文件夹,创建test.log文件:

 

    (一)创建test文件夹

 

            cd  /home

            mkdir test

 

    (二)创建test.log文件

 

            cd test

            touch test.log

     

    七、重启机器测试

            shutdown -r now

 

注意有可能开机启动项rc.local脚本文件不会执行,这是因为脚本得兼容问题。

具体原因:ubunu系统使用的默认bash shell被更换成了dash shell。而/etc/rc.local脚本中用的正是/bin/sh。所以错误。

解决办法:将默认的shell改成bash即可,命令:dpkg-reconfigure dash。选择No即可

### 配置 Ubuntu 18.04 应用程序开机自启 #### 使用 `rc.local` 文件实现开机自启动服务 对于希望以传统方式设置开机自启动的应用,在 `/etc/systemd/system/` 下创建名为 `rc-local.service` 的文件来定义服务行为[^2]: ```bash sudo vim /etc/systemd/system/rc-local.service ``` 编辑后的文件内容应类似于下面这样,确保 `[Install]` 和 `[Service]` 节点下的路径指向实际存在的脚本或命令。 接着修改并保存位于 `/etc/rc.local` 中的内容,该位置用于放置具体的执行指令列表。注意保持最后一行为空白以便正常结束进程: ```bash #!/bin/bash # rc.local # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local gnome-terminal -x sh -c "/home/user/script.sh; exec bash" ``` 赋予此文件可执行权限,并启用及启动对应的服务单元: ```bash sudo chmod +x /etc/rc.local sudo systemctl enable rc-local sudo systemctl start rc-local.service ``` 验证服务状态以确认一切运作良好: ```bash sudo systemctl status rc-local.service ``` #### 利用图形界面工具设定应用开机运行 另一种更为直观的方式是在桌面环境中通过 GUI 完成相同目标。打开“启动应用程序首选项”,点击添加按钮后输入名称与描述信息;最重要的是指定要随系统一同加载的命令字符串,例如让终端模拟器按照特定参数调用 shell 脚本[^3]: ```bash gnome-terminal -x /home/xavier/result.sh ``` 这种方法适用于那些不需要超级用户权限即可独立工作的个人化小程序或是快捷操作集合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值