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 17/07/2010, à 18:55

bece

[resolu] cron + script lançant application graphique

Bonjour à tous,

J'ai créé un petit script qui m'affiche l'état de ma batterie (avec zenity) si elle est inférieur à 5%.
J'essaye de mettre ce script dans la crontab, malheurueusement cela ne fonctionne pas.

La doc parle bien bien des applications graphiques, mais pas des script qui lance une application graphique.

Voic mon script :

#!/bin/bash

a=$(acpi | awk -F" " '{print $4}' | sed 's/[^0-9]//g')

if [ $a -lt 101 ] 
then
	/usr/bin/zenity --warning --text="Attention la batterie est à "$a"%"
	echo $a > /home/bece/.batessai
fi

Et ma crontab :

DISPLAY=:0.0
# m h  dom mon dow   command
*/5 *  *   *   *     python /home/bece/.conky/NightDrive/scripts/gmail.py > .gmail.txt
*   *  *   *   *     bash /home/bece/.battery

Il y a eu pas de question déjà à ce propos sur le forum, mais je n'ai rien trouvé en ce qui concerne les scripts.

Merci d'avance smile
bece

Dernière modification par bece (Le 18/07/2010, à 16:07)


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#2 Le 17/07/2010, à 19:15

helly

Re : [resolu] cron + script lançant application graphique

Il faut rajouter « DISPLAY=:0 » devant la commande de ton crontab wink


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#3 Le 17/07/2010, à 19:44

bece

Re : [resolu] cron + script lançant application graphique

Comme ceci ?

# m h  dom mon dow   command
*/5 *  *   *   *     python /home/bece/.conky/NightDrive/scripts/gmail.py > .gmail.txt
*   *  *   *   *     DISPLAY=:0 bash /home/bece/.battery

Si oui, cela ne fonctionne pas non plus, j'ai demandé à faire afficher les log d'erreurs, et j'obtiens ceci :

This option is not available. Please see --help for all possible usages.

Pourtant lancé en console le script fonctionne parfaitement. Mais en regardant zenity --help, il n'y a effectivement pas l'option --text="XXX"

[edit] Bon en enlevant le --text="XXX", cela fonctionne mais ne m'affiche pas ce que je lui demande roll
Pourtant dans le man de zenity il y a bien option --text=STRING (Ne serait-ce pas le même zenity ?? )

Dernière modification par bece (Le 17/07/2010, à 20:22)


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#4 Le 18/07/2010, à 14:38

credenhill

Re : [resolu] cron + script lançant application graphique

hello
et comme ça ?

*   *  *   *   *     DISPLAY=:0 /home/bece/.battery
# ou
*   *  *   *   *     bash -c "DISPLAY=:0 /home/bece/.battery"

Hors ligne

#5 Le 18/07/2010, à 15:15

bece

Re : [resolu] cron + script lançant application graphique

Merci de te pencher sur mon problème wink

Malheureusement ta solution me sort toujours une erreur (la même qu'au-dessus, à savoir, "This option is not available, ..." ) hmm


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#6 Le 18/07/2010, à 15:27

credenhill

Re : [resolu] cron + script lançant application graphique

essaye sans les " dans les "

 /usr/bin/zenity --warning --text="Attention la batterie est à $a%"

et pas de ^M dans le script:

cat -A script

et avec

 /usr/bin/zenity --warning --text=hello

Dernière modification par credenhill (Le 18/07/2010, à 15:32)

Hors ligne

#7 Le 18/07/2010, à 15:45

bece

Re : [resolu] cron + script lançant application graphique

Sans les "" autour de la variable, cela ne change rien.
Le ^M, je ne comprend pas trop ce que tu veux dire ??
le --text=hello fonctionne smile
J'ai alors essayé d'afficher tout mon text en échappant les espaces, mais cela ne fonctionne pas :

#!/bin/bash

a=$(acpi | awk -F" " '{print $4}' | sed 's/[^0-9]//g')

if [ $a -lt 101 ] 
then
	/usr/bin/zenity --warning --text=Attention\ la\ batterie\ est\ à\ $a% 2> /home/bece/batessai.log
fi

[edit]
J'ai essayé différentes façon :

#!/bin/bash
a=$(acpi | awk -F" " '{print $4}' | sed 's/[^0-9]//g')
hello="Attention_la_batterie_est_à_$a%"
if [ $a -lt 101 ] 
then
	/usr/bin/zenity --warning --text=$hello 2> /home/bece/batessai.log
fi

Ceci ne m'affiche rien

#!/bin/bash
a=$(acpi | awk -F" " '{print $4}' | sed 's/[^0-9]//g')
hello="Attention la batterie est à $a%"
if [ $a -lt 101 ] 
then
	/usr/bin/zenity --warning --text=$hello 2> /home/bece/batessai.log
fi

Ceci m'affiche juste "Attention"


#!/bin/bash
a=$(acpi | awk -F" " '{print $4}' | sed 's/[^0-9]//g')
hello="Attention\ la\ batterie\ est\ à\ $a%"
if [ $a -lt 101 ] 
then
	/usr/bin/zenity --warning --text=$hello 2> /home/bece/batessai.log
fi

Ceci m'affiche juste "Attention"

Dernière modification par bece (Le 18/07/2010, à 16:04)


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#8 Le 18/07/2010, à 16:01

credenhill

Re : [resolu] cron + script lançant application graphique

enlève le à !!!!

/usr/bin/zenity --warning --text="Attention la batterie est a "$a"%"

il n'aime pas les accents

Hors ligne

#9 Le 18/07/2010, à 16:06

bece

Re : [resolu] cron + script lançant application graphique

Ah oui, effectivement smile

Un grand merci à toi wink

Topic résolu !


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#10 Le 18/07/2010, à 16:13

credenhill

Re : [resolu] cron + script lançant application graphique

c'est bizarre, juste dans le cron !!

Hors ligne

#11 Le 18/07/2010, à 16:19

bece

Re : [resolu] cron + script lançant application graphique

Ben surement un caprice lol


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#12 Le 18/07/2010, à 16:26

bece

Re : [resolu] cron + script lançant application graphique

D'après la doc il fallait rajouter ça :

export LANG="fr_FR.UTF-8"

J'ai essayé de le mettre dans le script ou dans le cron (sans l'export juste après le DISPLAY) mais ça ne fonctionne pas hmm

