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/03/2008, à 11:48

Gillaume

[ Résolu ] Zenity + Services : Un tout petit peu d'aide.

Salut à tous,

Je voudrais un peu comprendre zenity...
C'est facile, sans vraiment l'être.

Quelqu'un peut m'aiguiller pour ceci :

J'aimerais créer une boite de dialogue, qui serait lancer avec un raccourci ( un lanceur ), pour demander
Si :

"Voulez arrêter ou démarrer le service cupsys ?"

Avec les 2 actions correspondantes ... 2 boutons... cool

Pour la compréhension de zenity, je me base sur ça :
http://forum.ubuntu-fr.org/viewtopic.php?id=117039&p=1
mais bon....

Je rame un peu.
Joyeuses paques  cool
Guillaume

Dernière modification par Gillaume (Le 23/03/2008, à 23:04)


Guili Guili

Hors ligne

#2 Le 23/03/2008, à 12:02

yurek

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

Systeme / Administration / Services / décocher la case cupsys

sinon


zenity --question --text="Voulez arrêter ou démarrer le service cupsys ?"
        if [ "${PIPESTATUS[0]}" != "0" ]; then
            zenity --error --title="annuler " --text="Tu vient de cliquer sur annulé !"
            exit
else       zenity --error --title="Valider" --text="Tu vient de cliquer sur Valider!"
        fi


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#3 Le 23/03/2008, à 12:12

Gillaume

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

Merci, mais c'est pour un systeme minimale, ou ya
rien à cocher ....


Guili Guili

Hors ligne

#4 Le 23/03/2008, à 12:19

titienne

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

bonjour,

je croi qu'il n'y a que ça :

menu=$(zenity --list --column="Choix" --column=" " --radiolist --title="Menu" false choix1 false choix2)

Hors ligne

#5 Le 23/03/2008, à 12:20

yurek

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

zenity --question --text="Voulez arrêter ou démarrer le service cupsys ?"
        if [ "${PIPESTATUS[0]}" != "0" ]; then
echo "Log annulé date
            exit
else  echo "Log Validé
        fi


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#6 Le 23/03/2008, à 12:32

Gillaume

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

J'ai fait ceci :
Pour lancer le service - je pense que c'est bon, j'en ferai un autre scrip, pour l'arreter ! lol

#!/bin/bash
# Guillaume le 23 Mars 2008.

zenity --question --title="Utilitaire pour l'impression" --text="Est ce que tu veux activer le service de 'limpression ?"
	if [ "${PIPESTATUS[0]}" != "1" ]; then
                           gksu /etc/init.d/cupsys start | zenity --progress --title="Service de l'impression" --text="Je suis en train démarrer le service pour imprimer" --pulsate --auto-close
         fi
                            if [ "${PIPESTATUS[0]}" != "0" ]; then
                                zenity --warning --title="Agressif" --text="OK Bwana - Tu sais pas ce que tu veux == Tu valides et tu dégages ! :-)) [ Tonton ]"
                            fi

titienne,
ça m'interesse ce que tu proposes, tu peux développer ? big_smile

PS : c'est un script pour ma niéce qui a 10 ans ! lol

Dernière modification par Gillaume (Le 23/03/2008, à 12:33)


Guili Guili

Hors ligne

#7 Le 23/03/2008, à 12:47

yurek

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

attention le pipestatus n'est pas forcément différent de 1 lorsque l'action est validé ! ce qui veut dire qu'il est égale a 0 si tout se passe bien.


zenity --warning --title="Agressif" --text="OK Bwana - Tu sais pas ce que tu veux == Tu valides et tu dégages ! :-)) [ Tonton ]"
PS : c'est un script pour ma niéce qui a 10 ans ! lol

J'espere qu'elle sera pas choqué !


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#8 Le 23/03/2008, à 13:18

titienne

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

je ne peut pas trop t'aider parce que j'ai tiré ce bout de code de ce script fait pas WW qui est menbre de ce forum !!

voi ce que tu puet en tiré !! (ligne 50 je crois)(copie le dans gedit pour avoir la colorisation du code !!)

#!/bin/sh
# Programmeur : WW
# 18/03/08
# Script permettant d'extraire le son d'une vidéo

