Como posso criar um ícone para expor um comando personalizado do gnome-terminal?

1

Eu quero um ícone, que eu possa clicar duas vezes para executar um comando de terminal. Até agora criei um script executável:

#!/bin/bash

gnome-terminal -e cd ~/gPodder/Downloads/M4As\ To\ Be\ Converted/ && for f in *.m4a; do avconv -i "$f" "${f/%m4a/wav}"; done && for i in *.wav; do opusenc --bitrate 26 --downmix-mono "$i" "${i/%wav/opus}"; done && find . -type f -iname \*.wav -delete

Como eu acabei de jogar coisas arbitrariamente, eu não estou surpreso que não funcione, então o que eu tenho que mudar para que ele abra uma nova janela de terminal executando a sequência especificada de comandos?

O comando real (a partir de cd to -delete ) funciona quando é inserido manualmente em uma janela de terminal.

    
por Markus Gratis 06.11.2016 / 16:50

3 respostas

3

Use um arquivo .desktop para chamar o script, coloque-o em um arquivo de texto e salve-o com a extensão .desktop

[Desktop Entry]
Name=My script
Comment=Runs my script
Exec=
Icon=
Terminal=false
Type=Application

Na linha exec , você pode colocar o caminho do seu script, mesmo para um ícone.

Você então torna este arquivo executável com chmod +X ou com o botão direito do mouse e acessa as permissões.

Você pode adicionar isso ao lançador ou a qualquer local desejado e clicar nele para executar o script.

    
por Mark Kirby 06.11.2016 / 16:57
1
  1. Crie um lançador que execute seu comando em sua área de trabalho
  2. mova o ativador para /usr/share/applications
  3. definir permissões de leitura e execução no arquivo do iniciador para que todos os usuários possam acessá-lo e executá-lo.

Resposta detalhada: link

    
por gogeccc 06.11.2016 / 17:01
0

É muito mais fácil criar um script separado, digamos ~/bin/foobar , começando com a linha "shebang" apropriada (por exemplo, #!/bin/bash ), conceder permissões executáveis e, em seguida, pedir ao gnome-terminal para executar esse script. ou seja, gnome-terminal -e foobar .

Se você realmente precisar incorporar a linha de comando complexa, comece com essa prova de conceito:

gnome-terminal -e 'bash -c "cd somewhere; ls; sleep 10"'

e se você puder confirmar que funciona, substitua a linha de comando mais interna por aquela que preferir, substituindo " por \" em todos os lugares.

    
por egmont 06.11.2016 / 21:22