На этот вопрос уже есть ответ здесь:
Я новичок в размещении здесь сообщений и незнаком с протоколами. Я видел здесь ссылку 16.10 rc.local не существует и попытался использовать эту команду
Команда была
sudo systemctl enable rc-local.service
Эта команда для меня в 16.10 MATE предоставляет следующее (не может работать форматирование здесь, сожалею:
$ sudo systemctl enable rc-local.service
[sudo] password for chris:
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
instance name specified.
Перезагрузка не имеет никакого эффекта.
быстрое обходное решение (я не знаю, является ли это каноническим путем):
В терминале сделайте:
sudo touch /etc/rc.local
sudo chmod +x /etc/rc.local
sudo printf '#!/bin/bash\nexit 0' > /etc/rc.local
sudo reboot
После этого rc.local назовут после системного запуска. Вставьте то, что Вы хотите.
, Если Вы делаете в терминале:
sudo systemctl edit --full rc-local
Вы видите, что главный комментарий содержит строки, такие как:
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
Это указывает, что в этой системе, если будет файл, названный /etc/rc.local
, который является исполняемым файлом, то затем это вытянут в multi-user.target автоматически. Таким образом, Вы просто создаете согласно файлу (sudo touch...
) делание его исполняемый файл (sudo chmod +x ...
).