Dernière modification par bece (Le 18/07/2010, à 16:27)


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#13 Le 19/07/2010, à 06:32

credenhill

Re : [resolu] cron + script lançant application graphique

il faut le mettre dans le script, chez moi ça fonctionne avec

export LANG='en_US.UTF-8'

Hors ligne

#14 Le 19/07/2010, à 09:17

bece

Re : [resolu] cron + script lançant application graphique

Non, cela ne fonctionne pas chez moi, ni le français, ni le belge, ni le US.


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#15 Le 19/07/2010, à 10:06

credenhill

Re : [resolu] cron + script lançant application graphique

tu peux faire des tests en interactif. Chez moi, le premier ne fonctionne pas, le deuxième oui

unset LANG;zenity --warning --text="àéè"
export LANG=en_US.UTF-8 ;  zenity --warning --text="àéè"

Dernière modification par credenhill (Le 19/07/2010, à 10:10)

Hors ligne

#16 Le 19/07/2010, à 11:07

bece

Re : [resolu] cron + script lançant application graphique

Non, aucun des deux ne fonctionne chez moi :

bece@beceLTdebian:~$ unset LANG;zenity --warning --text="àéè"
This option is not available. Please see --help for all possible usages.
bece@beceLTdebian:~$ export LANG=en_US.UTF-8 ;  zenity --warning --text="àéè"

(process:4273): Gtk-WARNING **: Locale not supported by C library.
	Using the fallback 'C' locale.
This option is not available. Please see --help for all possible usages.
bece@beceLTdebian:~$

"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#17 Le 19/07/2010, à 11:20

credenhill

Re : [resolu] cron + script lançant application graphique

LANG=en_US.UTF-8  : j'ai un système en anglais il faut remplacer par ce que tu as chez toi

Hors ligne

#18 Le 19/07/2010, à 11:48

bece

Re : [resolu] cron + script lançant application graphique

Heu, ben oui je suis bête roll
Bon mettre le LANG en fr_FR fonctionne à la console mais pas dans le script.


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#19 Le 19/07/2010, à 12:16

credenhill

Re : [resolu] cron + script lançant application graphique

peut-être qu'en francais, il faut d'autres variables locales que LANG

set|grep '^LC'

et peut-être export GDM_LANG=$LANG

Dernière modification par credenhill (Le 19/07/2010, à 12:23)

Hors ligne

#20 Le 19/07/2010, à 12:24

bece

Re : [resolu] cron + script lançant application graphique

Heu, que cherchez-tu qui commence par LC ? En tout cas, il n'a rien trouvé du tout.

[edit] Avec ton edit, cela fonctionne, mais alors je vois pas, qu'est-ce que GDM_LANG ??

Dernière modification par bece (Le 19/07/2010, à 12:26)


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#21 Le 19/07/2010, à 12:28

credenhill

Re : [resolu] cron + script lançant application graphique

oui du genre  LC_COLLATE ou   LC_MESSAGES
GDM_LANG doit être à Gnome, ce que LANG est au shell, peut-être

Dernière modification par credenhill (Le 19/07/2010, à 12:30)

Hors ligne

#22 Le 19/07/2010, à 12:42

bece

Re : [resolu] cron + script lançant application graphique

Hum, oki mais alors comment expliques-tu le fait que je n'ai jamais mis de gnome sur ma debian ?? Je suis sous openbox


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne

#23 Le 19/07/2010, à 13:25

credenhill

Re : [resolu] cron + script lançant application graphique

Ca doit être la librairie GTK plutot que Gnome
  zenity  is  a  program  that will display GTK+ dialogs,

Hors ligne

#24 Le 19/07/2010, à 14:10

bece

Re : [resolu] cron + script lançant application graphique

Oui.

En tout cas, merci beaucoup smile


"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"

Hors ligne