iniciando um script no ubuntu start up [duplicado]

1

Estou usando o Ubuntu 14.04 LTS em uma máquina virtual e estou tentando configurá-lo para que, quando for iniciado, ele também siga automaticamente a descrição no startmeup.sh.desktop para iniciar o script taskhome.sh .

O script startmeup.sh.desktop tem o seguinte código:

[Desktop Entry]
Type=Application
Exec=/home/kvm/scripts/taskhome.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en]=Startmeup
Name=Startmeup
Comment[en]=
Comment=

Coloquei o arquivo startmeup.sh.desktop na pasta config\autostart e tornei-o executável com o comando chmod +x , mas quando eu reinicio o Ubuntu o script taskhome.sh não é executado (acho que é só porque o startmeup.sh.desktop simplesmente não é executado também).

Se eu iniciar o script taskhome.sh manualmente, não tenho nenhum problema.     Se eu abrir a pasta que contém o script startmeup.sh.desktop e clicar duas vezes nele, o script taskhome.sh será iniciado sem nenhum problema.

No entanto, se eu tentar executar o script startmeup.sh.desktop em um terminal com o comando ./startmeup.sh.desktop , recebo o erro "

line 1: [Desktop: command not found.

Existe algo que eu possa fazer para fazer o script funcionar no Ubuntu?

    
por Marest 30.12.2014 / 15:34

3 respostas

3

A execução de ./startmeup.sh.desktop do terminal não funcionará, pois o .desktop não é um script de shell.

Adicione também:

Terminal=true

que pode ser de ajuda!

Para iniciar o aplicativo na inicialização, você precisa fazer da maneira usual:

por blade19899 30.12.2014 / 15:37
2

Espere um minuto, em qual pasta você colocou o script? Seu Q diz que config\autostart ... deve estar em ~/.config/autostart (em sua pasta pessoal) e deve ser executado quando o usuário fizer login, não apenas na inicialização (a menos que esse usuário também esteja conectado automaticamente)

Você não tem uma linha Icon=... , mas isso pode não representar uma grande diferença.

E o que o roteiro deveria fazer? Ele não está configurado para ser executado em um terminal ( Terminal=true pode fazer isso), então como você sabe que não está sendo executado em segundo plano?

    
por Xen2050 30.12.2014 / 15:52
0

Tente alterar o modo "Exec=" com este:

Exec=gnome-terminal -x /home/kvm/scripts/taskhome.sh

Manpage para -x:

-x, --execute
Execute the remainder of the command line inside the terminal.

Deve ser como:

[Desktop Entry]
Type=Application
Exec=gnome-terminal -x /home/kvm/scripts/taskhome.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en]=Startmeup
Name=Startmeup
    
por blkpws 30.12.2014 / 15:55