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 01/03/2017, à 18: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, à 20: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, à 18:45

erresse

Re : [résolu] zenity message erreur

cristobal78 a écrit :

mettre sudo dans le script est ce une bonne pratique ???

Non, il vaut mieux éviter.

cristobal78 a écrit :

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 résolu, 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, à 18: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... » wink

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, à 18:51)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 01/03/2017, à 19: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, à 19:13)


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#5 Le 01/03/2017, à 19:19

erresse

Re : [résolu] zenity message erreur

maxire a écrit :

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 résolu, 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, à 19: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, à 20: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  smile
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, à 21:52

Watael

Re : [résolu] zenity message erreur

comment je fais pour ne plus l'avoir ?

n'utilise pas zenity !
lol
ok, je sors >[]


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 02/03/2017, à 02:52

cristobal78

Re : [résolu] zenity message erreur

@watael

oui mais encore ....car ta réponse ne m'aide pas bcp  sad


Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE

Hors ligne

#10 Le 02/03/2017, à 09: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)


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#11 Le 02/03/2017, à 15: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...
smile


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 résolu, 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, à 20: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