КАК ВКЛЮЧИТЬ RC-LOCAL В UBUNTU 20.04 И ПРОЧИХ

Случайно заметил что в десктопной версии Ubuntu демон rc-local тупо отключен. Чтобы его включить, нужно выполнить следующую инструкцию в несколько простых шагов.

1. Создадим сам файд rc.local.

sudo nano /etc/rc.local

2. Добавим в него следующее содержимое:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" 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.


if [ -f /aafirstboot ]; then /aafirstboot start ; fi
if [ -f /aafirstboot ]; then /aafirstboot start ; fi
if [ -f /aafirstboot ]; then /aafirstboot start ; fi

exit 0

3. Сделаем его исполняемым

sudo chmod +x /etc/rc.local

4. Создадим юнит в systemd.

sudo nano /etc/systemd/system/rc-local.service

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target

5. Включим его.

sudo systemctl enable rc-local.service

На этом все. Далее добавляете ваш скрипт прямо над exit 0, перезагружаетесь и радуетесь жизни

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" 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.

if [ -f /aafirstboot ]; then /aafirstboot start ; fi
if [ -f /aafirstboot ]; then /aafirstboot start ; fi
if [ -f /aafirstboot ]; then /aafirstboot start ; fi

madserver

exit 0

sudo reboot now