Como executar um arquivo .sh quando a sessão é iniciada?

1

Eu tenho um arquivo .sh que eu executo indo para a pasta que o contém e escrevendo ./file.sh.

Eu quero executar esse arquivo quando a sessão começar, então eu criei um symlink em /etc/init.d.

Eu esperava que fosse executado quando eu comecei a sessão, mas não funciona ..

O arquivo tem o "x" escrito ao lado das permissões, então acho que é executável.

Alguma ajuda?

Javi

    
por tirengarfio 12.12.2011 / 16:22

5 respostas

6

Dash - > Aplicações de arranque - > Adicionar - > /path/to/your/.sh

    
por tiempjuuh 12.12.2011 / 16:26
2

/etc/init.d/ contém scripts que estão sendo executados quando o sistema é iniciado.
Se você quiser iniciar file.sh toda vez que abrir um terminal, faça uma chamada para esse script no arquivo .bashrc :

# Start this awesome script
. /path/file.sh
    
por Andrejs Cainikovs 12.12.2011 / 16:27
1

Existem facilmente um bilhão de maneiras de fazer isso, mas a partir de onde você tem, para adicionar algo ao antigo sistema init, é necessário executar o seguinte:

sudo update-rc.d foo defaults

Onde foo é o nome do seu script.

Algumas alternativas populares:

  • Edite /etc/rc.local para chamar seu script antes do exit .
  • Crie um script inicial . Este é o substituto do init System-V que o Ubuntu carregou nos últimos lançamentos. É muito bom se você quer mais controle sobre quando seu script é chamado, mas é mais um trabalho.
  • Lançá-lo de dentro de sua sessão X (se esta for uma máquina gráfica) via gnome ou outro método (provavelmente existem meio bilhão desses métodos)
por Oli 12.12.2011 / 16:30
0

Na lista de aplicativos de inicialização, adicione o comando abaixo

sh <path to your file>.sh

verifique se o arquivo está marcado como executável. eu recomendo manter o arquivo na pasta home.

    
por Hossain Muctadir 12.12.2011 / 17:46
0

ou

~/.config/autostart/ --->Create a file (filename.desktop)
filename.desktop in file add:
#!/bin/bash

[Desktop Entry]
Name=startdeskapp
GenericName=Program
Comment=auto start a sample 
#
Exec=startdesk.sh # app file name (default as bin/)
Terminal=false
Type=Application
Icon=icon.png
Categories=Network;
StartupNotify=false
    
por erkan şentürk 12.12.2011 / 20:06