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 23/12/2012, à 17:52

Edouard973

[RESOLU] Boite de progression Zenity bloquée [RESOLU]

Bonjour à tous!
Je suis entrain de faire un script d'installation de logiciels avec une interface graphique. Pour suivre l'installation, je souhaite mettre une boîte de progression avec Zenity. Voici mon script:

#######################################################################
#####        Scripts d'installation de paquets sous Ubuntu        #####
#######################################################################
#  Auteur : Richard Édouard SAILLARD                                  #                                  
#######################################################################

zenity --warning
zenity --info \
  --title="Mise en garde" \
  --text="Tous les dépôts cités dans ce script ne sont pas officiels.         

 L'ajout de dépôts non officiels peut corrompre votre système. 
      
Soyez sûr de ce que vous faites. Supprimez ou commentez les lignes  
 dont vous ne cernez pas l'utilité. 
                                 
 Cette liste de paquets est une liste personnelle. Supprimez ceux    
 que vous ne connaissez pas ou que vous n'utilisez pas. Ajoutez ceux 
 que vous utilisez." \

zenity --info \
  --title="Note" \
  --text="Ce script doit être exécuté en tant qu'administrateur (root). Le compte root accorde TOUS les droits à ce sript. Je vous conseille FORTEMENT de le lire avant de le lancer." \
 
# echo "Placez sudo devant votre commande :"
  echo "sudo $0"
  echo "Abandon"

echo "Assurez-vous d'avoir lu et compris le script avant de l'exécuter."
echo -n "Êtes-vous sûr de vouloir continuer? (oui/non) "

variable=`zenity --list --radiolist --title="Choix" --text="Indiquez votre choix: oui/non" --column="" --column="choix" false Oui true Non`
ex=$?
if  ! [ $ex -eq 0 ] || [[ "$variable" = "Non" ]]; then
  echo "Pour lire le script, entrez la commande suivante :"
  echo "gedit $0 &"
  exit 1
fi


(
##### Paquets disponibles dans les dépôts officiels d'Ubuntu #####

# Internet
PAQUETS=" chromium-browser"
# Graphisme
PAQUETS=$PAQUETS" gimp gimp-plugin-registry shutter"
# Multimedia
PAQUETS=$PAQUETS" vlc mozilla-plugin-vlc flashplugin-installer libdvdread4 ubuntu-restricted-extras"
# GNOME
PAQUETS=$PAQUETS" compizconfig-settings-manager nautilus-image-converter nautilus-script-audio-convert nautilus-open-terminal parcellite"

20
# Autres
PAQUETS=$PAQUETS" gparted"


# Ubuntu Tweak
add-apt-repository ppa:tualatrix/ppa
PAQUETS=$PAQUETS" ubuntu-tweak"

# JDownloader
add-apt-repository ppa:jd-team/jdownloader
PAQUETS=$PAQUETS" jdownloader"

# Thèmes Equinox et icônes Faenza
add-apt-repository ppa:tiheum/equinox
PAQUETS=$PAQUETS" gtk2-engines-equinox equinox-theme faenza-icon-theme"

40
# Notification de verrouillage majuscule
# http://www.clapico.com/2011/02/25/indicator-keylock/
add-apt-repository ppa:tsbarnes/indicator-keylock
PAQUETS=$PAQUETS" indicator-keylock indicator-keylock-ubuntu-mono indicator-keylock-humanity indicator-keylock-elementary"

#### Mise à jour de la liste des paquets ####
echo "sudo apt-get update"
sudo apt-get update

#### Mise à jour du système ####
echo "sudo apt-get -y upgrade"
sudo apt-get -y upgrade


#### Installation des paquets ####
echo "apt-get -y install "$PAQUETS
apt-get -y install $PAQUETS


# Pour la lecture des DVD protégés (paquet libdvdread4 nécessaire)
/usr/share/doc/libdvdread4/install-css.sh


90
# Icons dans le menu Système (pour Gnome 2)
#gconftool-2 --type Boolean --set /desktop/gnome/interface/menus_have_icons True

# Autoriser toutes applications à s'afficher dans la zone de notification
# pour Unity (à partir de Ubuntu 11.04)
gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"
) |
zenity --progress \
  --title="Progression de l'installation" \
  --text="Merci de patienter la fin de l'installation" \
  --percentage=0
  --pulsate
  --auto-kill

