.desktop arquivo parece executar um arquivo executável .sh, mas não completa

0

Espero ter feito a devida diligência em pesquisar postagens anteriores. Eu sou novo no Ubuntu (14.04), e ainda estou aprendendo. Não consegui encontrar este problema anteriormente solicitado.

Eu criei um arquivo .sh (/home/Desktop/mountServer.sh) e configure properties- > Execute para permitir a execução do arquivo como programa. Se eu executar este .sh manualmente a partir do terminal usando cd Desktop/ e ./mountServer.sh , ele funcionará perfeitamente. Quando executo o arquivo .desktop 'Mount Server.desktop', ele abre o terminal conforme instruído e solicita minha senha. Mas então, nada acontece. Não monta meu disco. Nenhuma mensagem de erro.

código mountServer.desktop:

[Desktop Entry]
Name=Mount Server
Comment=Mounts the Server 1.5 from Apple Airport Extreme
Exec=sudo /home/Desktop/mountServer.sh
Icon=/paht/to/icon.png
Terminal=true
Type=Application

código mountServer.sh:

sudo mount -t cifs "//10.0.1.1/The Server 1.5" -o username=myusername,password=pwhere,sec=ntlm ~/capsule
    
por Sumner LN 22.09.2015 / 04:23

1 resposta

1

A linha parece estar errada, sua pasta da área de trabalho não está em /home

Exec=sudo /home/Desktop/mountServer.sh

e não há necessidade de usar sudo duas vezes, uma vez no seu script e uma vez no arquivo da sua área de trabalho.

Use

Exec=/home/your_username/Desktop/mountServer.sh

, substitua your_username pelo seu nome de usuário (a saída de echo $USER )

E você deve usar

$HOME/capsule

em vez de

~/capsule

no seu script.

A melhor solução para você é instalar gksu via

sudo apt-get install gksu

Um arquivo de desktop como este, substitua your_username pelo seu nome de usuário (a saída de echo $USER )

[Desktop Entry]
Name=Mount Server
Comment=Mounts the Server 1.5 from Apple Airport Extreme
Exec=gksu /home/your_username/Desktop/mountServer.sh
Icon=/paht/to/icon.png
Terminal=false
Type=Application

e um script como este

#!/usr/bin/env bash
mount -t cifs "//10.0.1.1/The Server 1.5" -o username=myusername,password=pwhere,sec=ntlm "$HOME"/capsule

Com esta solução você tem um prompt de senha graficamente, nenhum terminal desnecessário e se você quiser iniciar seu script diretamente em um terminal você pode usar

sudo ~/Desktop/mountServer.sh
    
por A.B. 22.09.2015 / 06:54