Como executar automaticamente um script de shell ao efetuar login no Ubuntu

14

Como faço para que um script seja executado automaticamente quando eu fizer login? Não quando a máquina é inicializada, e não para todos os usuários, mas apenas quando eu (ou qualquer usuário específico com o script) fizer login por meio da interface do usuário do GNOME.

Da leitura em outro lugar, achei que era .bash_profile em meu diretório pessoal, mas para mim não tem efeito. Quando eu manualmente o executo em uma janela de terminal digitando ~/.bash_profile ele funciona, mas ele não será executado automaticamente quando eu fizer login.

Estou executando o Ubuntu 11.04. A permissão de arquivo no meu .bash_profile é -rwx------ . Não .bash_profile existia no meu diretório inicial antes de criá-lo hoje.

Parece que lembro de versões mais antigas do Linux com um arquivo .profile para cada usuário, mas isso também não funciona.

Como isso é feito? Preciso configurar alguma outra coisa para que o .bash_profile funcione? Ou o script de login por usuário precisa estar em algum outro arquivo?

    
por Mike Rowave 20.06.2011 / 02:13

5 respostas

11

Você pode simplesmente adicionar o seguinte comando ao sistema > Preferências > Aplicações de inicialização:

bash /full/path/to/your/script.sh

Isso deve fazer o truque;)

    
por 20.06.2011 / 02:17
7

Então, basicamente, como nodiscc sugerido, crie um iniciador de área de trabalho: ~ / .config / autostart / script .desktop com o seguinte conteúdo:

[Desktop Entry]
Type=Application
Name=Autostart Script
Exec=autostart
Icon=system-run
X-GNOME-Autostart-enabled=true

Em seguida, crie o script de início automático: ~ / bin / autostart com o conteúdo do bash:

#!/bin/bash
# Execute bash script below

Certifique-se de que ~ / bin / autostart seja executável

    
por 10.09.2012 / 18:30
5

Você pode adicionar uma linha no crontab -

crontab -e

Em seguida, adicione esta linha ao arquivo que é aberto:

@reboot /path/to/your/cool/script

Isso executará o script na reinicialização. Para mais detalhes, consulte man crontab

    
por 28.06.2012 / 23:11
1

Experimente ~/.xinitrc (algumas informações aqui: link ). Lembre-se de que qualquer coisa que você iniciar neste script deve ser iniciada / executada em segundo plano ou pode interferir no login do X.

    
por 20.06.2011 / 04:47
-1

Estendendo @JuanSebastianTotero responder .

Em vez de:

bash /full/path/to/your/script.sh

Tente

sh /full/path/to/your/script.sh

bash não funcionou para mim no Ubuntu 13.04 e 14.04 . Mas sh faz.

    
por 22.04.2014 / 00:07