Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 18-01-2017 18:48:33

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Afficher une image différente à heures précises

Bonjour,

Je voudrais afficher une image différente avec un intervalle de deux heures sur mon bureau avec feh.

J'ai déjà poster sur un forum anglophone; des solutions m'ont été proposées mais j'ai peur de ne pas avoir tout bien compris... (c'est avec systemd)
Voici la discussion avec les scripts systemd proposés:
https://forums.bunsenlabs.org/viewtopic … 360#p43360

Avec crontab ça ne fonctionne pas car il s'agit d'heures précises.
Toute idée sera la bienvenue pour m'aider à réaliser cette petite g33kerie.
Merci de m'avoir lu
++

Hors ligne

#2 18-01-2017 19:12:05

bendia
Admin stagiaire
Distrib. : Stretch (et un peu Jessie)
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console
Inscription : 20-03-2012
Site Web

Re : Afficher une image différente à heures précises

ragamatrix a écrit :

Avec crontab ça ne fonctionne pas car il s'agit d'heures précises.

Pourquoi ? Tu peux créer une tâche toutes les 2 heures avec */2 wink

https://debian-facile.org/doc:systeme:c … es-crontab


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
file-Re06858991f6f328b4907296ac5cea283

En ligne

#3 18-01-2017 19:12:15

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Afficher une image différente à heures précises

Avec crontab ça ne fonctionne pas car il s'agit d'heures précises.


Comment ça cron ne fonctionne pas sur des heures précises ?


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#4 19-01-2017 15:45:42

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Afficher une image différente à heures précises

otyugh a écrit :

Avec crontab ça ne fonctionne pas car il s'agit d'heures précises.


Comment ça cron ne fonctionne pas sur des heures précises ?


Par exemble je veux afficher une image à 14h une autre à 16h, 18h... etc avec cron ça executera toujours la même tâche et je voudrais une différente toute les deux heures... scratchhead.gif

Hors ligne

#5 19-01-2017 15:46:58

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Afficher une image différente à heures précises

^ bendia

Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#6 19-01-2017 16:06:11

bendia
Admin stagiaire
Distrib. : Stretch (et un peu Jessie)
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console
Inscription : 20-03-2012
Site Web

Re : Afficher une image différente à heures précises

ragamatrix a écrit :

Par exemble je veux afficher une image à 14h une autre à 16h, 18h... etc avec cron ça executera toujours la même tâche et je voudrais une différente toute les deux heures...

C'était pareil avec ce qui t'était proposé via systemd de toute façon là wink C'était le script qui te changeait l'image, sustemd se chargait juste de l'appeller, comme le ferait cron.

C'est ça qui fait changer l'image

/bin/sh -c "for i in $(/bin/date | /usr/bin/awk -F '[ :]' '{print $4}') ; do /usr/bin/feh --bg-scale $HOME/.xplanet/images/Earth_HD/earth-hd/$i.png 2>/dev/null ; done"