if [ "$?" = -1 ] ; then
  zenity --error \
    --text="Installation interrompue."
fi

Le fenêtre apparaît mais ne suit pas la progression du terminal...
Merci de votre aide.

Dernière modification par Edouard973 (Le 24/12/2012, à 11:32)


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#2 Le 23/12/2012, à 18:21

ljere

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

je trouve cette partie bizarre déja

echo "sudo apt-get update"
sudo apt-get update

#### Mise à jour du système ####
echo "sudo apt-get -y upgrade"
sudo apt-get -y upgrade


#### Installation des paquets ####
echo "apt-get -y install "$PAQUETS
apt-get -y install $PAQUETS

pour installer pas de sudo ?


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#3 Le 23/12/2012, à 18:23

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Bonjour,
Le script est lancé en root.


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#4 Le 23/12/2012, à 18:36

pingouinux

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Hello,
Pour suivre la progression avec zenity --progress, il ne faut pas mettre --pulsate. L'entrée standard (sortie standard de gsettings) doit contenir le pourcentage du travail effectué.

Hors ligne

#5 Le 23/12/2012, à 18:41

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

pingouinux a écrit :

L'entrée standard (sortie standard de gsettings) doit contenir le pourcentage du travail effectué.

Peux-tu expliquer un peu plus stp? big_smile Je viens juste de commencer les scripts...
Merci.


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#6 Le 23/12/2012, à 19:07

ljere

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

en ce cas la se sont les sudo qui sont en trop sur update et upgrade d'ailleurs je te conseille plutôt dist-upgrade


ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#7 Le 23/12/2012, à 19:13

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Je dois le mettre où, le   dist-upgrade ?


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#8 Le 23/12/2012, à 19:13

pingouinux

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Voici un exemple avec cette commande :

$ for i in {0..100..20};do echo $i "suivi de n'importe quoi";sleep 2;done
0 suivi de n'importe quoi
20 suivi de n'importe quoi
40 suivi de n'importe quoi
60 suivi de n'importe quoi
80 suivi de n'importe quoi
100 suivi de n'importe quoi

Si on met sa sortie en entrée standard de zenity, on en voit la progression dans une boîte de dialogue :

$ for i in {0..100..20};do echo $i "suivi de n'importe quoi";sleep 2;done | zenity --progress  --title=Titre --text=Texte

Hors ligne

#9 Le 23/12/2012, à 19:22

ljere

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

je ferai de cette façon

echo "sudo apt-get update"
apt-get update

#### Mise à jour du système ####
echo "sudo apt-get -y dist-upgrade"
apt-get -y dist-upgrade


#### Installation des paquets ####
echo "sudo apt-get -y install "$PAQUETS
apt-get -y install $PAQUETS

ancien PC Toshiba satellite_c670d-11 / Linux Mint 21 Vanessa
Nouveau PC ASUS TUF GAMING A17 GPU RTX 4070 CPU AMD Ryzen 9 7940HS w/ Radeon 780M Graphics / Linux Mint 21.2 Victoria / Kernel: 6.4.8-1-liquorix / Desktop: Cinnamon

Hors ligne

#10 Le 23/12/2012, à 19:36

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Voici mon script, après modification:

#!/bin/bash
zenity --info \
  --title="Script d'installation de paquets sous Ubuntu" \
  --text="Script réalisé par Richard Édouard SAILLARD
Version 1.0
Version non-prête" \
 
#######################################################################
#####        Script d'installation de paquets sous Ubuntu         #####
#######################################################################
#  Auteur : Richard Édouard SAILLARD                                  #                                  
#######################################################################

zenity --warning
zenity --info \
  --title="Mise en garde" \
  --text="Certains dépôts cités dans ce script ne sont pas officiels.         

 L'ajout de dépôts non officiels peut corrompre votre système. 
      
