Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/01/2015, à 23:33

nettlebay

Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

Bonjour à tous et meilleurs vœux si ce n'est pas trop tard...

Je précise que je suis sous Bodhi Linux 3.0.0 (Trusty) avec E19 mais l'écriture des lanceurs de bureau ou des docks ne semble pas être très différente que sous Ubuntu.

Voilà mon problème: j'utilise plusieurs serveurs VPN. Je voudrais pouvoir changer de serveur rapidement avec un simple lanceur. C'est-à-dire "tuer" Openvpn et lancer le nouveau serveur simultanément. Actuellement j'ai un lanceur par serveur de ce type:

sudo openvpn --config /etc/openvpn/monvpn.ovpn

et pour arrêter un serveur je peux faire soit Ctrl-C (si je l'ai lancé dans le Terminal ou à partir d'un de mes lanceurs) soit j'utilise d'abord un autre lanceur:

sudo killall openvpn 

(lorsque le serveur a été lancé automatiquement au démarrage - donc pas de Terminal visible). Ensuite, je peux lancer le nouveau serveur. J'ai essayé aussi

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

dans un Terminal et ça fait exactement ce que je veux: changer de serveur en 1 seconde. Hélas, cette ligne de commande ne fonctionne pas dans un lanceur. J'ai un message d'erreur de Enlightenment.
Any idea ?

Il y aurait bien sûr la solution d'un script, mais ça, je ne me sens pas encore vraiment prêt. Mon niveau, c'est débutant-rôdé-bricolo.

Merci d'avance de vos lumières

Dernière modification par nettlebay (Le 19/01/2015, à 18:00)


Manjaro XFCE, Ubuntu Mate 16.04, Lubuntu et LinuxLiteOS (XFCE) sur d'autres PCs ou partitions. PC principal: 2 x Gigabyte Brix GB-BXBT-2807, 64 bit, 8 go de RAM, SSD 240 Go (vendu sans OS, ni RAM, ni HD). Eeebox Asus B202. Raspberry PI comme serveur HTTP. Pas de Win chez nous!

Hors ligne

#2 Le 19/01/2015, à 00:43

ssdg

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

Hum, un script, c'est juste une suite de commandes bash qui commencent par "#!/bin/bash" dans un fichier .sh tu sais?

Sinon, gksudo "bash -c 'echo plop && echo pouf'"
marche. mais ça commnce à être tordu.


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#3 Le 19/01/2015, à 17:57

nettlebay

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

Bon, j'ai trouvé et ça fonctionne dans un lanceur. Ouf !

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

Ça peut aussi fonctionner pour tous autres logiciels

Trouvé ici: http://ubuntuforums.org/showthread.php?t=862852


Manjaro XFCE, Ubuntu Mate 16.04, Lubuntu et LinuxLiteOS (XFCE) sur d'autres PCs ou partitions. PC principal: 2 x Gigabyte Brix GB-BXBT-2807, 64 bit, 8 go de RAM, SSD 240 Go (vendu sans OS, ni RAM, ni HD). Eeebox Asus B202. Raspberry PI comme serveur HTTP. Pas de Win chez nous!

Hors ligne

#4 Le 20/01/2015, à 18:21

nettlebay

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

C'était résolu à moitié... J'ai donc amélioré la commande de mes lanceurs.

