Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 16/05/2013, à 17:53

rom5ain

[Résolu] Afficher un message indiquant l'heure toutes les heures

Bonjour,
j'aurais aimé savoir s'il était possible de créer un message qui s'afficherait toutes les heures en indiquant à chaque fois l'heure.
Par exemple, à 17h00, un message s'affiche indiquant qu'il est 17h00, de même à 18h00, etc.
J'ai vu qu'il y a un moyen d'afficher un message toutes les heures en mettant un fichier dans système de fichiers/etc/cron.hourly. Mais je voudrais pousser le truc plus loin en y ajoutant l'heure précise.

Le type de message est celui des notifications habituelles, comme quand on entre notify-send "17h53" dans un terminal

Dernière modification par rom5ain (Le 17/05/2013, à 12:17)


Config.: Windows 8.1
Portable Toshiba NB10T-A-102 - Processeur : Intel Pentium 64 bits

Hors ligne

#2 Le 16/05/2013, à 20:46

tiramiseb

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

Vu que c'est plutôt un truc utilisateur, c'est à mettre dans ta crontab utilisateur (que tu édites avec la commande "crontab -e") et non dans une crontab système (ce qu'est cron.hourly).
De plus, les scripts du répertoire cron.hourly sont exécutés successivement à partir de la 17me minute de chaque heure : ce ne serait donc pas à l'heure précise.

Donc, après avoir ouvert l'édition de ta crontab utilisateur avec "crontab -e", tu peux y mettre la chose suivante :

0 * * * * notify-send $(date +%H:%M)

Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#3 Le 16/05/2013, à 23:25

rom5ain

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

Merci tiramiseb pour ta réponse. Je ne m'attendais pas à en  avoir aussi rapidement.
Mais j'aimerais avoir quelques informations supplémentaires.
Quand je fais "crontab -e" dans mon terminal, j'ai ça :

0ifvPvo.png

Alors où dois-je copier cette ligne de commande 0 * * * * notify-send $(date +%H:%M) pour qu'elle fonctionne ? Parce que j'ai déjà essayé mais ça ne donne rien.
Et comment enregistrer correctement après avoir édité crontab ?

Dernière modification par rom5ain (Le 17/05/2013, à 19:21)


Config.: Windows 8.1
Portable Toshiba NB10T-A-102 - Processeur : Intel Pentium 64 bits

Hors ligne

#4 Le 17/05/2013, à 00:16

ytreza

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

Bonjour !
Si tu as du mal avec crontab, essayes l'outil Schedule de Gnome (disponible dans les dépôts Ubuntu), beaucoup plus facile à prendre en main : apt://gnome-schedule

Hors ligne

#5 Le 17/05/2013, à 08:23

jpdipsy

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

rom5ain a écrit :

Alors où dois-je copier cette ligne de commande 0 * * * * notify-send $(date +%H:%M) pour qu'elle fonctionne ? Parce que j'ai déjà essayé mais ça ne donne rien.
Et comment enregistrer correctement après avoir édité crontab ?

1. Tu crée un fichier nommé message.sh (par exemple) et tu y met :

#!/bin/bash

notify-send $(date +%H:%M)

2 tu le met ou tu veut dans ton rep perso (~/bin par exemple)
3 tu rend le fichier executable chmod +x ~/bin/message.sh
edition du crontab crontab -e

ajouter à la fin du crontab
0 * * * * export DISPLAY=:0;/home/tonidentif/bin/message.sh

enregistrer et quitter.

cron à toujours besoin du chemin complet du fichier à lancer et envoyer le résultat vers le serveur X  export DISPLAY=:0

bonne journée

Dernière modification par jpdipsy (Le 17/05/2013, à 08:59)

Hors ligne

#6 Le 17/05/2013, à 08:27

tiramiseb

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

Salut,

La méthode de jpdipsy est inutilement compliquée, je pense.
A priori il n'y a pas besoin de faire un script, tu peux bel et bien mettre la commande directement dans le crontab.
Par ailleurs, pour la variable DISPLAY j'avais testé mais mal testé, en effet elle est nécessaire. Mais il n'y a pas besoin de faire un export.

Je propose donc la ligne suivante dans le crontab (édité avec "crontab -e") :

0 * * * * DISPLAY=:0 /usr/bin/notify-send `/bin/date +%H:%M`

Tu peux ajouter cette ligne n'importe où dans ce fichier, idéalement à la fin pour que ce soit prope.

Pour enregistrer et quitter avec Nano, tu fais Ctrl-O puis Ctrl-X, comme c'est indiqué au bas de l'écran ("^" signifie "Ctrl").


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#7 Le 17/05/2013, à 12:16

rom5ain

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

C'est bon ça fonctionne smile. Merci beaucoup.
J'ai mis toutes les lignes de commandes que vous m'aviez proposé dans mon crontab donc je ne sais pas vraiment laquelle est la bonne.
Mais je pense que c'est la méthode de jpdipsy qui à l'air d'être la plus efficace.


Config.: Windows 8.1
Portable Toshiba NB10T-A-102 - Processeur : Intel Pentium 64 bits

Hors ligne

#8 Le 20/05/2013, à 23:03

Sciensous

Re : [Résolu] Afficher un message indiquant l'heure toutes les heures

tiramiseb a écrit :

Salut,

La méthode de jpdipsy est inutilement compliquée, je pense.
A priori il n'y a pas besoin de faire un script, tu peux bel et bien mettre la commande directement dans le crontab.
Par ailleurs, pour la variable DISPLAY j'avais testé mais mal testé, en effet elle est nécessaire. Mais il n'y a pas besoin de faire un export.

Je propose donc la ligne suivante dans le crontab (édité avec "crontab -e") :

0 * * * * DISPLAY=:0 /usr/bin/notify-send `/bin/date +%H:%M`

Tu peux ajouter cette ligne n'importe où dans ce fichier, idéalement à la fin pour que ce soit prope.

Pour enregistrer et quitter avec Nano, tu fais Ctrl-O puis Ctrl-X, comme c'est indiqué au bas de l'écran ("^" signifie "Ctrl").

Le soucis c'est que notify-send avec du texte "normal" fonctionne dans ce cas; mais pas avec un retour de commande comme `date ...`    Mais je ne sais pas pourquoi
Du coup, passage en script externe ; dommage

Hors ligne

Haut de page ↑