Soyez sûr de ce que vous faites. Supprimez ou commentez les lignes  
 dont vous ne cernez pas l'utilité. 
                                 
 Cette liste de paquets est une liste personnelle. Supprimez ceux    
 que vous ne connaissez pas ou que vous n'utilisez pas. Ajoutez ceux 
 que vous utilisez." \

zenity --info \
  --title="Note" \
  --text="Ce script doit être exécuté en tant qu'administrateur (root). Le compte root accorde TOUS les droits à ce script. Je vous conseille FORTEMENT de le lire avant de le lancer.
Pour continuer l'installation, choissisez oui dans la prochaine fenêtre, sinon, choissisez non." \
 

echo -n "Êtes-vous sûr de vouloir continuer? (oui/non) "

variable=`zenity --list --radiolist --title="Choix" --text="Indiquez votre choix: oui/non" --column="" --column="choix" false Oui true Non`
ex=$?
if  ! [ $ex -eq 0 ] || [[ "$variable" = "Non" ]]; then
  echo "Pour lire le script, entrez la commande suivante :"
  echo "gedit $0 &"
  exit 1
fi


( 
##### Paquets disponibles dans les dépôts officiels d'Ubuntu #####

# Internet
0 PAQUETS=" chromium-browser"
# Graphisme
PAQUETS=$PAQUETS" gimp gimp-plugin-registry shutter"
# Multimedia
PAQUETS=$PAQUETS" vlc mozilla-plugin-vlc flashplugin-installer libdvdread4 ubuntu-restricted-extras audacity"
# GNOME
20 PAQUETS=$PAQUETS" compizconfig-settings-manager nautilus-image-converter nautilus-script-audio-convert nautilus-open-terminal parcellite"

# Autres
30 PAQUETS=$PAQUETS" gparted revelation cryptkeeper gdebi numlockx geogebra geogebra-gnome bleachbit clamav clamtk synaptic gnupg2 kleopatra gufw guake cheese"

 40 # Medibuntu
wget http://www.medibuntu.org/sources.list.d/${UBUNTUVERSION}.list --output-document=/etc/apt/sources.list.d/medibuntu.list
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | apt-key add -
apt-get -q update
apt-get --yes -q --allow-unauthenticated install medibuntu-keyring
PAQUETS=$PAQUETS" non-free-codecs libdvdcss2"

 50 #Dnd2share
wget http://dl.dropbox.com/u/169600/dnd2share_unity/dnd2share_unity-install.sh && chmod u+x dnd2share_unity-install.sh && ./dnd2share_unity-install.sh


# Ubuntu Tweak
add-apt-repository ppa:tualatrix/ppa
PAQUETS=$PAQUETS" ubuntu-tweak"

# JDownloader
add-apt-repository ppa:jd-team/jdownloader
PAQUETS=$PAQUETS" jdownloader"

 60 # Thèmes Equinox et icônes Faenza
add-apt-repository ppa:tiheum/equinox
PAQUETS=$PAQUETS" gtk2-engines-equinox equinox-theme faenza-icon-theme"

# Cairo-Dock
echo "deb http://download.tuxfamily.org/glxdock/repository/ubuntu $(lsb_release -sc) cairo-dock ## Cairo-Dock-Stable" | sudo tee -a /etc/apt/sources.list 
wget -q http://repository.glx-dock.org/cairo-dock.gpg -O- | sudo apt-key add -

#Un clic droit pour créer lanceurs et raccourcis sur le bureau d’Ubuntu 
wget http://www.clapico.com/telechargement/Create-Launcher
cp Create-Launcher ~/.gnome2/nautilus-scripts
chmod +x ~/.gnome2/nautilus-scripts/Create-Launcher
mv ~/.gnome2/nautilus-scripts/Create-Launcher ~/.gnome2/nautilus-scripts/"Créer lanceur ou raccourci"

# Notification de verrouillage majuscule
# http://www.clapico.com/2011/02/25/indicator-keylock/
add-apt-repository ppa:tsbarnes/indicator-keylock
 80 PAQUETS=$PAQUETS" indicator-keylock indicator-keylock-ubuntu-mono indicator-keylock-humanity indicator-keylock-elementary"

#### Mise à jour de la liste des paquets ####
echo "sudo apt-get update"
sudo apt-get update

#### Mise à jour du système ####
echo "sudo apt-get -y upgrade"
sudo apt-get -y upgrade


#### Installation des paquets ####
echo "apt-get -y install "$PAQUETS
apt-get -y install $PAQUETS

#Cairo-Dock (installation)
sudo apt-get install cairo-dock cairo-dock-plug-ins

# Pour la lecture des DVD protégés (paquet libdvdread4 nécessaire)
/usr/share/doc/libdvdread4/install-css.sh

# Pavé numérique
echo "greeter-setup-script=/usr/bin/numlockx on" | sudo tee -a /etc/lightdm/lightdm.conf

#Liens APT Gdebi
xdg-mime default gdebi.desktop x-scheme-handler/apt

# Icons dans le menu Système (pour Gnome 2)
#gconftool-2 --type Boolean --set /desktop/gnome/interface/menus_have_icons True



# Autoriser toutes applications à s'afficher dans la zone de notification
# pour Unity (à partir de Ubuntu 11.04)
100 gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"
) |
 for i in {0..100..20};do echo $i "";sleep 2;done |
 zenity --progress 
   --title="Installation en cours..."
   --text="Installation en cours. Merci de patienter"
   --auto-kill
   --percentage=0

