web-dev-qa-db-fra.com

Entrée au bureau ou autre moyen sûr mais sûr d’exécuter plusieurs instructions,

J'utilise Gnome sur Ubuntu 15.4.

Je veux exécuter deux actions ou plus en même temps, mais essayons avec deux:

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

pm-suspend a été ajouté et autorisé à être exécuté sans fournir de mot de passe en spécifiant:

%Sudo ALL = (root) NOPASSWD: /usr/sbin/pm-suspend`

documentation - Exec , et variables/actions exec n'ont aucune référence si plusieurs exécutions sont possibles, mais malheureusement:

[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;

Je suis ouvert à toute suggestion quant à la réalisation d'une fonctionnalité donnée, à l'exception de:

  • faire un script et l'exécuter comme Sudo ou similaire - je considère des solutions basées sur cette précarité, ne nous plonge pas dans cette affaire
  • utilisez le commutateur d'alimentation gnome ou ce que vous appelez (coin supérieur droit) - le mien n'a pas l'option de le suspendre

de plus, même si je serais heureux d’avoir ce qui est dit ci-dessus, je serais encore plus heureux d’avoir une réponse expliquant comment lancer plusieurs commandes différentes (sans script/compiler son propre binaire, etc.), au cas où tiens à regrouper et à automatiser d'autres actions.

6
JustMe

Pour exécuter plusieurs commandes dans un même programme de lancement, vous devez utiliser la syntaxe suivante:

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

ou, si le second doit attendre que le premier se termine avec succès:

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

ou, comme suggéré par Bytecommander (merci pour l'achèvement!), si command_2 doit attendre que command_1 se termine, mais s'exécute quand même, peu importe si command_1 termine avec succès ou non:

Exec=/bin/bash -c "command_1 ; command_2"
5
Jacob Vlijm