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, à 14:50

Edouard973

[RESOLU] Problème entre Zenity et le script [RESOLU]

Bonjour à tous!!
Voulant créer un script pour installer des logiciels plus facilement lors d'une installation, j'ai décidé de faire une interface graphique avec Zenity.
Voici mon script:

#!/bin/bash
zenity --info \
  --title="Script réalisé par Richard Édouard SAILLARD" \
  --text="Scripts d'installation de paquets sous Ubuntu.
Version 1.0" \
 
#######################################################################
#####        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 --entry --title="Choix" --text="Indiquez votre choix: oui/non" lubuntu hybride unity `
echo $variable
read rep
if [ $rep != "oui" ] && [ $rep != "oui" ] && 
   [ $rep != "y" ] && [ $rep != "yes" ]
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="thunderbird gm-notify filezilla googleearth-package chromium-browser"
# Graphisme
PAQUETS=$PAQUETS" gimp gimp-plugin-registry inkscape shutter hugin"
# 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"
# Développement
PAQUETS=$PAQUETS" terminator emacs vim-gnome eclipse gcc subversion git mercurial"
# Autres
PAQUETS=$PAQUETS" gparted speedcrunch"


UBUNTUVERSION=`lsb_release -cs`
echo "* Ajout des depots pour Ubuntu $UBUNTUVERSION"

#### Dépôts tiers ####

# 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"
# non-free-codecs dépend de w32codecs pour les architectures 32 bits et de w64codecs pour les 64 bits.

# Partenaire
add-apt-repository "deb http://archive.canonical.com/ubuntu ${UBUNTUVERSION} partner"
PAQUETS=$PAQUETS" skype" #sun-java6-jre

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

# Virtualbox 4.0
echo "deb http://download.virtualbox.org/virtualbox/debian $UBUNTUVERSION contrib" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 98AB5139 #&& apt-get update >/dev/null 
PAQUETS=$PAQUETS" virtualbox-4.0"

# 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"

# 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


# Google Earth : http://doc.ubuntu-fr.org/googleearth
make-googleearth-package --force && dpkg -i googleearth*.deb
apt-get -f -y install # installer les dépendances de googleearth non satisfaites
rm googleearth*.deb GoogleEarthLinux.bin

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

# 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']"

Le soucis est que j'arrive pas à mettre la variable "choix" correctement dans le script... En effet, je demande si la personne est sure par une fenêtre où la personne doit taper "oui" ou "non" mais en appuyant n'importe quoi, le script continu.

Pour télécharger le script: http://sdrv.ms/VXtmtk
Je tiens à préciser que le script d'origine vient de cette page: http://blog.hikoweb.net/public/Scripts/postinstall.sh

Merci de votre aide.

Note: Je suis un nouveau dans le monde des scripts. big_smile

Dernière modification par Edouard973 (Le 23/12/2012, à 17:13)


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

Hors ligne

#2 Le 23/12/2012, à 15:20

pingouinux

Re : [RESOLU] Problème entre Zenity et le script [RESOLU]

Bonjour,
Il n'y a pas de variable choix dans ton script.
Tu utilises zenity pour entrer un choix. Je pense que la commande

read rep

ne sert à rien. Il suffit de tester $variable au lieu de $rep.

Hors ligne

#3 Le 23/12/2012, à 15:38

Didier-T

Re : [RESOLU] Problème entre Zenity et le script [RESOLU]

Bonjour,

je crois comprendre que ce que tu souhaite modifier ce situ ici

variable=`zenity --entry --title="Choix" --text="Indiquez votre choix: oui/non" lubuntu hybride unity `
echo $variable
read rep
if [ $rep != "oui" ] && [ $rep != "oui" ] && 
   [ $rep != "y" ] && [ $rep != "yes" ]
then
 echo "Pour lire le script, entrez la commande suivante :"
  echo "gedit $0 &"
  exit 1
fi

de manière a faire un choix qui soit continueras le script soit le quittera.
Si c'est bien le cas ceci pourrait certainement te convenir.

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

avec ce bout de code, si tu répond Non ou que tu Annule la fenêtre zenty, tu met fin a ton script après avoir affiché les deux lignes qui sont dans la boucle if

Hors ligne

#4 Le 23/12/2012, à 17:12

Edouard973

Re : [RESOLU] Problème entre Zenity et le script [RESOLU]

Merci de vos réponses si rapides!
La solution de Didier-T me convient parfaitement! Je passe en Résolu.
Encore Merci smile


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

Hors ligne