En essayant la commande, je me rend compte d'ailleurs que c'est peut-être une histoire de locales le problème (genre le format de date renvoyé par date différents entre un anglais et un français. C'est peut-être pour ça que ça ne fonctionne pas.

Chez moi

/bin/date | /usr/bin/awk -F '[ :]' '{print $4}'


2017,



Y'aurait moyen de faire plus simple d'ailleurs, en reprenant la même idée de nommer les photos heure.png, tu dois pouvoir te passer de la boucle (je ne comprends pas la boucle là d'ailleurs hmm)

 /usr/bin/feh --bg-scale $HOME/.xplanet/images/Earth_HD/earth-hd/$(date +%H).png 2>/dev/null


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
file-Re06858991f6f328b4907296ac5cea283

En ligne

#7 19-01-2017 16:16:49

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Afficher une image différente à heures précises

Ça marche ça ? D'expérience, il faut spécifique l'affichage avec un "export DISPLAY=:0.0" pour lancer une application gui via cron.

Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#8 19-01-2017 16:28:13

bendia
Admin stagiaire
Distrib. : Stretch (et un peu Jessie)
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console
Inscription : 20-03-2012
Site Web

Re : Afficher une image différente à heures précises

otyugh a écrit :

Ça marche ça ? D'expérience, il faut spécifique l'affichage avec un "export DISPLAY=:0.0" pour lancer une application gui via cron.

Oui, tout à fait, je donnais juste une commande plus simple pour le script d'init systemd donné sur le forum busenlab wink

[Unit]
Description=Change wallpaper at set times.

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/bin/sh -c "for i in $(/bin/date | /usr/bin/awk -F '[ :]' '{print $4}') ; do /usr/bin/feh --bg-scale $HOME/.xplanet/images/Earth_HD/earth-hd/$i.png 2>/dev/null ; done"


Il y a bien l'export de la variable d'environnement DISPLAY, et ça serait aussi à faire avec cron.

Au final, j'ai réfléchi tout haut dans mon message précédent.

Je pense que ce qui foire avec la solution proposée sur bunsenlab, ça n'est pas systemd, c'est le script executé, qui, d'une part, doit poser un soucis selon la localisation, et d'autre part,  me semble compliqué pour rien, puisqu'il suffit juste de savoir appeller un fichier à la volé heure.png. Et ça ça se fait simplement avec

$(date +%H).png


Du coup, ragamatrix, tu peux essayer avec systemd, mais en modifiant la commande comme j'ai mis.

[Unit]
Description=Change wallpaper at set times.

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/bin/sh -c "/usr/bin/feh --bg-scale $HOME/.xplanet/images/Earth_HD/earth-hd/$(date +%H).png 2>/dev/null"


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
file-Re06858991f6f328b4907296ac5cea283

En ligne

#9 19-01-2017 16:54:41

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Afficher une image différente à heures précises

merci pour votre réactivité, j'essaie ça bientôt et si ça marche je poste le tout wink

Hors ligne

#10 19-01-2017 16:58:51

bendia
Admin stagiaire
Distrib. : Stretch (et un peu Jessie)
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console
Inscription : 20-03-2012
Site Web

Re : Afficher une image différente à heures précises

Vérifie aussi que la variable d'environnement $DISPLAY soit bien :0, ça pourrait être ça aussi wink

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
file-Re06858991f6f328b4907296ac5cea283

En ligne

#11 19-01-2017 17:20:22

otyugh
Membre
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016

Re : Afficher une image différente à heures précises

Ou en équivalent avec cron :

0 */2 * * * /bin/sh -c "export DISPLAY=:0 && /usr/bin/feh --bg-scale $HOME/.xplanet/images/Earth_HD/earth-hd/$(date +%H).png 2>/dev/null"

Dernière modification par otyugh (19-01-2017 17:21:06)


Agenda du libre : se faire dépanner/dépanner IRL ! Le libre n'est pas qu'un phénomène internet.
Framapad sur les balados : Emissions audio pro/amateur, votre radio sur-mesure !

Hors ligne

#12 19-01-2017 17:55:48

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Afficher une image différente à heures précises

MERCi otyugh, j'ai bien essayé avec systemd mais ça ne fonctionne pas... Je serai je pense plus à l'aise avec cron, j'en ai plus souvent entendu parlé et remarqué qu'il fonctionnait (je dis pas que systemd c'est nul hein) j'ai d'autres scripts qui tournent avec cron qui fonctionnent. je vais essayer la version cron wink

Hors ligne

#13 19-01-2017 17:58:05

bendia
Admin stagiaire
Distrib. : Stretch (et un peu Jessie)
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console
Inscription : 20-03-2012
Site Web

Re : Afficher une image différente à heures précises

Et la commande toute nue sans systemd, elle fonctionne déjà ?

feh --bg-scale $HOME/.xplanet/images/Earth_HD/earth-hd/$(date +%H).png


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.
file-Re06858991f6f328b4907296ac5cea283

En ligne

#14 19-01-2017 18:18:38

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Afficher une image différente à heures précises

merci ça fonctionne, mais il fallait une image pour toutes les heures, car je n'avais que 6,8,10,12etc mais en copiant et renomant pour avoir 6,7,8,9,10... ça marche, si vous voulez tester avec les images:
https://framadrop.org/r/fp2uSGYdCb#IeVd … SveEpRwX0=

Hors ligne

#15 19-01-2017 22:07:42

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
Inscription : 09-01-2009
Site Web

Re : Afficher une image différente à heures précises

Au passage, feh est capable de choisir tout seul une image au hasard. Voilà le script que j'utilise, seule la commande avec feh t'intéressera :


#!/bin/sh
DIR=~/Images/Wallpapers
# temps de rotation des images en secondes
INT="600"

while true; do
    feh -q -r -z --bg-fill $DIR
    sleep $INT
done
exit 0

 


Y3HGA-H

Hors ligne

#16 23-01-2017 09:01:47

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Afficher une image différente à heures précises

Thuban a écrit :

Au passage, feh est capable de choisir tout seul une image au hasard. Voilà le script que j'utilise, seule la commande avec feh t'intéressera :


#!/bin/sh
DIR=~/Images/Wallpapers
# temps de rotation des images en secondes
INT="600"

while true; do
    feh -q -r -z --bg-fill $DIR
    sleep $INT
done
exit 0

 



Merci Thuban,
je connais un script équivalent venant de la cave d'arpinux wink J'en ai un autre que j'utilise avec conky avec un petit effet "convert" pour afficher des peintures célèbres (au hasard) sur mon bureau, c'est un peu comme dans un musée dans mon salon tongue Si ça interresse je poste. ++ guyz

Hors ligne

#17 23-01-2017 13:00:50

Thuban
Modérateur
Distrib. : OpenBSD
Noyau : current
(G)UI : xfce ou dwm
Inscription : 09-01-2009
Site Web

Re : Afficher une image différente à heures précises

Vazy fait péter! smile

Y3HGA-H

Hors ligne

#18 23-01-2017 13:58:03

ragamatrix
Membre
Lieu : e@rth
Distrib. : Debian GNU/Linux testing (buster) + bunsenlabs
Noyau : 4.11.0-1-amd64
(G)UI : openbox
Inscription : 12-07-2016

Re : Afficher une image différente à heures précises

bon je ne sais pas coder, j'ai juste modifié 2/3 trucs... donc c'est peut-être pour vous un peu crade et bordélique... big_smile
mettre ce dossier dans ~/.conky ensuite adaptez les chemins si-besoin... Il y a beaucoup de tableaux (c'est lourd) vous pouvez rajouter ou supprimer selon vos goûts artistiques...
enjoye: https://framadrop.org/r/HSpQUvYNsp#YcL8 … j3DyuGD6Y=

Hors ligne

Pied de page des forums