Outils pour utilisateurs

Outils du site


scripts-php-bash:hourwallpaper

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

scripts-php-bash:hourwallpaper [2019/07/17 19:24]
scripts-php-bash:hourwallpaper [2019/07/17 19:24] (Version actuelle)
Ligne 1: Ligne 1:
 +Script bash. A positionner sur un cron.
  
 +<code bash>#!/bin/sh
 +#
 +# cyrille <cyrille@cbiot.fr>
 +# Licence GPL
 +#
 +# BUT : que le fond d'écran change toutes les heures
 +# en fonction d'image situées dans un dossier prédéfini
 +# 24 images. Une par heure
 +# 00.png pour 00 heure à 23.png pour 24 heures
 +#
 +#
 +# ===================================
 +# Declaration des variables
 +# emplacement de stockage des images
 +  imgStock=/home/serveur/Images
 +  defExtension=png
 +# ===================================
 +#
 +#
 +#
 +# A positionner sur un cron, sur chaque heure
 +# A lancer au démarrage de la session
 +# Si hibernation ou veille, à configurer via pm-utils
 +#
 +
 +# =================================================================
 +
 +# Gestion de la variable d'environnement DBUS_SESSION_BUS_ADDRESS
 +# =================================================================
 +
 +# Decommenter cette ligne si Mint 18
 +  export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pidof -s xfce4-session)/environ |cut -d"=" -f2-)
 +
 +# Decommenter cette ligne si MINT 19
 +# export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u)/bus"
 +
 +# Compteur initialisé
 +  cmptImg=0
 +
 +
 +# Ce répertoire doit contenir 24 images numérotées de 00 à 23
 +  echo "Test de la validité du répertoire"
 +  nbImgRep=`ls -1 $imgStock | wc -l`
 +  echo "Il y $nbImgRep  fichiers dans le répertoire. OK"
 +
 +
 +# Test Nombre exact d'image dans le répertoire
 +  if [ $nbImgRep = 24 ]; then
 +     echo "Nombre d'images dans rep stockage : OK"
 +     else
 +     echo "Nombre d'images dans rep stockage : NOT OK"
 +     echo "Le répertoire doit contenir 24 images."
 +     echo "Vérifier qu'il y ait bien 24 fichiers de type $defExtension"
 +     exit
 +  fi
 +
 +
 +# TEST DE LA PRESENCE DES 24 IMAGES AVEC BON NOMMAGE
 +  for file in `ls -1 $imgStock`
 +      do
 +        # Analyse du nom du fichier. Séparation nom / extension  
 +        fullfilename=$(basename $file)
 +        extension=${fullfilename##*.}
 +        filename=${fullfilename%.*}
 + 
 +      # Test : image 00 pour 00, à 23 pour 23 H....
 +        if [ "$cmptImg" -eq "$filename" ] ; then
 +           echo "Fichier Nom : OK"
 +           else
 +           echo "Problème nom de fichier. L'image doit être au format HH.extension."
 +           echo "Exemple : 05.png pour l'image de 5 heures"
 +           exit
 +        fi
 +     
 +      # Test de l'extension.
 +        if [ $extension = $defExtension ] ; then
 +              echo "Extension OK : $extension / $defExtension"
 +        else
 +              echo "Probleme extension."
 +              echo "Mettre des images au format $defExtension"
 +              exit
 +        fi
 +
 +      # DEBUG
 +        echo "fichier : $file ; Son extension : $extension "
 +        echo $cmptImg
 +   
 +      # Image / fichier suivant(e)
 +        cmptImg=$(($cmptImg + 1))
 +      done
 +
 +
 +# On adapte le wallpaper en fonction de l'heure
 +  /usr/bin/xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/workspace0/last-image --set $imgStock/`date +%H`.$defExtension
 +
 +echo " `date` : $USER " 
 +echo $USER</code>
scripts-php-bash/hourwallpaper.txt · Dernière modification: 2019/07/17 19:24 (modification externe)