Questions générales sur Manjaro Linux.
S'il vous plaît, avant de poster, essayez la fonction de recherche du forum.
Répondre

Aide pour script

#1Messageil y a 3 ans

Bonjour,

Je cherche un moyen simple d'avoir un rappel pour des évènements et je suis tombé sur ce script : https://brettterpstra.com/2016/01/22/qu ... -terminal/ et https://gist.github.com/ttscoff/cded212ec4dd457186ca .

Il fonctionne, je peux ajouter un rappel en tapant dans un terminal "dontforget test 1h" ; ce qui est censé me rappeler l'évènement "test" dans une heure.

Cependant, le rappel a une erreur, j'obtiens ceci dans mon terminal au moment du rappel :

/usr/local/bin/dontforget: line 96: /usr/bin/afplay: No such file or directory
/usr/local/bin/dontforget: line 97: say: command not found
Quand je regarde le script je vois :
/usr/bin/afplay /System/Library/Sounds/Glass.aiff
say "$reminder
"

Mais je n'ai pas afplay, d'où l'erreur, comment faire alors ?

Merci.
Dernière modification par damien674il y a 3 ans, modifié au total 2 fois.

Aide pour script

#2Messageil y a 3 ans

bonjour,
cette ligne n'est que pour jouer un son donc peut-être commentée si pas utile pour toi

je suppose que tu n'as pas Glass.aiff ni afplay ? tu peux remplacer par pas mal de commandes (si installée) comme par exemple

mpg123 "~/Musique/Linux - my best ring.mp3" &
cvlc "~/Musique/Linux - my best ring.mp3" &
...
-----

Avec le paquet at installé et service "atd" lancé, il est possible de faire une simple commande pour lancer une notification gui à 13h40

echo 'notify-send -t 9000 "toto"' | at 13:40

Aide pour script

#3Messageil y a 3 ans

Merci!
Comment rendre la notification persistante avec

echo 'notify-send -t 9000 "toto"' | at 14:26
?

Aide pour script

#4Messageil y a 3 ans

Avec at, je ne sais pas faire, mais personnellement, j'utilise ma crontab pour des tâches à répéter périodiquement.

Commande crontab -e pour ouvrir la crontab en édition.
Ajout des lignes suivantes :
DISPLAY=0.0
XAUTHORITY=$HOME/.Xauthority
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/<id_a_remplacer>/bus
46 14 * * * /usr/bin/notify-send -t 9000 "toto"


donnera la notification "toto" tous les jours à 14h46.
Les 5 1ere champs permettent de jouer avec le temps pour définir le type de répétition (minute, heure, jour du mois, mois, jour de la semaine). Il y a pléthore de combinaison, une recherche internet te donnera moult exemple si cela t'intéresse.

env | grep DBUS_SESSION_BUS_ADDRESS te donnera la bonne valeur de la variable.

Aide pour script

#5Messageil y a 3 ans

>persistante
il suffit de jouer avec l'option -t (-t 9000 = 9 secondes), avec -t 0 la notification reste

man notify
man fr de at . Avec at pas de répétitions comme cron (pas de répétition avec ton script)

Aide pour script

#6Messageil y a 3 ans

il suffit de jouer avec l'option -t (-t 9000 = 9 secondes), avec -t 0 la notification reste
Merci, parfait.

Aide pour script

#7Messageil y a 3 ans

Merci @fbe

Aide pour script

#8Messageil y a 3 ans

un script pour faire plus simple à l'utilisation

#!/usr/bin/bash
#set -x

# lancer service "at" si non lancé
systemctl is-active atd -q || sudo systemctl start atd

title="${1:-Entrer un paramètre}"
temps="${2:-60minutes}"
if [[ "$2" =~ ":" ]]; then
    verb=""
else
    verb="now + "
fi

echo "notify-send -t 0 \"${title}\" -i \"$HOME/.face\"  " | at ${verb} ${temps}
# ou avec du son ?
#echo "notify-send -t 0 \"${title}\" -i \"$HOME/.face\" && mpg123 \"$HOME/Musique/Ring.mp3\" " | at ${verb} ${temps}
# verif
at -l
utilisation :

notif "pause film" 21:05
notif "une pause dans peu de temps" 45minutes
notif "(encore) une pause en fin de journée" 2hours
notif "par defaut ici c'est dans une heure si temps non donné en param 2"

Aide pour script

#9Messageil y a 3 ans

Et bien je suis bon pour retourner suivre des cours de français! :clap

Aide pour script

#10Messageil y a 3 ans

fbe a écrit : il y a 3 ans Et bien je suis bon pour retourner suivre des cours de français! :clap
Pourquoi ? Je ne comprends pas...

Aide pour script

#11Messageil y a 3 ans

papajoke a écrit : il y a 3 ans un script pour faire plus simple à l'utilisation
Merci beaucoup @papajoke , ça marche très bien!

Aide pour script

#12Messageil y a 3 ans

damien674 a écrit : il y a 3 ans Pourquoi ? Je ne comprends pas...
:salut: comme fbe je n'étais pas sûr de ta demande ...
Tu désirais la persistance des popup de notification ou la persistance de la demande (il était dit dans ton article que la fermeture du terminal annulait la demande)
Puisque fbe à compris une chose, j'ai simplement répondu (au cas où) à une autre pour être complémentaire avec fbe
Pour moi, avec cron, nous sommes plus dans la gestion d'un calendrier et cela existe comme application

Aide pour script

#13Messageil y a 3 ans

Ah, je vois. Je souhaitais la persistance de la popup de notification. C'est assez pratique ton script, car souvent j'ai des rappels d'évènements tout au long de la journée et je peux ainsi les ajouter facilement. Merci encore.
Répondre