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 15/09/2009, à 08:02

oobuntu

[Résolu (avec at)][cron] démarre le script avant le logon

J'ai un petit script (gmail-check : on devine ce qu'il fait) que je lance par cron.
L'ennui c'est qu'il se lance même après un logoff, alors que j'ai l'invite de logon.

cron.log

Sep 15 07:30:01 HP2 anacron[9484]: Anacron 2.3 started on 2009-09-15
Sep 15 07:30:01 HP2 anacron[9484]: Normal exit (0 jobs run)
[b]Sep 15 07:40:01 HP2 /USR/SBIN/CRON[9868]: (oob) CMD (DISPLAY=:0 /home/frans/bin/gmail-check #JOB_ID_1)[/b]

auth.log

Sep 15 07:32:49 HP2 gdm[9530]: pam_unix(gdm:session): session closed for user oob
[b]Sep 15 07:40:01 HP2 CRON[9867]: pam_unix(cron:session): session opened for user oob by (uid=0)[/b]
Sep 15 07:40:38 HP2 gdm[9530]: pam_smbpass(gdm:auth): unrecognized option [missingok]
Sep 15 07:40:38 HP2 gdm[9530]: pam_unix(gdm:session): session opened for user oob by (uid=0)
Sep 15 07:50:01 HP2 CRON[10522]: pam_unix(cron:session): session opened for user oob by (uid=0)

En fait il semble que cron fasse un login utilisateur, comment éviter ce comportement ? (je vous le demande !)

Dernière modification par oobuntu (Le 15/09/2009, à 17:33)

Hors ligne

#2 Le 15/09/2009, à 10:07

Hawkmoon

Re : [Résolu (avec at)][cron] démarre le script avant le logon

En fait il semble que cron fasse un login utilisateur, comment éviter ce comportement ? (je vous le demande !)

Tu ne peux pas, et au final, c'est normal. C'est le fonctionnement de cron.

A toi d'ajouter un contrôle pour savoir si une session est ouverte, dans ton script.


Tagazok à toi, mon frère !

Hors ligne

#3 Le 15/09/2009, à 11:18

Ras'

Re : [Résolu (avec at)][cron] démarre le script avant le logon

Question bête, pourquoi le lancer par cron ?
J'ai aussi un check-gmail mais je le lance à l'ouverture de session...


Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
 
Les types awesome n'ont rien à prouver. À personne.
'k bye là

Hors ligne

#4 Le 15/09/2009, à 15:28

oobuntu

Re : [Résolu (avec at)][cron] démarre le script avant le logon

@Hawkmoon

J'ai cherché un peu mais je ne sais pas très bien quoi utiliser (logname, whoami... )
Une idée ?

@Ras'

Je voulais éviter d'avoir le script qui tourne en permanence (sauf quand il y a des messages dans la boîte), j'utilise la synthèse vocale pour me signaler les messages entrants (nombre, expéditeur) et une notification zenity pour le visuel avec une icône grise quand il n'y a pas de message, rouge quand il y en a et cassée quand je ne peux pas me connecter au serveur(ça arrive).

C'est avec plaisir que je soummettrai mon script quand il sera pleinement opérationnel.

Dernière modification par oobuntu (Le 15/09/2009, à 15:29)

Hors ligne

#5 Le 15/09/2009, à 15:34

Totor

Re : [Résolu (avec at)][cron] démarre le script avant le logon

oobuntu a écrit :

Je voulais éviter d'avoir le script qui tourne en permanence (sauf quand il y a des messages dans la boîte), j'utilise la synthèse vocale pour me signaler les messages entrants (nombre, expéditeur) et une notification zenity pour le visuel avec une icône grise quand il n'y a pas de message, rouge quand il y en a et cassée quand je ne peux pas me connecter au serveur(ça arrive)..

Alors n'utilise pas cron mais combine ton script avec la commande at et lance-le à l'ouverture de ta session X.
at te permettra de planifier ton script de façon récursive (en gros, il s'auto planifie).

Par contre, il me semble que la planification n'est pas annulée en cas d'arrêt du PC et/ou de fermture de session.


-- Lucid Lynx --

Hors ligne

#6 Le 15/09/2009, à 15:47

oobuntu

Re : [Résolu (avec at)][cron] démarre le script avant le logon

Alors n'utilise pas cron mais combine ton script avec la commande at et lance-le à l'ouverture de ta session X.
at te permettra de planifier ton script de façon récursive (en gros, il s'auto planifie).

Par contre, il me semble que la planification n'est pas annulée en cas d'arrêt du PC et/ou de fermture de session.

Mais c'est pas bête du tout ça ! l'auto-planification pourquoi n'y ai-je pas pensé ?

Pour le deuxième point, il faut que je vérifie.

-------------------------------------------------------------------------------------

J'ai essayé mais il y a un problème avec zenity. En fait il faut faire précéder la commande par DISPLAY=:0.
Je pense que le problème des chemins est le même qu'avec cron. Heureusement l'expansion du $HOME se fait normalement.

Hum! J'ai fait l'essai dans un terminal en tapant d'abord

at now + 1 minutes
at>gmail-check
at><EOT>
job 6 at Tue Sep 15 16:16:00 2009

puis la commande puis Ctrl-D
C'est OK.
Mais comment entrer la ligne de commande directement (pour le script) j'ai essayé

at now + 1 minutes gmail-check
syntax error. Last token seen: g
Garbled time

Donc ce n'est pas ça

Dernière modification par oobuntu (Le 15/09/2009, à 16:34)

Hors ligne

#7 Le 15/09/2009, à 16:38

oobuntu

Re : [Résolu (avec at)][cron] démarre le script avant le logon

oobuntu a écrit :

Donc ce n'est pas ça

En fait y a-t-il un script bash quelque part qui fonctionne avec at ? zat iz ze kouechtionne.

Sinon, un petit up pour l'utilisation de cron (savoir si on est loggué ou pas).

Hors ligne

#8 Le 15/09/2009, à 16:49

Totor

Re : [Résolu (avec at)][cron] démarre le script avant le logon

voilà qui devrait solutionner ton affaire :

export DISPLAY=:0 at now + 1 minutes <<< "gmail-check"

-- Lucid Lynx --

Hors ligne

#9 Le 15/09/2009, à 17:32

oobuntu

Re : [Résolu (avec at)][cron] démarre le script avant le logon

Totor a écrit :

voilà qui devrait solutionner ton affaire :

export DISPLAY=:0 at now + 1 minutes <<< "gmail-check"

En fait, ce qui marche c'est

at now + 10 minutes <<< "DISPLAY=:0 gmail-check"

Mais pourqui le 'export' ?
En tous cas merci.

Hors ligne