# Fonction qui traite les vidéos contenus dans un dossier
traitementDossier() { 
	listeFormats="*.avi *.divx *.xvid *.mpg *.dat *.ogm *.AVI *.DIVX *.XVID *.MPG *.DAT *.OGM" # Représente la liste des formats des vidéos à traiter dans le dossier
	if [ $extension != "mp3" ]; then
		for i in $listeFormats; do
			if [ ! -e "${i%.*}".$extension ]; then
               			ffmpeg -i "$i" -aq 25 -vn -f $extension "${i%.*}"."$extension" 2>&1 | zenity --progress --pulsate --title="Extraction en cours" --text="Vidéo : $i" --auto-close;
			else
				zenity --info --text="Le fichier ${i%.*}."$extension" existe déjà !" --window-icon="/usr/share/pixmaps/eXson.png"	
			fi
	       	done
	else
		for i in $listeFormats; do
			if [ ! -e "${i%.*}".mp3 ]; then
			       	ffmpeg -i "$i" -aq 25 -vn -f wav "$i".wav 2>&1 | zenity --progress --pulsate --title="Extraction en cours" --text="Première partie\nVidéo : $i" --auto-close;
				lame "$i".wav "${i%.*}".mp3 2>&1 | zenity --progress --pulsate --title="Encodage mp3 en cours" --text="Seconde partie\nVidéo : $i" --auto-close;
				rm "$i".wav
			else
				zenity --info --text="Le fichier ${i%.*}.mp3 existe déjà !" --window-icon="/usr/share/pixmaps/eXson.png"
			fi
	     	done
	fi
}

# Fonction qui traite une vidéo à passer en paramètre
traitementFichier() {
        if [ $extension != "mp3" ]; then
            	ffmpeg -i "$1" -aq 25 -vn -f $extension "${1%.*}"."$extension" 2>&1 | zenity --progress --pulsate --title="Extraction en cours" --text="Vidéo : $1" --auto-close;
        else
               	ffmpeg -i "$1" -aq 25 -vn -f wav "$1".wav 2>&1 | zenity --progress --pulsate --title="Extraction en cours" --text="Première partie\nVidéo : $1" --auto-close;
		lame "$1".wav "${1%.*}".mp3 2>&1 | zenity --progress --pulsate --title="Encodage mp3 en cours" --text="Seconde partie\nVidéo : $1" --auto-close;
		rm "$1".wav
	fi
}

# Fonction d'annulation requière un paramètre
annuler() {
	if [ "$1" = "" ]; then
        	exit 0;
	fi
}

# Fin des définitions de fonctions

menu=$(zenity --list --column="Choix" --column=" " --height="250" --width="350" --radiolist --text="Que voulez-vous faire ??\nExtraire le son de :" --window-icon="/usr/share/pixmaps/eXson.png" --title="Menu" false "Vidéos" false "Dossiers" false "Vidéos provenant de dossiers différents")

annuler $menu

extension=$(zenity --list --column="Choix" --column=" " --height="250" --width="300" --radiolist --text="Quel format voulez-vous pour le(s) fichier(s) de sortie ?" --window-icon="/usr/share/pixmaps/eXson.png" --title="Extensions" false "mp3" false "ogg" false "wav")

annuler $extension

if [ "$menu" = "Dossiers" ]; then # Traite n dossier(s)

    selection=$(zenity --file-selection --multiple --directory --window-icon="/usr/share/pixmaps/eXson.png" --title="Sélection de dossier") # Sélection de dossier

    if [ "$selection" = "" ]; then # L'utilisateur à cliquer sur annuler
	exit 0;
    else

        fin=`expr "$selection" : '.*|\(.*\)'`
    
        if [ "$fin" = "" ]; then # Permet d'éviter que la boucle while soit sans fin quand l'utilisateur sélectionne qu'un seul dossier
            fin=$selection    
        fi


