#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
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
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
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
Malheureusement ta solution me sort toujours une erreur (la même qu'au-dessus, à savoir, "This option is not available, ..." )
"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
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
Un grand merci à toi
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
"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
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
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
"L'informatique, c'est l'art de passer 15 jours à gagner 5 millisecondes"
Hors ligne