Introdução
Acho que você não deve criar um novo serviço como sugerido no link de George.
O rc-local.service
já existe no systemd e o arquivo de serviço sugere que o rc.local
, se existir e for executável, é puxado automaticamente para multi-user.target
.
Portanto, não há necessidade de recriar ou forçar algo que acabou de ser feito de outra maneira pelo systemd-rc-local-generator
.
Uma solução
Uma solução rápida (não sei se é o jeito canônico):
Em um terminal, faça:
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
sudo reboot
Depois disso, o rc.local
será chamado na inicialização do sistema. Insira o que você quer.
Antecedentes
Se você fizer isso em um terminal:
sudo systemctl edit --full rc-local
Você pode ver que o comentário principal contém linhas como:
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
Isso indica que, neste sistema, se houver um arquivo chamado /etc/rc.local
, que é executável, ele será puxado para o multi-user.target automaticamente. Então você acabou de criar o arquivo correspondente ( sudo touch...
) e torná-lo executável ( sudo chmod +x ...
).