Você está se referindo a um arquivo .desktop
. Esses arquivos podem ser usados para executar comandos, aplicativos etc.
A versão mais básica de um arquivo .desktop
:
[Desktop Entry]
Name=Some Name
Exec=<command>
Type=Application
No seu caso, você quer executar uma série de comandos, usando sudo
. Nesse caso você precisa:
[Desktop Entry]
Name=Some Name
Exec=/bin/bash -c "command1&&command2&&command3"
Type=Application
Terminal=true
Você precisa salvar o arquivo com a extensão .desktop
, por exemplo. %código%. Para usar esses arquivos da área de trabalho, torne-o executável.
Explicação
-
Para usar comandos complicados em um arquivo
run_commands.desktop
, a linha.desktop
deve se parecer com:Exec=/bin/bash -c "command1&&command2&&command3"
-
para comandos em cadeia em um arquivo
Exec=
, como se cada comando estivesse em uma nova linha em um script, você precisa usar.desktop
entre os comandos. -
Se você usa
&&
em um comando, é necessário definir:Terminal=true
para que os comandos sejam executados no terminal e solicitem a senha, ou você precisa usar
sudo
em vez degksu
, portanto,sudo
solicitará sua senha. Nesse caso, você teria que instalar ogksu
, que não é por padrão no seu sistema:sudo apt-get install gksu
Se o comando for muito complicado ou longo demais para ser manipulado em um arquivo .desktop
Se a sua série de comandos for muito longa para manipular em um arquivo gksu
, escreva-os em um script pequeno, como você fez, e chame o script do arquivo .desktop
. A linha .desktop
no arquivo Exec=
deve se parecer com:
Exec=/bin/sh mobi_mani.sh
EDITAR se você precisar executar comandos no terminal
Você também pode usar o seguinte para executar comandos do terminal:
Defina no arquivo .desktop
como .desktop
line:
Exec=gnome-terminal -x /bin/bash -c "<command1>&&<command2>&&<command3>"
Em seguida, supondo que você use Exec=
, vá para Preferências (gnome-terminal) > Preferências de perfil > Title & amp; Comando, em seguida, na lista suspensa "Quando o comando terminar" > mantenha o terminal aberto:
Isso praticamente não pode falhar.