写在前面的话:

  1. 版权声明:本文为博主原创文章,转载请注明出处!
  2. 博主是一个小菜鸟,并且非常玻璃心!如果文中有什么问题,请友好地指出来,博主查证后会进行更正,啾咪~~
  3. 每篇文章都是博主现阶段的理解,如果理解的更深入的话,博主会不定时更新文章。
  4. 本文初次更新时间:2020.12.04,最后更新时间:2020.12.04

正文开始

出于一些原因,需要自己写一些命令和脚本,在开机时可以自己执行,在网上找到一些方法,这里做一个总结记录。

环境:xubuntu 18.04

PS:为了方便,我个人使用root登陆,所以就不加sudo了。

注意:脚本一定要有可执行权限!!!

1. 常规设置(rc.local)

ubuntu 16.10 开始不再使用initd管理系统,改用systemd管理系统。

systemd管理系统默认读取/etc/systemd/system目录下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。

1.1 修改 rc.local.service

执行ls /lib/systemd/system命令可以看到有很多启动脚本,其中就有需要的rc.local.service文件,查看内容:

#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[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

正常的启动文件主要分成以下三部分:

  • [Unit]段: 启动顺序与依赖关系。
  • [Service]段: 启动行为,如何启动,启动类型。
  • [Install]段: 定义如何安装这个配置文件,即怎样做到开机启动。

可以看出/etc/rc.local文件的启动顺序是在网络后面,但是它少了[Install]段,也就没有定义如何做到开机启动,所以这样配置是无效的。我们需要在后面加上[Install]段:

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

放一下完整的rc-local.service

