Entrada na área de trabalho, ou outra forma convinente mas segura de executar várias instruções,

6

Estou executando o Gnome no Ubuntu 15.4.

Eu quero executar duas ou mais ações de uma só vez, mas vamos tentar com duas:

  • sudo pm-suspend
  • gnome-screensaver-command -l

pm-suspend foi adicionado e pode ser executado sem fornecer senhas especificando:

%sudo ALL = (root) NOPASSWD: /usr/sbin/pm-suspend'

documentação - Exec e exec variáveis / ações não têm referências se ter múltiplos Exec é possível, mas infelizmente:

[Desktop Entry]
_Name=Sleep and logout
_GenericName=Sleep and logout

#Exec=gnome-screensaver-command -l & sudo pm-suspend # does not work

#Exec=gnome-screensaver-command -l
#Exec=sudo pm-suspend                                # does not work either

Terminal=false
Type=Application
Categories=System;Security;

Estou aberto a outras sugestões sobre como obter determinada funcionalidade, exceto:

  • crie um script e execute-o como sudo ou similar - considero soluções baseadas neste inseguro, não vamos nos aprofundar nesse assunto
  • use o botão liga / desliga do gnome ou o que for chamado (canto superior direito) - o meu não tem a opção de suspender

também, enquanto eu ficaria feliz em ter o que foi dito acima, eu ficaria ainda mais feliz em ter uma resposta que diga como lançar vários comandos diferentes (sem script / compilar o próprio binário etc), no caso Gostaria de agrupar e automatizar algumas outras ações.

    
por JustMe 26.01.2016 / 10:55

1 resposta

5

Para executar vários comandos em um lançador, você precisa usar a seguinte sintaxe:

Exec=/bin/bash -c "command_1 & command_2"

ou, se o segundo deve esperar que o primeiro termine com sucesso:

Exec=/bin/bash -c "command_1 && command_2"

ou, como sugerido por Bytecommander (obrigado pela conclusão!), se command_2 esperar que command_1 termine, mas execute de qualquer maneira, não importa se command_1 termine com sucesso ou não:

Exec=/bin/bash -c "command_1 ; command_2"
    
por Jacob Vlijm 26.01.2016 / 11:02