Equivalente Linux à pasta de inicialização do Windows

Equivalente Linux à pasta de inicialização do Windows

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/blahestá 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 .desktoparquivo em ~/.config/autostart. Para obter um exemplo de .desktoparquivo, 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.servicee execute systemctl daemon-reloadcomo root para registrar o serviço. Em seguida, execute systemctl enable blah.servicepara ativar a inicialização automática do seu novo serviço.

Para obter detalhes sobre como escrever um arquivo de unidade systemd, consulteesse link.

informação relacionada