#1 Le 16/05/2013, à 16: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, à 11:17)
Acer aspire one etc. etc.
Config. Portable Toshiba NB10T-A-102
Dual Boot Windows 8.1 - Ubuntu 16.04 LTS
Processeur : Intel Pentium CPU N3510 @ 1.99GHz × 4 - 64 bits - Carte graphique : Intel Bay Trail
Hors ligne
#2 Le 16/05/2013, à 19: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 - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 16/05/2013, à 22: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 :
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, à 18:21)
Acer aspire one etc. etc.
Config. Portable Toshiba NB10T-A-102
Dual Boot Windows 8.1 - Ubuntu 16.04 LTS
Processeur : Intel Pentium CPU N3510 @ 1.99GHz × 4 - 64 bits - Carte graphique : Intel Bay Trail
Hors ligne
#4 Le 16/05/2013, à 23: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, à 07:23
- jpdipsy
Re : [Résolu] Afficher un message indiquant l'heure toutes les heures
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, à 07:59)
Hors ligne
#6 Le 17/05/2013, à 07: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 - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 17/05/2013, à 11:16
- rom5ain
Re : [Résolu] Afficher un message indiquant l'heure toutes les heures
C'est bon ça fonctionne . 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.
Acer aspire one etc. etc.
Config. Portable Toshiba NB10T-A-102
Dual Boot Windows 8.1 - Ubuntu 16.04 LTS
Processeur : Intel Pentium CPU N3510 @ 1.99GHz × 4 - 64 bits - Carte graphique : Intel Bay Trail
Hors ligne
#8 Le 20/05/2013, à 22:03
- Sciensous
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").
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
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#9 Le 18/05/2021, à 15:03
- rom5ain
Re : [Résolu] Afficher un message indiquant l'heure toutes les heures
Bonjour,
bon bah ça ne fonctionne plus...
Quelqu'un sait pourquoi ? Est-ce à cause de l'abandon d'Unity ?
Je suis pourtant toujours sous la même version de Linux
Acer aspire one etc. etc.
Config. Portable Toshiba NB10T-A-102
Dual Boot Windows 8.1 - Ubuntu 16.04 LTS
Processeur : Intel Pentium CPU N3510 @ 1.99GHz × 4 - 64 bits - Carte graphique : Intel Bay Trail
Hors ligne
#10 Le 18/05/2021, à 16:19
- MicP
Re : [Résolu] Afficher un message indiquant l'heure toutes les heures
Bonjour
La crontab qui fonctionne sur ma machine
pour afficher l'heure toutes les minutes :
michel@debsid:~$ crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
DISPLAY=:0.0
XDG_RUNTIME_DIR=/run/user/1000
* * * * * notify-send $(date +\%H:\%M)
michel@debsid:~$
Dernière modification par MicP (Le 20/05/2021, à 13:12)
Hors ligne
#11 Le 18/05/2021, à 19:58
- rom5ain
Re : [Résolu] Afficher un message indiquant l'heure toutes les heures
D'accord. Du coup, à quoi correspondent les premières lignes
DISPLAY=:0.0
XDG_RUNTIME_DIR=/run/user/1000
Dernière modification par rom5ain (Le 18/05/2021, à 19:59)
Acer aspire one etc. etc.
Config. Portable Toshiba NB10T-A-102
Dual Boot Windows 8.1 - Ubuntu 16.04 LTS
Processeur : Intel Pentium CPU N3510 @ 1.99GHz × 4 - 64 bits - Carte graphique : Intel Bay Trail
Hors ligne
#12 Le 19/05/2021, à 02:52
- MicP
Re : [Résolu] Afficher un message indiquant l'heure toutes les heures
Ce sont des variables d'environnement dont le programme notify-send a besoin pour son exécution.
1000 correspond à l'ID du compte utilisateur
Dernière modification par MicP (Le 19/05/2021, à 02:53)
Hors ligne