@ pingouinux: Maintenant ça fonctionne mais la barre de progression se remplie très rapidement et est complète avant la fin de l'installation des logiciels.
@ ljere: J'ai copié tes commandes  dans le script et supprimé les commandes qui te semblaient fausses.


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#11 Le 23/12/2012, à 20:07

pingouinux

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Il ne faut pas mettre ceci

 for i in {0..100..20};do echo $i "";sleep 2;done |

dans ton script. C'était juste un exemple pour te montrer le fonctionnement de zenity --progress.

Ajouté : Il reste aussi des numéros en tête de certaines lignes.

Dernière modification par pingouinux (Le 23/12/2012, à 20:09)

Hors ligne

#12 Le 23/12/2012, à 20:22

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Les numéros ont étés ajoutés selon ton post (le #8 de cette conversation).


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#13 Le 23/12/2012, à 20:33

pingouinux

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Ceci

0 suivi de n'importe quoi
20 suivi de n'importe quoi
40 suivi de n'importe quoi
60 suivi de n'importe quoi
80 suivi de n'importe quoi
100 suivi de n'importe quoi

était la sortie de cette commande

for i in {0..100..20};do echo $i "suivi de n'importe quoi";sleep 2;done

C'était un exemple pour illustrer zenity --progress.

Hors ligne

#14 Le 23/12/2012, à 20:34

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

Donc je les supprimes?


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne

#15 Le 24/12/2012, à 11:04

Edouard973

Re : [RESOLU] Boite de progression Zenity bloquée [RESOLU]

J'ai trouvé la solution! Voici ce qu'il faut répartir dans le script pour savoir ce qui se passe tout en ayant les pourcentages:

#!/bin/sh
(
echo "10" ; sleep 1
echo "# Mise à jour des journaux de mail" ; sleep 1
echo "20" ; sleep 1
echo "# Remise à zéro des paramètres" ; sleep 1
echo "50" ; sleep 1
echo "Cette ligne est ignorée" ; sleep 1
echo "75" ; sleep 1
echo "# Redémarrage du système" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
  --title="Mise à jour des journaux système" \
  --text="Analyse des journaux de mail..." \
  --percentage=0

if [ "$?" = -1 ] ; then
  zenity --error \
    --text="Mise à jour annulée."
fi

Le truc, c'est:

echo "10" ; sleep 1
echo "#Ce que fait le script" ; sleep 1

et ainsi de suite...

Mon script est bientôt fini. Merci à tous!!


Ubuntu 12.04  LTS Precise Pangolin 32 bits.
Un Netbook Asus et un PC Portable TOSHIBA

Hors ligne