Como fazer um ícone para inserir comandos do terminal

5

Deixe-me começar dizendo que sou muito novo no Ubuntu em geral, então percebo que isso pode ser uma questão básica. Estou usando o xubuntu 14.04. Eu recentemente tenho um usb sem fio trabalhando, seguindo os passos aqui .

As instruções dizem que sempre que o kernel for atualizado, devo recompilar inserindo o seguinte no terminal:

cd ~/mt7601/src
make clean
make
sudo make install
sudo modprobe mt7601Usta

Gostaria de saber se existe alguma maneira de criar um ícone na minha área de trabalho que eu possa apenas clicar duas vezes que terá o efeito de inserir os comandos acima no terminal?

    
por jplank 19.04.2015 / 01:44

3 respostas

11

Como criar um ícone na sua área de trabalho para executar o trabalho de recompilação

  1. Abra o gedit, cole as linhas abaixo no arquivo:

    [Desktop Entry]
    Name=Recompile
    Exec=/bin/bash -c "cd ~/mt7601/src&&make clean&&make&&sudo make install&&sudo modprobe mt7601Usta"
    Type=Application
    Terminal=true
    
  2. Salve o arquivo como recompile.desktop na sua área de trabalho

  3. Torne o arquivo executável pelo comando:

    chmod +x /path/to/recompile.desktop
    

    Depois de torná-lo executável, um ícone genérico aparecerá no arquivo (não necessariamente o mesmo da imagem, dependendo do tema do ícone).

  4. Simplesmente clique duas vezes no arquivo para executá-lo. ele abrirá uma janela de terminal e solicitará sua senha para executar a parte sudo do comando:

Explicação

  • Os arquivos da área de trabalho (com a extensão .desktop ) podem ser usados para executar todos os tipos de aplicativos ou tarefas. Para fazer com que ele execute comandos shell, o formato é:

    Exec=/bin/bash -c "<command>"
    

    Nesse caso, no Exec= -line, os comandos mencionados na sua pergunta são separados por && , o que é efetivamente o mesmo que colocar cada comando em uma nova linha.

    Isso torna desnecessário criar um script separado; tudo está incluído em um lançador.

  • Para fazer com que um arquivo .desktop seja executado a partir de sua área de trabalho, você deve torná-lo executável.
    Depois de torná-lo executável, o nome como aparece na sua área de trabalho é o nome definido na linha:

    Name=Recompile
    
  • A linha:

    Terminal=true
    

    faz o (s) comando (s) executar (em) em uma janela de terminal.

  • O arquivo de exemplo é muito básico. Se você quiser que o arquivo tenha outro ícone além do genérico, adicione uma linha (por exemplo):

    Icon=/path/to/icon.png
    

Mais sobre .desktop arquivos e suas entradas obrigatórias / opcionais aqui .

    
por Jacob Vlijm 19.04.2015 / 07:44
7

Você pode criar um script que possa fazer esses comandos para você. Basta criar um arquivo de texto localizado em sua área de trabalho que contenha o seguinte.

#!/bin/bash
cd ~/mt7601/src
make clean
make
make install
modprobe mt7601Usta

Salve-o na área de trabalho como kernelupdate.sh Você deve então abrir um terminal e executar os seguintes comandos

cd ~/Desktop/
chmod +x kernelupdate.sh

O script agora é executável. Você pode executá-lo através do terminal usando os seguintes comandos:

cd ~/Desktop
sudo ./kernelupdate.sh

Aqui está o link para uma questão relacionada que explica como torná-lo executável clicando no ícone. Como executar o script sh a partir de um atalho na área de trabalho?

    
por Brian Sizemore 19.04.2015 / 01:58
4

A baixa reputação não permite comentários, então a resposta em vez de comentar a resposta de Brian.

O script em discussão deve ser executado com privilégios de root. Para evitar alguma confusão, o atalho para o lançamento deve ser parecido com

gksudo script_name

O comando gksudo / gksu exibe um diálogo gráfico para inserir a senha

Além disso, o melhor local para armazenar arquivos executáveis não é a área de trabalho, mas a sua pasta pessoal. Você pode

mkdir ~/bin

E, em seguida, use este diretório bin para armazenar esse script. Não é estritamente necessário, mas estritamente recomendado para armazenar programas e dados em lugares diferentes, não em um.

    
por Troublemaker-DV 19.04.2015 / 03:06