Ubuntu - Como executar um comando de terminal na inicialização?

12

Eu quero executar um comando quando o Ubuntu inicializar. Os comandos em particular são:

sudo shutdown +m
sudo shutdown +1

Quero que o computador seja desligado assim que for iniciado para fins de teste. Planejo ligar o computador novamente com um pouco de circuito que estou testando.

Como posso executar este comando automaticamente na inicialização do sistema?

twigg
fonte
9
"desligamento automático na inicialização" soa mal. :)
Ankit

Respostas:

15

Coloque-o em /etc/rc.local. (É executado como root, portanto, sudonão é necessário lá.)

Além disso, você pode estar interessado em ler informações adicionais sobre os níveis de execução: http://en.wikipedia.org/wiki/Runlevel

Eugene Demidov
fonte
Você também pode ir para Sistema / Preferências / Aplicativos de inicialização e adicionar o script lá.
SaintWacko
Não está funcionando para mim no Ubuntu Server 18.04 - Quero trocar comosudo swapon /swapfile
Nam G VU
Use o crontab com a sintaxe @reboot trabalhando para mim ref. superuser.com/a/586078/34893
Nam G VU
6

Existem diferentes maneiras de executar comandos automaticamente:

  1. O novo-rico sistema executará todos os scripts de forma que ele encontra uma configuração no diretório /etc/init. Esses scripts serão executados durante a inicialização do sistema (ou em resposta a determinados eventos, por exemplo, uma solicitação de desligamento) e, portanto, são o local para executar comandos que não interagem com o usuário; todos os servidores são iniciados usando esse mecanismo. Você pode encontrar uma introdução legível em: http://upstart.ubuntu.com/getting-started.html nas páginas de manual man 5 inite man 8 initfornecendo todos os detalhes.

  2. Um script de shell nomeado .gnomercem seu diretório pessoal é originado automaticamente sempre que você faz login em uma sessão do GNOME. Você pode colocar comandos arbitrários lá; As variáveis ​​de ambiente que você define neste script serão vistas por qualquer programa executado em sua sessão. Observe que a sessão não inicia até que o .gnomercscript seja finalizado; portanto, se você deseja iniciar automaticamente algum programa de longa execução, é necessário anexar &à chamada do programa, para desanexá-lo do shell em execução.

  3. A opção de menu Sistema -> Preferências -> Aplicativos de inicialização permite que você defina quais aplicativos devem ser iniciados quando a sessão gráfica iniciar (o Ubuntu pré-define algumas) e adicione-os ou remova-os a seu gosto. Isso tem quase o mesmo objetivo e escopo do .gnomercscript, exceto que você não precisa conhecer a shsintaxe (mas também não pode usar nenhuma shconstrução de programação).

Ankit
fonte
1

Para coisas simples, você pode adicionar um comando em Sistema-> Preferências-> Sessões, apontando para o local do seu script.

Como alternativa, você pode adicioná-lo /etc/init.d/rc.localou fazer um trabalho inicial, se for algo de nível mais baixo .

Dê uma olhada em https://help.ubuntu.com/community/UbuntuBootupHowto para obter mais informações

Ankit
fonte