Só para brincar com a criação de scripts, fiz um que (acredito?) deveria abrir um terminal na inicialização:
#!/bin/bash
#start terminal at startup
#/usr/bin/gnome-terminal
coloquei no diretório /etc/init.d e executei isso
update-rc.d myscript defaults
mas absolutamente nada acontece quando eu reinicio meu computador. Por que?
Responder1
Resposta curta:
gnome-terminal
é um aplicativo GUI. Portanto, só pode ser executadocomo usuário. No momento em que você está tentando executá-lo, nenhum usuário está logado (ainda). Coloque o script (comando para executar o-) em Aplicativos de inicialização.
Você nãoprecisarum roteirode forma algumaentretanto, você pode adicionar o comando diretamente aos aplicativos de inicialização.
Isso começará gnome-terminal
assim que você fizer login.
Além disso, seu comando para executar gnome-terminal
não está correto. Deveria ser /usr/bin/gnome-terminal
(como mencionado por @steeldriver, obrigado) ou, como está em $PATH
, simplesmente gnome-terminal
.
Responder2
O principal erro em seu script é que em sua terceira instrução você comentou o comando para abrir o terminal. Por favor, remova o "#"da terceira declaração. Enquanto isso, você pode simplesmente usarterminal gnomepara ativá-lo, mas ele deve ser executado como usuário. Então isso significa que adicioná-lo ao update-rc também não funcionará. Se você é mais propenso a usar terminais, pode adicionar seu script no crontab e adicioná-lo ao arquivo crontab do usuário comreiníciorestringir. Isso executará seu script na inicialização. Então resumi da seguinte forma:
Seu arquivo nomeado como script.sh :
#!/bin/bash
#start terminal at startup
gnome-terminal
Torne o script executável pelo usuário usando o seguinte comando.
chmod u+x /path/to/script.sh
Agora abra o terminal e edite o crontab do seu usuário da seguinte forma:
crontab -e -u username
Adicione a seguinte instrução ao final do arquivo depois de fazer as alterações necessárias de acordo.
@reboot /path/to/script.sh
Agora reinicie. É isso.