
Eu tenho um script que quero executar na inicialização do Linux, sei que o Windows tem uma pasta de inicialização e que o Linux também tem uma. Fiz algumas pesquisas e encontrei vários arquivos com muitas respostas conflitantes. O caminho:
/etc/systemd/system
parece ser usado. Outro é:
/etc/rc.local
e também vi:
/etc/init.d
Eu só quero o caminho para um equivalente Linux de uma pasta de inicialização do Windows que existe em todas ou pelo menos na maioria das distribuições Linux. Também quero poder colocar um script nesse diretório para executá-lo na inicialização. Qual caminho pode atender a esses requisitos.
Responder1
A maioria das formas de inicialização automática depende da sua instalação: o sistema init que você usa (sysv vs systemd vs upstart), seu ambiente de área de trabalho (GNOME/KDE vs não-XDG), etc.
O Cron existe na maioria dos sistemas Linux e pode ser usado para inicialização automática. Adicione uma linha ao seu /etc/crontab
:
@reboot /usr/bin/blah
onde /usr/bin/blah
está o comando que você deseja executar.
Se você deseja que o programa seja iniciado sempre que você fizer login e estiver usando um ambiente de área de trabalho compatível com XDG (por exemplo, GNOME ou KDE), coloque um .desktop
arquivo em ~/.config/autostart
. Para obter um exemplo de .desktop
arquivo, consulte oWiki do arco.
Alternativamente, se sua distribuição Linux usa systemd, você pode escrever um arquivo de unidade. Por exemplo:
[Unit]
Description=autostart something
[Service]
Type=oneshot
ExecStart=/usr/bin/blah
[Install]
WantedBy=multi-user.target
Coloque o texto acima /etc/systemd/system/blah.service
e execute systemctl daemon-reload
como root para registrar o serviço. Em seguida, execute systemctl enable blah.service
para ativar a inicialização automática do seu novo serviço.
Para obter detalhes sobre como escrever um arquivo de unidade systemd, consulteesse link.