Ubuntu开机启动——从多个方面详细阐述

发布时间:2023-05-20

Ubuntu开机启动程序

Ubuntu开机启动程序需要写一个简单的脚本(shell脚本),接着将该脚本放在/etc/init.d/目录下,并使其可执行。脚本中需要包含一些基本的指令,如启动服务、停止服务、重启服务等。具体操作步骤如下:

  1. 新建脚本文件sudo vi /etc/init.d/testtest为脚本名称,可以自己定义)
  2. test脚本文件中输入如下内容:
    #!/bin/bash
    # chkconfig: 345 99 01 
    # description: test service 
    # processname: test 
    #
    case "$1" in
    start)
        echo "starting test"
        ;;
    stop)
        echo "stopping test"
        ;;
    reload)
        echo "reloading test"
        ;;
    esac
    exit 0
    
  3. 给脚本文件增加可执行权限:chmod +x /etc/init.d/test
  4. 将脚本添加到服务列表:sudo update-rc.d test defaults 99 01 以上操作完成后,就可以尝试重启系统并测试脚本是否生效。如果一切正常,则在系统启动时,相应服务也会被启动。

Ubuntu18开机启动

Ubuntu 18.04 LTS 开机自启动需要使用systemd来管理,以下是Ubuntu 18.04的开机自启动方法:

  1. /lib/systemd/system/目录下新建一个test.service文件;
  2. test.service中输入以下内容:
    [Unit]
    Description=Test
    [Service]
    ExecStart=/usr/bin/python3 /home/test.py 
    Restart=always
    User=root
    [Install]
    WantedBy=multi-user.target
    
  3. test.service文件移动到/etc/systemd/system/目录下
  4. 启动服务:systemctl start test.service
  5. 设置服务开机启动:systemctl enable test.service 以上操作完成后,就可以尝试重启系统并测试服务是否自启动。如果一切正常,则在系统启动时,相应服务也会被启动。

Ubuntu开机启动顺序

Ubuntu的开机启动顺序一般按照rc*.d目录下的启动级别来确定,各个脚本按照其S<数字><脚本名>K<数字><脚本名>大小来确定执行顺序。S表示启动,K表示停止,数字表示优先级,数字越小越先运行。例如:

S20apache2 -> S30mysql -> S40tomcat7

这样的话,apache2最先启动,mysql紧接着启动,tomcat7最后启动。

Ubuntu开机打开终端

要使Ubuntu在开机后自动打开终端,可以执行以下操作:

  1. 打开终端,并输入命令:sudo vi /etc/profile
  2. 在文件的末尾添加以下代码:
    if tty -s; then
        /usr/bin/clear
    fi
    
  3. 保存修改后退出并重启计算机。 这样,当计算机启动后,终端会被自动打开。

Ubuntu开机启动不生效

在Ubuntu开机启动时,如果服务没有被正确启动,可能是如下原因:

  1. 脚本没有被正确放置在/etc/init.d//etc/systemd/system/目录下;
  2. 脚本缺少可执行权限;
  3. 脚本需要执行的路径不正确;
  4. 开机启动的依赖项没有正确设置。 如果遇到开机启动不生效的问题,可以通过以下方式来解决:
  5. 检查脚本是否放置在正确的目录下并具备可执行权限;
  6. 检查脚本中路径和依赖是否正确;
  7. 查看日志,分析启动过程中可能存在的问题。

Ubuntu开机自启动sh程序

如果想要让Ubuntu自动启动某个.sh文件,可以直接将.sh文件放到/etc/init.d/目录下,并给该文件增加执行权限。之后,使用update-rc.d命令将该脚本添加到自启动列表中。

  1. 创建.sh脚本:
    sudo touch /etc/init.d/test.sh
    sudo chmod +x /etc/init.d/test.sh
    sudo vim /etc/init.d/test.sh
    
  2. 添加脚本内容:
    #!/bin/bash
    /root/test.sh start
    
  3. 加入自启动列表:
    sudo update-rc.d test.sh defaults
    

以上操作完成之后,重启系统,就能看到相应的.sh脚本已经自启动了。

Ubuntu开机启动ssh

Ubuntu默认情况下已经开启了SSH服务,可以通过以下命令查看:

sudo service sshd status

如果SSH服务未开启,则可以通过以下方式开启SSH服务:

  1. 安装ssh服务:
    sudo apt-get install openssh-server
    
  2. 启动ssh服务:
    sudo /etc/init.d/ssh start
    

以上操作完成后,就可以通过SSH远程登录Ubuntu系统了。

Ubuntu开机启动Qt程序

要让Ubuntu开机启动Qt程序,需要创建.desktop文件,该文件保存在/usr/share/applications目录下。具体操作步骤如下:

  1. 新建Autostart目录,进入~/.config目录:mkdir ~/.config/autostart
  2. 创建.desktop文件:vi ~/.config/autostart/my_program.desktop
  3. 输入如下内容:
    [Desktop Entry]
    Type=Application
    Exec=/home/user/path_to/my_program
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name=My Qt Program
    Comment=My Qt Program
    
  4. .desktop文件添加执行权限:chmod +x ~/.config/autostart/my_program.desktop
  5. 重新启动Ubuntu,就能看到程序自动启动了。

Ubuntu开机启动MySQL失败

在Ubuntu开机启动MySQL服务时,有时可能会失败。此时,可以通过以下方式进行修复:

  1. 检查MySQL服务是否已经安装。
  2. 检查/var/run/mysqld目录的权限是否正确,该目录的权限应该为mysql:mysql
  3. 检查MySQL配置文件/etc/mysql/my.cnf文件是否正确,特别是datadirlog-bin文件的目录是否存在,且权限是否正确。
  4. 如果MySQL使用的是InnoDB存储引擎,那么需要用mysql_upgrade命令来更新数据文件。
  5. 如果以上步骤没有解决问题,则可以通过重新安装MySQL来解决。 以上就是关于Ubuntu开机启动的一些详细阐述。通过本文的介绍,相信读者已经能够轻松掌握Ubuntu开机启动的相关知识,并可以根据需要来进行相应的配置了。