#1 Le 01/03/2017, à 17:19
- cristobal78
[résolu] zenity message erreur
Bonjour à tous
J'ai un un pb avec ce petit scipt qui me servira à installer les paquets dont j'aurai fait la liste.
Pour l'instant, en phase de test, j'ai une liste de 4 paquets à installer dont 2 sont mal orthographiés (zenity et gparted) volontairement pour pouvoir vérifier que j'arrive bien à identifier des paquets non installés à l'issue de l'exécution du script.
Le script "monscript" :
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = installation de paquets
# 01.03.2017
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
list="synaptic zenityy gpartedd numlockx"
for i in $list
do
sudo apt-get install $i
code=$?
if [ $code -ne 0 ] ; then echo "$i" >> resultat ; fi
done
zenity --info --text="Opération d'installation des Paquets terminée"
cat resultat | zenity --width=800 --height=800 --list --title="" --text=" " --column="Attention : Paquets non installés"
#rm resultat
Ça marche mais à la fin j'ai le message suivant :
(zenity:14473): GLib-WARNING **: /build/buildd/glib2.0-2.40.2/./glib/giounix.c:410Error while getting flags for FD: Mauvais descripteur de fichier (9)
dont je voudrai bien comprendre la raison.
Question subsiaire :
mettre sudo dans le script est ce une bonne pratique ???
Ou bien faut il plutôt mettre
apt-get install $i
et lancer le script en tapant : sudo monscript
a+
Dernière modification par cristobal78 (Le 03/03/2017, à 19:08)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#2 Le 01/03/2017, à 17:45
- erresse
Re : [résolu] zenity message erreur
mettre sudo dans le script est ce une bonne pratique ???
Non, il vaut mieux éviter.
Ou bien faut il plutôt mettre
apt-get install $i
et lancer le script en tapant : sudo monscript
Oui, c'est une meilleure solution.
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
#3 Le 01/03/2017, à 17:48
- Watael
Re : [résolu] zenity message erreur
salut,
« quand il n'y en a qu'un, ça va; c'est quand il y en a plusieurs... »
je préfère qu'un script d'administration appartienne à root.
par contre, je ne vois pas pourquoi j'utiliserais zenity alors que j'ai les yeux sur le terminal quand j'exécute le script, parce que les tâches d'administration ne devraient pas être exécutées depuis un raccourcis sur le bureau.
une interface graphique ? synaptic, s'il vous plaît.
Dernière modification par Watael (Le 01/03/2017, à 17:51)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 01/03/2017, à 18:12
- maxire
Re : [résolu] zenity message erreur
Salut,
En règle générale utiliser sudo dans un script est à éviter ne serait-ce que pour assurer sa portabilité (tous les environnements n'utilisent pas sudo) mais dans ton cas si tu externalises sudo, zenity ne fonctionnera pas.
Quant au message qui t'inquiète c'est un simple avertissement (Warning) tu peux l'ignorer, les journaux sont encombrés de ce type de messages dus à une programmation plutôt laxiste.
Dernière modification par maxire (Le 01/03/2017, à 18:13)
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#5 Le 01/03/2017, à 18:19
- erresse
Re : [résolu] zenity message erreur
dans ton cas si tu externalises sudo, zenity ne fonctionnera pas.
Salut,
Pourrais-tu expliquer pourquoi ça ne fonctionnera pas ?
(Bon, je suppose que c'est à cause des sous-shells et que zenity est lancé en spawning, mais... je ne suis pas sûr de mon coup.)
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 01/03/2017, à 18:31
- maxire
Re : [résolu] zenity message erreur
@erresse, le serveur X refusera la connexion à root donc impossible d'afficher quoi que ce soit, c'est bien un problème de sous-shell.
Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail
Hors ligne
#7 Le 01/03/2017, à 19:52
- cristobal78
Re : [résolu] zenity message erreur
merci à vous 3 pour vos réponses.
Donc j'enlève sudo du corps de script.
Pour zenity j'adore : depuis que j'ai découvert ça j'en mange dans tous mes scripts
J'ai bien compris que le message d'erreur était sans importance mais comment je fais pour ne plus l'avoir ?
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#8 Le 01/03/2017, à 20:52
- Watael
Re : [résolu] zenity message erreur
comment je fais pour ne plus l'avoir ?
n'utilise pas zenity !
ok, je sors >[]
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 02/03/2017, à 01:52
- cristobal78
Re : [résolu] zenity message erreur
@watael
oui mais encore ....car ta réponse ne m'aide pas bcp
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#10 Le 02/03/2017, à 08:07
- jplemoine
Re : [résolu] zenity message erreur
Pour rediriger les erreurs : il faut utiliser 2>
commande_en_erreur 2> /dev/null
ou
commande_en_erreur 2> /rep1/rep2/fichier
ou
commande_en_erreur > /rep1/rep2/fichier 2> &1
(l'erreur et les logs "normaux" sont dans le même fichier)
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#11 Le 02/03/2017, à 14:22
- erresse
Re : [résolu] zenity message erreur
On ne peut pas supprimer ce genre d'erreur, ce n'est pas une erreur qui t'est imputable, tu ne peux donc pas la corriger.
La solution suggérée par jplemoine permet de la masquer, l'erreur se produira toujours mais tu ne la verras plus...
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
#12 Le 03/03/2017, à 19:07
- cristobal78
Re : [résolu] zenity message erreur
Merci à tous.
Finalement j'ai glissé 2> /dev/null à la fin de la ligne "...non installés ..." et tout va bien : je ne vois plus ce vilain message dont je ne saurai pas la cause.
a+
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne