ubuntu18.04设置开机⾃启动程序(亲测有效:包括在ubuntu服
务器,xaiver。。。
情况A(以root⽤户运⾏程序,此⽅法不会加载⽤户环境变量,需要加载⽤户环境变量的请看情况B)
1.    sudo rm /etc/systemd/system/rc-local.service (如果有该⽂件则删除,没有不管)
2.    sudo vim /lib/systemd/system/rc-local.service
确保内容如下(只需要在原⽂后⾯加⼊[Install]块的内容即可):
#  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
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2.  sudo vim /lib/systemd/system/rc-local.service
#!/bin/sh -e
echo "test info" > /usr/local/test.log &
exit 0
【注意】:
1).  #!/bin/sh -e (不要⽤#!bin/bash)
2).  ⾃⼰需要启动的程序写在exit 0之前
ubuntu vim命令
3).    ⾮后台程序需要在命令租后加上&,否则会失败
4).    路径⽤绝对路径,不要⽤~这种符号
3.  sudo systemctl enable rc-local
该命令是将刚才的/lib/systemd/system/rc-local.service 内容⽣效,
会产⽣⼀个/etc/systemd/system/rc-local.service  -》 /lib/systemd/system/rc-local.service
【以上步骤没问题的话,接下来4,5不会报错】
4.  sudo systemctl start rc-local
5.  sudo systemctl status rc-local
【确定没报错则重启电脑,查看是否⽣效】
情况B(以特定⽤户运⾏程序,此⽅法可以加载⽤户环境变量)
1.  以A情况执⾏(步骤2⼀个地⽅不同)
原先步骤2:
sudo vim /lib/systemd/system/rc-local.service
#!/bin/sh -e
sudo -u username echo "test info" > /usr/local/test.log &
exit0
【注意】:只需要将⾃⼰的命令前加上sudo -u usrname即可
2.  sudo systemctl set-default graphical.target
【拓展】:
⼀、开机默认进⼊命令⾏模式
1、输⼊命令:sudo systemctl set-default multi-user.target
2、重启:reboot
要进⼊图形界⾯,只需要输⼊命令startx
从图形界⾯切换回命令⾏:ctrl+alt+F7(有的是F1)
⼆、开机默认进⼊图形⽤户界⾯
1、输⼊命令:sudo systemctl set-default graphical.target
2、 sudo vim /lib/systemd/system/getty@.service
将下⾯
ExecStart=-/sbin/agetty --noclear %I $TERM
改为
ExecStart=-/sbin/agetty  -a (username) --noclear %I $TERM #该步骤为命令⾏免密登录,若是不需要,可不⽤该步骤3、重启:reboot
要进⼊命令⾏模式:ctrl+alt+F2
从命令⾏切换到图形界⾯:ctrl+alt+F7(有的是F1)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。