#1 Le 02/06/2020, à 16:01
- freewee
[Résolu]Association de commandes dans script
Bonjour
Je ne suis pas trop doué pour les lignes de commande!
J' utilise régulièrement 2 petits scripts qui me permettent d' activer ou désactiver la 3D (lunettes NVidia) sur mon écran:
Très simples ils modifient un fichier et redémarrent lightdm.
Je vais faire hurler sans doute les puristes: ils sont de ce type:
#!/bin/sh
nvidia-xconfig --stereo=10
service lightdm restart
et je les lance avec un lanceur qui est de type
sudo /home/dominique/3Dact.sh
Tout fonctionnait bien jusqu' à présent, donc je ne me suis pas posé de questions...
Je viens de tester dans MATE, la 3D pour fonctionner doit désactiver la composition logicielle, j' ai trouvé la commande que je dois rajouter au script, donc une troisieme commande: gsettings set org.mate.Marco.general compositing-manager false:
J' ai fait
#!/bin/sh
gsettings set org.mate.Marco.general compositing-manager false ; nvidia-xconfig --stereo=10 ; service lightdm restart
Eh bien je sèche, car le script avec la 3ème commande lance 2 des 3 commandes, lightdm est toujours relancé; j' ai essayé avec des ; des &&, ou encore plus simplement en mettant les commandes à la ligne,en inversant l' ordre etc, je n' arrive a rien...Je n' arrive pas au même résultat si je lance le script avec mon lanceur(sudo) ou en cliquant sur le script qui me propose de le lancer normalement ou dans un terminal. a force de cliquer j' arrive au résultat voulu, mais il doit bien y avoir une méthode propre pour lier les 3 commande dans un script, qui puisse se lancer avec un lanceur dans mon dock.
Le fait qu' il y ait des commandes nécessitant sudo et une autre non a t' il une influence??
Toutes les commandes isolées sont fonctionnelles.
Merci de votre aide!
Dernière modification par freewee (Le 13/06/2020, à 20:41)
Hors ligne
#2 Le 02/06/2020, à 16:09
- Watael
Re : [Résolu]Association de commandes dans script
salut,
Le fait qu' il y ait des commandes nécessitant sudo et une autre non a t' il une influence??
c'est ce que je pense.
essaye comme ça :
#!/bin/sh
# commandes utilisateur
gsettings set org.mate.Marco.general compositing-manager false
nvidia-xconfig --stereo=10
# commandes requérant des droits augmentés
sudo service lightdm restart
Dernière modification par Watael (Le 02/06/2020, à 17:36)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 02/06/2020, à 16:20
- freewee
Re : [Résolu]Association de commandes dans script
Merci pour cette réponse rapide
J' y retourne car je suis en multi boot!
Je tiens au courant dès que c' est fait!
Hors ligne
#4 Le 02/06/2020, à 16:56
- freewee
Re : [Résolu]Association de commandes dans script
Je pense que ça y est!
J' ai mis 2 lignes en sudo, et j' ai supprimé le sudo du lanceur, et j' ai bien l' impression que ça marche à chaque fois!!!
#!/bin/sh
# commandes utilisateur
gsettings set org.mate.Marco.general compositing-manager false
# commandes requérant ses droits augmentés
sudo nvidia-xconfig --stereo=10
sudo service lightdm restart
Les 2 sudo à la suite ne sont pas trop jolis! je vais tester avec les liaisons habituelles pour voir si ça continue à fonctionner!
Encore merci pour cette aide ultra rapide!
Hors ligne
#5 Le 02/06/2020, à 17:35
- erresse
Re : [Résolu]Association de commandes dans script
Les 2 sudo à la suite ne sont pas trop jolis!
Jolis ou pas, ils sont surtout nécessaires. Chaque commande doit être précédée de "sudo" si elle doit s'exécuter avec les privilèges.
Après, rien ne t'empêche en effet de mettre toutes ces commandes à la queue leu leu sur une seule ligne... si tu trouves que ça fait plus joli, mais avec tous les "sudo" nécessaires pour chaque commande.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#6 Le 02/06/2020, à 17:38
- Watael
Re : [Résolu]Association de commandes dans script
sudo -s <<eof
nvidia-xconfig --stereo=10
service lightdm restart
eof
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#7 Le 02/06/2020, à 17:42
- freewee
Re : [Résolu]Association de commandes dans script
Chaque commande doit être précédée de "sudo" si elle doit s'exécuter avec les privilèges.
OK, je pensais pouvoir faire sudo <1ere commande> ; <2eme commande>, mais visiblement ça ne fonctionne pas!
Encore un grand merci, on en apprend tous les jours!
Edit Je n' avais pas vu la suite de ton message, je ferai des essais!
Dernière modification par freewee (Le 02/06/2020, à 17:44)
Hors ligne
#8 Le 02/06/2020, à 22:05
- freewee
Re : [Résolu]Association de commandes dans script
sudo -s <<eof nvidia-xconfig --stereo=10 service lightdm restart eof
Ça c' est joli!!! Ça fonctionne, il faudra que je me plonge la dedans, merci encore d' écouter les débutants!
Hors ligne