lundi 19 janvier 2015

Lanceur pour démarrer 2 logiciels simultanément
Lanceur multi-commandes

Modifié

Un nouvel article sur ce sujet: lanceur-pour-demarrer-2-logiciels (2)


Un lanceur pour démarrer 2 actions ou 2 applications consécutivement (presque simultanément)

Lignes de commande dans les lanceurs

Pour changer de serveur VPN, j'étais obligé d'utiliser ce premier lanceur:

sudo killall openvpn (pour arrêter OpenVPN)

... puis ce deuxième...

sudo openvpn --config /etc/openvpn/MonVPN.ovpn (lancer un nouveau serveur VPN avec OpenVPN)

J'ai voulu donc créer un lanceur qui fasse les deux choses en même temps pour aller plus vite. Logiquement, cela aurait dû être:

sudo killall openvpn && sudo openvpn --config /etc/openvpn/MonVPN.ovpn

Ça fonctionne très bien dans un Terminal mais malheureusement pas du tout dans un lanceur (et ça ne peut d'ailleurs pas fonctionner!). 

Il faut donc taper dans la commande du lanceur:

sh -c "sudo killall openvpn && sudo openvpn --config /etc/openvpn/MonVPN.ovpn"

Et là, cette fois, ça fonctionne parfaitement 

Attention! Avec cette méthode, si le premier logiciel (ici OpenVPN) n'est pas déjà actif, vous aurez un message d'erreur. J'ai donc conservé un de mes lanceurs dans son état original avec la commande normale (sans sh -c "sudo killall openvpn") pour me dépanner. Je vais toutefois chercher s'il n'y a pas une alternative à "&&" qui permettrait de lancer la deuxième commande même en cas d'échec de la première. Je crois avoir déjà vu ça quelque part... Voir cet article

Ne me demandez pas ce qu'est sh -c "... etc..." ! Je pense cependant que cela a à voir avec la notion de script. Cela pourrait d'ailleurs ouvrir certaines perspectives...

Attention aussi: les éditeurs de texte on tendance à convertir automatiquement "&&" en "&&". Rectifiez l'erreur, sinon ça ne fonctionnera pas.

Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.