Como executar o script sh a partir de um atalho na área de trabalho?

37

Estou tentando fazer um atalho para fazer login no meu servidor ssh:

ssh x.x.x.x

Eu criei o seguinte arquivo:

ssh_home.sh

Tornou executável:

sudo chmod +x ./ssh_home

Verificado clicando com o botão direito do mouse nas propriedades para verificar se era executável e se era ..

Mas o que quer que eu faça, ao clicar duas vezes nele, o gedit será iniciado. Eu tentei "Abrir com", mas nenhum aplicativo de terminal é mostrado lá. Pesquisei na net, mas só encontrei uma maneira de vincular o arquivo sem integrá-lo em um "arquivo de atalho"

michel
fonte
2
Você adicionou #! /usr/bin/shno início do arquivo (a primeira linha)?
Miséria
Por interesse, qual versão do Ubuntu você está executando? Em princípio, deveria ser apenas um caso de marcar o arquivo como executável em Propriedades / Permissões, mas na 13.04 isso parece não funcionar para mim (mesmo diretamente no arquivo .sh, com #! /bin/bashno início ...)
Jez W
Verifique também o proprietário e as permissões. O usuário clicando nele tem permissão para executá-lo?
Miséria
1
Seus comandos não podem estar corretos - você está se referindo a ssh_home.she /ssh_home, que não são os mesmos arquivos.
L0b0 23/05
2
@Misery: É /bin/sh, não /usr/bin/sh. ( /usr/bin/shVai acontecer com o trabalho em sistemas onde /bine /usr/binsão o mesmo diretório, eu não acho que esse é o caso para o Ubuntu>)
Keith Thompson

Respostas:

50

Eu sei que isso faz um tempo atrás, mas, se alguém perguntar, eu tenho essa resposta.

  1. Nautilus aberto
  2. Menu Arquivos -> guia comportamento
  3. Executar arquivos de texto executáveis ​​quando eles são abertos

Nas versões posteriores, esta opção é encontrada em: menu Arquivos -> Editar -> Preferências -> guia comportamento

No Ubuntu 14.10, mova o mouse para o topo da tela e a barra de menus Arquivo, Editar etc ... aparece. Clique em EDITAR -> Preferências -> guia Comportamento

Pedro
fonte
2
Esta deve ser a resposta aceita IMHO. Eu estava ficando bastante frustrado tentando descobrir por que não consegui executar o shell script do Nautilus.
precisa saber é o seguinte
O que é o menu Arquivos? Nunca vi isso.
IgorGanapolsky
Trabalhou. Clique com o botão direito do mouse no meu script de shell no navegador de arquivos. Link criado. Em seguida, arraste e solte o link na área de trabalho. Também fez o passo acima em procurar arquivo -> Preferências -> executar em vez de visualizar.
precisa saber é o seguinte
3
Uma complicação é que isso afeta todos os arquivos executáveis. (Isso pode ser o que quiser.)
Keith Thompson
Ótima resposta! No Ubuntu 18.04, defino-o como 'Pergunte o que fazer', para que eu possa optar por executá-lo ou exibi-lo sempre que clicar duas vezes nesse arquivo. Obrigado!
MS Berends
36

Eu acho que seria melhor usar um arquivo iniciador para o seu script, criando um ~/Desktop/ssh_home.desktoparquivo com o seguinte conteúdo:

[Desktop Entry]
Version=1.0
Exec=/home/yourname/bin/ssh_home.sh
Name=SSH Server
GenericName=SSH Server
Comment=Connect to My Server
Encoding=UTF-8
Terminal=true
Type=Application
Categories=Application;Network;

Dessa forma, você terá um ícone clicável que iniciará seu script.

Pode ser necessário definir também o sinalizador executável com chmod:

chmod +x ~/Desktop/ssh_home.desktop
Cyril Laury
fonte
1
Este método está funcionando, mas eu prefiro uma solução 1 arquivo ...
michel
6
@ Michel Se tudo o que o script faz é executado ssh host, você não precisa do script, basta alterar a linha Exec para Exec=ssh host.
Geirha 23/05
1
Esta é a única solução que funcionou para mim.
Aviad P.
Recebo uma Untrusted application launchercaixa de mensagem e ele não executa meu comando.
Matt
@Matt tente clicar com o botão direito do mouse no ícone, vá para Properties > Permissionse selecione Allow executing file as program. Além disso, se você copiar e colar o texto acima em seu arquivo, verifique se não há espaços em branco após as linhas. Isso pode causar sua mensagem de erro.
Olivia Stork
3

A "armadilha" para mim foi que eu procurei, clicando com o botão direito do mouse no arquivo, uma maneira de mudar o comportamento (ter um script executado em vez de aberto no gedit). Não clique com o botão direito! Em vez disso, abra a partir da barra de menus "regular":

Edite-Preferências-Comportamento e altere para "executar" ou "perguntar sempre".

Comentário: Para o meu gosto, também deve haver uma maneira de executar um programa clicando com o botão direito. Especialmente porque clicar com o botão direito do mouse leva ao menu "abrir com", o que faz com que você procure por "abrir com o bash", no entanto, o "bash" não está incluído como uma opção ...

patrick pirker
fonte
Para o meu gosto também ...
Marecky 10/10
1

imo a resposta mais simples é -

  1. Verifique se o arquivo .sh funciona se clicado ou executado a partir de seu próprio diretório.
  2. Se funcionar, clique com o botão direito do mouse em Arquivos aka Nautilus, selecione 'Criar link'
  3. Isso produz um arquivo chamado 'link to xxxx.sh' no mesmo diretório
  4. Arraste isso para a área de trabalho
  5. Renomeie como quiser, por exemplo, limpe 'link to' e 'sh', deixe o nome, ele ainda funcionará.
Martin Clark
fonte
Além disso, você também pode alterar o ícone do link. Clique com o botão direito do mouse, selecione Propriedades, clique no ícone padrão na parte superior esquerda da janela de propriedades e navegue até encontrar a imagem que você deseja que seja o ícone.
Brian Hellekin
0

Eu diria que a maneira mais fácil de adicionar um script de shell aos atalhos seria adicionar o arquivo .sh ao diretório inicial. Depois de copiado para o diretório inicial, basta ir para atalhos personalizados e adicionar o comando sh yourfile.sh

Este foi o meu trabalho em torno da esperança de ajudá-lo

Markovitz Hernandez
fonte