精华内容
下载资源
问答
  • 主要介绍了ubuntu中编写shell脚本开机自动启动,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • gnome-terminal方法间接启动法:直接启动法:3. rc.local方法update-rc.d的详细参数 测试脚本: #!/bin/bash # test.sh cd /home/Desktop/ ls echo "OK!" exit 0 1. /etc/init.d方法 sudo mv test.sh /etc/init...

    测试脚本:

    #!/bin/bash
    
    # test.sh
    
    cd /home/Desktop/
    ls
    echo "OK!"
    
    exit 0
    

    1. /etc/init.d方法

    sudo mv test.sh /etc/init.d/
    sudo chmod 777 test.sh
    sudo update-rc.d test.sh defaults
    

    如果需要设置启动优先级: ```bash # 100表示优先级,数越大,执行的越晚 sudo update-rc.d test.sh defaults 100 ```
    如果要移除脚本:
    cd /etc/init.d
    sudo update-rc.d -f test.sh remove
    

    2. gnome-terminal方法

    间接启动法:

    新建终端时,终端会自动执行~/.bashrc,应用该方法可实现开机自启动

    # 将命令写入~/.bashrc
    source ~/.bashrc
    

    启动ubuntu应用程序首选项管理:

    gnome-session-properties
    

    在这里插入图片描述
    命令(M) 写入:gnome-terminal,→添加,重启即可生效。

    直接启动法:

    在这里插入图片描述
    命令(M) 写入:

    gnome-terminal -x bash -c "/home/User/Desktop/test.sh"
    

    添加,重启即可生效。

    使用工控机时,可设置为用户自动登录

    3. rc.local方法

    rc.local脚本会在ubuntu开机后自动执行,因此我们可以将启动命令写在此文件中,例如:

    #!/bin/sh -e
    #
    # rc.local
    #
    # ……
    #
    
    cd /home/User/Desktop/ && ./test.sh
    
    exit 0
    

    注意:编辑时需要root权限,如果该方法没有正确启动,检查log内容。需要注意的一个点:rc.local中的脚本会在系统登录前执行,这是我们还没进入桌面,因此有可能会执行失败


    update-rc.d的详细参数

    使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):

    • update-rc.d [-n] [-f] <basename> remove
    • update-rc.d [-n] <basename> defaults
    • update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
    • update-rc.d <basename> start|stop <NN> <runlevels>
    • -n: not really
    • -f: force

    其中:

    • disable|enable:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。
    • start|stop:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)
    • NN:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)
    • runlevels:则指定了运行级别。

    参考文献:

    展开全文
  • Ubuntu开机自启动脚本配置

    千次阅读 2018-07-26 11:46:24
    本文介绍一种简单的方式来配置ubuntu开机启动脚本,分别介绍了root用户和普通用户的配置方式,同时给出一种在rc.local执行阶段无法加载环境变量的解决方案。

    开机启动分多种方式,介绍一种简单的方式,在/etc/rc.local配置一下启动脚本即可。其中rc.local运行在操作系统完全引导成功但是尚未启动login shell之前(也就是说rc.local运行于系统shell级别),此时配置在/etc/profiles或bashrc里的环境变量并未得到执行,因此在rc.local执行阶段看不到任何环境变量。本文以Ubuntu16.04系统为例说明,先看一下默认的rc.local的样子:

    1.png

    要解决在系统shell中无法加载环境变量可以通过如下方法:
    2.png

    通过source /etc/profile进行加载环境变量,但同时需要修改第一行为#!/bin/bash,由于bash是sh的增强版本,source命令在sh中不识别。当然也可以直接在rc.local里面通过类似export JAVA_HOME=xxx的方式进行动态添加,但显然这种方式就不太通用了。

    以下介绍rc.local中的两种使用场景:

    以root用户自启动脚本

    由于系统shell默认以root权限执行,因此可以直接在rc.local写待启动的脚本即可
    3.png

    以普通用户自启动脚本

    由于开机默认是以root权限执行,因此这种方式需切换到普通用户在执行脚本即可。
    4.png

    其中红框内的意思是切换到songhongwei用户,然后执行引号中的命令。

    展开全文
  • Ubuntu开机自启动脚本

    2021-05-08 09:50:21
    在exit 0 之前加入要启动脚本文件 #!/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 # ...
    1. sudo vim /etc/rc.local
    2. 在exit 0 之前加入要启动的脚本文件
    #!/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.
    
    cd /home/vhd/tools/srs/trunk
    bash scripts/run.sh > /home/vhd/tools/srs/trunk/log/run.log &
    cd -
    
    
    exit 0
    
    1. 保存退出,重启服务器
    展开全文
  • ubuntu18.04设置开机自动启动脚本

    千次阅读 2020-09-26 16:32:18
    ubuntu作为服务器使用时,常常需要在机器重启时能自动启动我们开发的服务。 Ubuntu 16.10开始不再使用initd管理系统,改用systemd,包括用systemctl命令来替换了service和chkconfig的功能。 systemd 默认读取 /etc/...

    简介


    ubuntu作为服务器使用时,常常需要在机器重启时能自动启动我们开发的服务。

    Ubuntu 16.10开始不再使用initd管理系统,改用systemd,包括用systemctl命令来替换了servicechkconfig的功能。

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

    不同于以往的版本,ubuntu18.04默认不带/etc/rc.local文件,我们需要通过配置来让rc.local.service生效。

    然后我们就可以像以前那样,直接把启动脚本写入/etc/rc.local文件,这样机器启动时就会自动运行它。

    除了常规的设置启动脚本以外,本文还介绍一下通用的添加自动启动服务的一般方法。

    rc.local启动脚本


    1. 查看所有服务
    • ls /lib/systemd/system,可以看到很多服务,这样不便于确认指定的服务是否存在
    • ls /lib/systemd/system | grep rc,找到我们关心的rc.local.service服务
    1. 修改服务配置
    • sudo vi /lib/systemd/system/rc.local.service

    • 打开后可以看到,文件包含[Unit]和[Service]两个部分内容

    • 一般启动文件需要三个部分:

      • [Unit] 启动顺序与依赖关系
      • [Service] 启动行为, 如何启动,启动类型
      • [Install] 定义如何安装这个配置文件,即怎样做到开机启动
    • 在文件最后加入以下内容:

    [Install]  
    WantedBy=multi-user.target  
    Alias=rc-local.service
    
    1. 创建执行文件
    • sudo vi /etc/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 "this shows rc.local is start onboot" > /usr/local/rc-local-info.log
    # add your scritp here
    
    exit 0
    
    • 为rc.local加执行权限: sudo chmod +x /etc/rc.local
    1. 建立软链接
    • systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接
    • sudo ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
    1. 启用服务并启动
    sudo systemctl enable rc-local
    sudo systemctl start rc-local.service
    sudo systemctl status rc-local.service
    
    1. 重启检查: cat /usr/local/rc-local-info.log

    通用服务创建


    请按以下步骤进行:

    1. 创建一个systemd服务
    • 比如创建名为my-serverA的服务:sudo vi /etc/systemd/system/my-serverA.service
    • 将以下内容写入文件:
    [Unit]
    Description=/etc/my_serverA.sh Compatibility
    ConditionPathExists=/etc/my_serverA.sh
     
    [Service]
    Type=forking
    ExecStart=/etc/my_serverA.sh start
    TimeoutSec=0
    StandardOutput=tty
    RemainAfterExit=yes
    SysVStartPriority=99
     
    [Install]
    WantedBy=multi-user.target
    
    1. 创建可执行文件my_serverA.sh
    • sudo vi /etc/my_serverA.sh
    • 写入以下内容:
    echo "this shows my_serverA.sh is start onboot" > /usr/local/my_serverA.start.log
    # add your scritp here
    # my_serverA
    
    exit 0
    
    • 为my_serverA.sh加执行权限: sudo chmod +x /etc/my_serverA.sh
    1. 启用my_serverA服务
    • sudo systemctl enable my_serverA
    1. 启动服务并打印状态
    sudo systemctl start my_serverA.service
    sudo systemctl status my_serverA.service
    
    1. 重启以验证

    cat /usr/local/my_serverA.start.log

    小结


    两种方法的流程大概相同,这与Linux的服务启动机制有关,只要我们设置好,服务就会自动启动。

    只要掌握了一种方式,其他的都一样了。

    想了解详细内容的同学,可以学习一下Linux系统启动过程,也非常有意思。

    展开全文
  • 既然要实现开机自动运行脚本,那么就与Linux...而其中/etc/rc.d/rc.local自启动脚本是Linux留给用户自定义个性启动项的一个脚本。 你只要打开这个脚本文件,看上面的解释,很明显的告诉你这个脚本文件的作用。用户可...
  • ubuntu开机自启动脚本

    2021-02-02 13:50:35
    新建startup.sh 以#!/bin/bash开头以exit 0结尾 #!/bin/bash docker exec -it tao /home/startup.sh docker exec -it wyl /home/startup.sh docker exec -it zyc /home/startup.sh ...sudo updat.
  • ubuntu开机自启动脚本分析 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 很久没更新了,感觉自己太弗拉不堪了,这次主要分享的是在视觉程序写好后,调试通信完成后的要做的事情——自启动脚本,本脚本...
  • ubuntu tmux 自动执行shell脚本,可创建多个session,多个window。多个panes, 平铺所有的panes,对指定session下指定window的指定panes发送指定的多条命令,后台创建!...稍微修改可做成自己的自启动脚本
  • 下面记录一下开机自启动脚本的编写,以便往后查阅。 1、适用系统Ubuntu18、ubuntu20 2、切换到etc目录 cd /etc 3、创建名为"rc.local"脚本 sudo touch rc.local 4、编辑脚本文件 sudo vim rc.local 5、...
  • 1) 将你的启动脚本复制到/etc/init.d目录下以下假设你的脚本文件名为 test。2) 设置脚本文件的权限$ sudo chmod 755 /etc/init.d/test3) 执行如下命令将脚本放到启动脚本中去:$ cd/etc/init.d$ sudoupdate-rc....
  • 有一个脚本想在ubuntu 虚拟机开机时,自动.../bin/bash/opt/lampp/lampp start编辑启动文件在/etc/init.d/rc.local文件的do_start()函数第一行内添加自启动脚本目录,格式为 路径 &> /dev/null &注:1、确...
  • Ubuntu18.04 开机自启动脚本

    万次阅读 2019-04-17 16:57:04
    Ubuntu没有自带其他linux版本自带的rc.local文件的开机自启动方法,所以要自己生成rc.local文件: 生成rc-local.service文件将一下内容复制进rc-local…service文件 sudo gedit /etc/systemd/system/rc-local ....
  • ubuntu18.04 开机自动启动脚本的坑

    千次阅读 2019-07-12 22:03:00
    哇 这个真的难受 找了半天的方案不能用 自暴自弃用的图形界面设置 转载于:https://www.cnblogs.com/bugcreator/p/11178670.html
  • ubuntu16.04自启动脚本

    2020-01-09 10:15:33
    文章目录二、去除开机启动脚本 进入到/etc/init.d/目录下编写脚本。 cd /etc/init.d sudo gedit hello.sh 比如自启动chrome浏览器 #! /bin/bash # command content google-chrome ...
  • ubuntu开机脚本自启动(含ROS程序启动)方法 平时有用到一些机器人或者带有ubuntu系统的移动设备,比如NVIDIA TX2,NVIDIA XAVIA, Jetson NANO,秒算,工控机等等,写好了程序后,如果想要运行,开机之后还得连接键盘鼠标, ...
  • Ubuntu18.04设置开机自脚本

    千次阅读 2020-12-04 11:25:43
    网上参考Ubuntu18.04 开机自启动脚本之后并没成功,各种搜索后发现博文内容都一样,说什么亲测可行,但根本没解决下面这个问题 ~$ sudo systemctl status rc-local.service ● rc-local.service - /etc/rc.local ...
  • 一、Ubuntu添加开机自动启动程序的方法1. 开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在/etc/rc或/...
  • 挂掉的机器有很多处理策略,常用的就是重新启动,但是为了保证重启之后服务器能够恢复可用状态,需要配置开机启动脚本。2 编写启动脚本服务脚本:假设服务名字为test#!/bin/bash### BEGIN INIT INFO# Provides: ...
  • SSH 此处记录5种方法,经过粗略测试,有好使的,也有不好使的,根据情况自行选用。 1 新建.sh cp .sh /etc/init.d/ chmod 775 .sh update-rc.d .sh defaults 90 ...编写 .sh 创建启动项 进入桌面后启动 只运行一次
  • 修改/lib/systemd/system/rc-local.service脚本 [Install] WantedBy=multi-user.target ...自启动脚本放到这个文件夹里面 在/etc/systemed/system目录下创建软链接 ln -s /lib/systemd/system/rc.
  • systemd(systemctl)编程Linux开机自启动服务脚本的方法(教程) 过去Linux采用的是init.d的服务启动管理方式, 新版的Linux采用systemd服务启动管理方式, 请看教程讲解
  • 在根目录下创建一个start.sh脚本,内容如下: sleep 20s gnome-terminal -t "roscore" -x bash -c "source /home/nvidia/.bashrc;source /opt/ros/melodic/setup.bash;roscore;exec bash;" sleep 10s gnome-terminal...
  • Ubuntu20.04 开机自定义脚本启动*

    千次阅读 2021-03-24 23:09:26
    简单小记,网上花里胡哨东西太多,Ubuntu20.04开机自定义脚本、服务启动亲测有效,主要使用system service服务方式启动 二、 详细步骤 1、 编写脚本 (1) Vi wolmacip.sh 我的是一个自动想电信光猫写入mac地址与IP...
  • Ubuntu Mate 开机自启ROS 创建 start.sh文件 #! /bin/bash cd /home/test ./opencv_example exit 0 运行脚本文件 chmod 777 start.sh ./start.h ubuntu脚本自动输入sudo密码 #!/bin/bash echo ...
  • Ubuntu 16.04设置开机自启动脚本 1.创建脚本(.sh文件) 可以在任意路径下(这里将路径表示成~)建立名为auto_run_test.sh的文件;auto_run_test.sh里面写上具体要做的事,例如我这里: #! /bin/bash cd ~ echo “hello...
  • 主要给大家介绍了Ubuntu 14.04设置开机启动脚本的方法,文中通过代码介绍的很详细,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友们下面来跟着小编一起学习学习吧。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,875
精华内容 6,350
关键字:

ubuntu开机自启动脚本