Por que meu script de inicialização para abrir um terminal não funciona?

Por que meu script de inicialização para abrir um terminal não funciona?

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-terminalassim que você fizer login.

Além disso, seu comando para executar gnome-terminalnã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.

informação relacionada