En effet, avec "&&", si la première commande (sudo killall openvpn) échoue, la seconde n'est pas lancée. C'est un peu gênant si je ne suis pas sous VPN à ce moment-là. C'est rare, mais avec certains sites (bancaires notamment), il vaut mieux conserver son adresse IP normale au risque d'être blacklisté (ça m'est arrivé avec Paypal).
Donc, dans ce cas, lorsque je veux revenir sous VPN et que je lance à nouveau un serveur, le lancement échoue puisque OpenVPN n'est pas actif.
Au lieu de " && " il faut utiliser "; " (Point-virgule juste après la première commande et un espace après). Dans ce cas, si la première commande échoue, la seconde aboutit quand même. Pour info, j'ai aussi un lanceur pour "tuer" OpenVPN à la demande et retrouver ainsi une connexion normale.

Voici la commande du lanceur

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

Sur Stackoverflow.com, il y a des contributions intéressantes.

Dernière modification par nettlebay (Le 20/01/2015, à 18:32)


Manjaro XFCE, Ubuntu Mate 16.04, Lubuntu et LinuxLiteOS (XFCE) sur d'autres PCs ou partitions. PC principal: 2 x Gigabyte Brix GB-BXBT-2807, 64 bit, 8 go de RAM, SSD 240 Go (vendu sans OS, ni RAM, ni HD). Eeebox Asus B202. Raspberry PI comme serveur HTTP. Pas de Win chez nous!

Hors ligne

#5 Le 21/01/2015, à 11:41

ssdg

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

Tu découvrira aussi || qui permet de lancer la seconde commande que si la première échoue. (ça ne marche qu'avec les premières commandes bien codées, heureusement, les outils "de base" sont dans cette catégorie)


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#6 Le 21/01/2015, à 12:01

DebianRoxX

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

Il y a plusieurs solutions pour cummuler des commandes mais pour info, avec le && il faut aussi qu'il n'y ai pas d'erreur car si par exemple vous faites une commande qui n'existe pas suivi d'une commande qui existe avec &&, celle qui existe ne va ce lancer a cause de la 1ere qui a échoué exemple :

sudo apt-gut instule microsoft && sudo apt-get upgrade

résultat : sudo: apt-gut: command not found

par contre si vous utilisez le ; alors cela lancera toutes les commandes a la suite même si il y a des erreurs sur certaine avant.
exemple :

sudo apt-gut instule microsoft ; sudo apt-get upgrade

résultat:
sudo: apt-gut: command not found
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.


"Le manuel d'utilisateur disait 'Nécessite Windows 7 ou supérieur'. J’ai donc installé Debian GNU/Linux."

Hors ligne

#7 Le 21/01/2015, à 17:00

nettlebay

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

Merci !
C'est ce que j'ai découvert donc...
Attention cependant, il semble qu'il ne doit pas y avoir d'espace entre la première commande et le ";" (point-virgule) mais après seulement, entre le  ";" et la commande suivante


Manjaro XFCE, Ubuntu Mate 16.04, Lubuntu et LinuxLiteOS (XFCE) sur d'autres PCs ou partitions. PC principal: 2 x Gigabyte Brix GB-BXBT-2807, 64 bit, 8 go de RAM, SSD 240 Go (vendu sans OS, ni RAM, ni HD). Eeebox Asus B202. Raspberry PI comme serveur HTTP. Pas de Win chez nous!

Hors ligne

#8 Le 21/01/2015, à 18:54

Zurg

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

nettlebay a écrit :

Merci !
C'est ce que j'ai découvert donc...
Attention cependant, il semble qu'il ne doit pas y avoir d'espace entre la première commande et le ";" (point-virgule) mais après seulement, entre le  ";" et la commande suivante

si si, ya un espace avant et après le ; mais ça marche peut être aussi sans espace (jamais testé).

exemple :

sudo apt-get update ; sudo apt-get -y upgrade ; sudo apt-get -y dist-upgrade ; sudo apt-get -y autoremove --purge ; sudo apt-get autoclean

Hors ligne

#9 Le 21/01/2015, à 19:27

nettlebay

Re : Lanceur avec 2 lignes de commandes consécutives. Possible ? [Résolu]

OK alors. Je vais essayer avec l'exemple et l'espace. Mais je peux témoigner que ça fonctionne sans espace (après la précédente commande). Tous mes lanceurs de VPN sont ainsi. Je vais tester juste pour le fun.


Manjaro XFCE, Ubuntu Mate 16.04, Lubuntu et LinuxLiteOS (XFCE) sur d'autres PCs ou partitions. PC principal: 2 x Gigabyte Brix GB-BXBT-2807, 64 bit, 8 go de RAM, SSD 240 Go (vendu sans OS, ni RAM, ni HD). Eeebox Asus B202. Raspberry PI comme serveur HTTP. Pas de Win chez nous!

Hors ligne