# La boucle while traite tout les dossiers sélectionnés sauf le dernier
        while [ "$selection" != "$fin" ] ; do
            courant=`expr "$selection" : '\([^|]*|\)'`
            selection=${selection#$courant}
            courant=${courant%|}

            cd "$courant" #On entre dans le dossier des vidéos à traiter
	    traitementDossier
        done

# On le traire donc à la fin de la boucle while
        cd "$fin"
	traitementDossier
    fi       

    zenity --info --text="L'extraction est finie.\n\n Merci d'avoir utilisé eXson !" --window-icon="/usr/share/pixmaps/eXson.png" --title="Merci !!!"

elif [ "$menu" = "Vidéos" -o "$menu" = "Vidéos provenant de dossiers différents" ]; then # Traite n vidéo(s)

    if [ "$menu" = "Vidéos provenant de dossiers différents" ]; then
        
        zenity --info --text="Une fenêtre de sélection va apparaître, sélectionner alors les Vidéos de votre premier dossier et valider.\n\nUne nouvelle fenêtre s'ouvrira alors pour la sélection des Vidéos du dossier suivant.\n\nUne fois que vous avez sélectionné et validé toutes les Vidéos désirées, cliquer sur Annuler." --window-icon="/usr/share/pixmaps/eXson.png" --title=">Utilisation<"

    fi

    selection=$(zenity --file-selection --multiple --window-icon="/usr/share/pixmaps/eXson.png" --title="Sélection de vidéo") # Sélection de vidéo

    if [ "$menu" = "Vidéos provenant de dossiers différents" -a "$selection" != "" ]; then # Pour les vidéos provenant de dossiers différents

        while [ "$selection" != "" ]; do # Tant qu'on ne clique pas sur annuler ...
            multirep=$multirep"|$selection" # Concaténation des différentes sélections
            selection=$(zenity --file-selection --multiple --window-icon="/usr/share/pixmaps/eXson.png" --title="Sélection de vidéo") # ... on continue la sélection
        done
    else annuler $selection
    fi

    if [ "$menu" = "Vidéos provenant de dossiers différents" ]; then
        selection=${multirep#|} # La sélection final est la concaténation des différentes sélections
    fi

    fin=`expr "$selection" : '.*|\(.*\)'`

    if [ "$fin" = "" ]; then # Permet d'éviter que la boucle while soit sans fin quand l'utilisateur sélectionne qu'un seul fichier
        fin=$selection    
    fi

    while [ "$selection" != "$fin" ]; do
        courant=`expr "$selection" : '\([^|]*|\)'`
        selection=${selection#$courant}
        courant=${courant%|}
	if [ ! -e "${courant%.*}".$extension ]; then
		traitementFichier $courant
	else
		zenity --info --text="Le fichier ${courant%.*}."$extension" existe déjà !" --window-icon="/usr/share/pixmaps/eXson.png"
	fi
    done
  
    if [ ! -e "${fin%.*}".$extension ]; then      
	    traitementFichier $fin
    else
	    zenity --info --text="Le fichier ${fin%.*}."$extension" existe déjà !" --window-icon="/usr/share/pixmaps/eXson.png"
    fi

    zenity --info --text="L'extraction est finie.\n\n Merci d'avoir utilisé eXson !" --window-icon="/usr/share/pixmaps/eXson.png" --title="Merci !!!"
fi

Dernière modification par titienne (Le 23/03/2008, à 13:24)

Hors ligne

#9 Le 23/03/2008, à 15:00

Gillaume

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

Merci Titienne

Intéressant, mais pas facile....


Guili Guili

Hors ligne

#10 Le 23/03/2008, à 17:45

yurek

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

tu veut développer quoi comme service exactement ?


http://doc.ubuntu-fr.org/installation/debutants
http://doc.ubuntu-fr.org/diagnostic
http://doc.ubuntu-fr.org/diagnostic_outils
http://doc.ubuntu-fr.org/reflexe_ubunteros

Hors ligne

#11 Le 23/03/2008, à 19:07

WW

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

Salut,

#!/bin/sh

reponse=$(zenity --list --column="Choix" --column=" " --radiolist --title="Est ce que tu veux activer le service de l'impression ou le désactiver?" false Activer false Désactiver)

if [ $reponse = "Activer" ]; then
	gksu /etc/init.d/cupsys start | zenity --progress --title="Service de l'impression" \
	--text="Je suis en train démarrer le service pour imprimer" --pulsate --auto-close
else
        gksu /etc/init.d/cupsys stop | zenity --progress --title="Service de l'impression" \
	--text="Je suis en train d'arrêter le service pour imprimer" --pulsate --auto-close
fi

Les \ à la fin des lignes de zenity sont là juste pour la clareté et éviter qu'elles sortent de l'écran.

Sinon pour zenity

zenity --help-all

te donne beaucoup d'indication.
La même chose sur internet ici.

Dernière modification par WW (Le 23/03/2008, à 19:10)


Quand on sait c'est facile, mais qui n'a jamais été débutant.

Hors ligne

#12 Le 23/03/2008, à 23:02

Gillaume

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

Merci WW

C'est simple, et efficace, exactement ce que je voulais.
Merci
Bonne soirée

PS : pourquoi y a pas une page de documentation sur la doc ubuntu ?
C'est la premiere chose que j'ai regardé, et il y a rien. j'ai trouvé bizarre...
On peut faire des bons trucs avec Zenity ! big_smile


Guili Guili

Hors ligne

#13 Le 23/03/2008, à 23:04

Gillaume

Re : [ Résolu ] Zenity + Services : Un tout petit peu d'aide.

WW

ton lien est excellent aussi cool


Guili Guili

Hors ligne