#  SPDX-License-Identifier: LGPL-2.1+
#
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[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
Alias=rc-local.service

1.2 创建并修改 rc.local

因为Ubuntu 18.04默认没有/etc/rc.local文件,需要自己创建,然后将需要开机启动的命令或脚本写入该文件。

#!/bin/bashchmod +x /root/my_startup.sh
/bin/bash /root/my_startup.shexit 0

记得 chmod +x /etc/rc.local

注意 :脚本或者开机执行的命令要在exit 0之前。

1.3 链接

/etc/systemd/system目录下创建rc.local.service服务的软链接:

ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
# 或
systemctl enable rc-local.service

然后重启即可。

2. UI设置

打开【UI 左上角】->【Settings】->【Session and Startup】:

选择【Application Autostart】,点击【Add】:

填写内容,Name是自己起的名字,Description是对该应用的描述,Command是启动的命令,填完点击【OK】。

确定自己设置的已经打上【√】了,再【Close】:

3. UI改脚本设置

效果同 UI 设置,只不过这里使用脚本进行设置。

mkdir -p /root/.config/autostart/
vim /root/.config/autostart/csc_test.desktop

写入如下内容:

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=my_startup
Comment=startup tool
Exec=/root/mystartup.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false

参考

ubuntu 18.04 如何设置开机自动启动脚本
How can I edit/create new launcher items in Unity by hand?

相关文章

Debian设置开机自启动脚本的两种方法

【Xubuntu】多种方法设置xubuntu-18.04开机启动相关推荐

  1. linux怎样优化桌面,简单优化设置Ubuntu 18.04系统的GNOME桌面

    下面通过简单实用的技巧来优化设置 Ubuntu 18.04 系统的 GNOME 桌面.Ubuntu 放弃 Unity 桌面转而使用 GNOME 作为默认桌面环境,但是 GNOME 桌面过于追求简约,导 ...

  2. linux紧急救援模式,如何在 Ubuntu 18.04 中启动到救援模式或紧急模式

    正如你可能已经知道的那样,运行级别 在许多最近的 Linux 发行版(如 RHEL 7 和 Ubuntu 16.04 LTS)中被 systemd 的目标 替换.在这个简短的教程中,我们将看到如何启动 ...

  3. lubuntu输入法设置_Ubuntu 18.04 16.04 设置输入法切换方法 中文输入法

    Ubuntu 18.04 16.04 设置输入法切换方法 中文输入法 发布时间:2018-08-23 11:30, 浏览次数:2644 , 标签: Ubuntu 新装的unbunu 18.04 16. ...

  4. UBUNTU 18.04开机自启动脚本实现--打开终端、执行命令及终端输入文字

    开机自启动 方法很多,测试了一下,在18.04中最方便的方法如下: 新建sh脚本 touch xxx.sh gedit xxx.h 然后输入: #!/bin/bash## xxx.sh## 你的代码# ...

  5. xp系统禁止开机启动服务器,win xp开机启动项怎么设置-win xp关闭开机启动项的方法 - 河东软件园...

    所谓的启动项,也就是在我们开启电脑的时候系统自动在前台或者是后台所运行的程序.而当操作的系统进行登陆以后,就会在进程表中出现各式各样的进程.然而在我们开启电脑的时候许多的程序都会自启动,给我们带来了不 ...

  6. Ubuntu 16.04下MySQL 5.7.18取消开机启动(解决无法使用Sysvinit(update-rc.d/sysv-rc-conf)脚本关闭)...

    首先了解以下运行级别对应工具的变化历史: 1.Ubuntu 6.10及以前版本使用Sysvinit. 2.Ubuntu 14.10及以前版本使用Upstart但是还留着Sysvinit并存. http ...

  7. (2021.5)Ubuntu20.04/18.04安装/启动盘制作

    Ubuntu20.04版本安装与18.04版几乎一致,下面用以20.04版本安装为示例 Ubuntu下载地址: https://cn.ubuntu.com/download 点击下载,若安装18.04 ...

  8. 计算机开机设置在哪里,电脑开机启动项在哪里设置,如何设置电脑开机启动项-...

    电脑的启动项影响着开机速度,那么,如何设置电脑开机的启动项,把不需要的应用禁止开机启动呢?下面,就由学习啦小编为大家介绍电脑开机启动项设置的方法,供大家参考和学习. 通过系统的指令可以关闭一些不常用的 ...

  9. 设置docker、容器开机启动

    简介:docker容器化可以使得环境相对独立,减少污染.在遇到关机重启时,重新启动显得很鸡肋,特别是必须开机自启动的程序,添加必要的参数使得每次重启后可以开始使用容器非常有必要. 历史攻略: cent ...

  10. Linux下设置mysql和tomcat开机启动

    本文基于CentOS 64位 一.mysql设置开机启动 1.cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql   将服 ...

最新文章

  1. 关于WeX5的初步学习
  2. linux使用交叉工具链产生的程序怎么下载到mini2440里,Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法...
  3. 5G NGC — ETSUN(I-SMF/I-UPF)拓扑增强
  4. 转:VirtualBox虚拟机网络连接设置的四种方式
  5. python反转列表_python列表反转
  6. zookeeper理解
  7. mysql主库从库在同一台服务器_通过两种方式增加从库——不停止mysql服务
  8. 387. First Unique Character in a String - String
  9. 计算机基础,Java介绍和环境搭建及Hello World
  10. linux mint 蓝牙驱动,Mint 使用蓝牙鼠标问题
  11. 门户网站开发价格一般需要多少钱?
  12. 软件测试AI语音智能音响,什么是智能音箱_ai音箱都有什么功能 - 全文
  13. IP归属地查询(基于本地IP库实现)
  14. 「诗人艺术家ll著名诗人」胭脂茉莉十四行诗10首
  15. DM数据库中数据字典表分类及常用查询。
  16. 用matlab画5日均线,用MATLAB求移动平均线,不用MOVAVG函数,求MA5,MA10 – MATLAB中文论坛...
  17. archlinux安装
  18. F5(负载均衡)使用配置文档
  19. 20180814 实习小结关于前端
  20. C语言无符号双字节乘法,华为OJ机试标题:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

热门文章

  1. 精英阶层是怎么心甘情愿被收割的
  2. html5 手机号直接拨打,html5拨打电话及发短信
  3. [英语歌曲]孤独:Soledad
  4. 双摄方案android,科普短文,各种手机双摄像头搭配方案及工作原理简介
  5. 第七章 为什么巴比伦塔会失败
  6. java 邮件 加密_基于Java的邮件加密解密
  7. 章文嵩:开源,LVS,以及留下的无数传说
  8. 基于R语言的Kaggle案例分析学习笔记(七)
  9. 商城app开发大概多少钱?APP商城的开发一般要多少费用呢?
  10. 基于Java毕业设计游戏分享平台源码+系统+mysql+lw文档+部署软件