Feh

Feh est un logiciel d'affichage et de manipulations d'images, léger et rapide, extrêmement configurable. Il est destiné principalement à être appelé en console, mais possède tout de même un petit menu (clic droit) pour réaliser quelques opérations sur l'image.

Il permet d'afficher des images stockées en local ou sur internet (par url).

Il permet soit d'afficher des images à l'écran, soit d'afficher un papier peint en fond d'écran.

Il vous suffit d'installer le paquet feh.

Vous pouvez trouver toutes les options en tapant man feh dans un terminal.

  • L'option -F permet pour toutes les commandes suivantes d'être directement en plein écran,
  • L'option -g permet de forcer la géométrie de la fenêtre de résultat. Exemple : feh -g 640x480 *.jpg,
  • L'option --bg-scale ou --bg-fill permet d'afficher un fichier en fond d'écran (papier peint),
  • L'option -z fait un tirage aléatoire d'image au sein d'un répertoire (utile pour les papiers peints),
  • L'option -r va utiliser un répertoire indiqué et tous ses sous répertoires (-r signifie "récursif").

Pour afficher une seule image à l'écran :

feh ~/répertoire-Images/nom_de_l'image.jpg

Pour obtenir un diaporama :

feh image1 image2 image3...

ou :

feh ~/repertoire-images/

(puis faire défiler avec la molette) ou :

feh -r ~/repertoire-images/   #avec recherche dans les sous dossiers

Pour obtenir un diaporama en plein écran, changeant aléatoirement de photo toutes les 5 secondes:

feh -F -z -D 5 dossier_1 dossier_2 ... dossier_X

Ou bien obtenir des miniatures des images :

feh -i image1 image2 image3...

ou :

feh -i dossier

Ou encore obtenir des minatures cliquables des images d'un dossier (clic=agrandissement) :

feh -t dossier

Pour charger les images d'un dossier et avoir une ouverture plus rapide des images :

feh -p dossier

Pour obtenir un fond d'écran:

feh --bg-scale ~/répertoire-Images/fichier.jpg

Ou un fond d'écran aléatoire:

feh --bg-scale -z ~/répertoire-Images/

Ou encore un fond d'écran aléatoire tiré d'un répertoire et de ses sous-répertoires :

feh --bg-scale -r -z ~/répertoire-Images/

Papier peint changé à chaque démarrage d'Openbox

Pour lancer automatiquement feh comme gestionnaire de fonds d'écran au démarrage d'openbox, avec tirage aléatoire d'une nouvelle image à chaque démarrage, ajouter dans le fichier ~/.config/openbox/autostart la ligne:

feh --bg-scale -z -r ~/repertoire-image/ &

Si vous préférez toujours avec la même image:

feh --bg-scale ~/repertoire-image/image &

Papier peint changé à un intervalle prédéfini

Ci-dessous 2 exemples de scripts, qui changent le papier peint à un intervalle donné. Dans les 2 cas :

  • Créez le fichier wallpaper.sh,
  • Copiez-y le texte du script de votre choix (voir plus bas),
  • Indiquez le nom du dossier avec vos images, et le délai entre 2 changements de papiers peints,
  • Enregistrez le dans le dossier de votre choix,
  • Rendez votre fichier éxécutable,
  • Lancez le script wallpaper.sh au démarrage comme expliqué ici. La ligne à ajouter sera:
wallpaper.sh &**

Voici une proposition de contenu pour deux scripts, un script très simple à mettre dans le fichier wallpaper.sh:

#!/bin/bash
while :			#début de la boucle sans fin
  do
       feh --bg-scale -r -z ~/Images/     #tirage aléatoire d'un papier-peint dans le répertoire /Images/ ET ses sous-répertoires
       sleep 60		    #nombre de secondes entre 2 changements de papier-peint
 done			#fin de la boucle sans fin

Un autre faisant la même chose, mais un peu plus complexe, avec certains contrôles :

#!/bin/bash -u
 
#Description: Ce script requiert feh sur votre machine, il changera votre fond d'écran openbox (ou autre) automatiquement toutes les 400 secondes
#Author: Millien Marc
#Date: 2 mars 2008
 
#On vérifie l'existence du répertoire Images/Fonds
if [ -d ~/Images/Wallpapers/ ] ; then
  cd ~/Images/Wallpapers/
  #On compte le nombre de fichiers
  _fics=`ls | grep -E "*.(png|jpg)" | wc -l`
 
  #S'il y a plus d'un fichier c'est parti
  if [ ${_fics} -gt 0 ] ; then
 
   #On vérifie que le script ne tourne pas déjà
   _ps=`ps aux`
   _pid=`echo "${_ps}" | grep $0 | tr -s [:space:] | cut -d' ' -f2`
   _lines=`echo "${_pid}" | wc -w`
 
   if [ ${_lines} -gt 1 ]; then
    _pid=`echo ${_pid} | cut -d' ' -f1`
    echo "Un script en trop, on le kill (pid: ${_pid})"
    kill ${_pid}
   fi
 
   #Boucle de fonctionnement
   while true; do
 
    #On sélectionne un fichier au hasard
    _nombre=$RANDOM
    _nombre=`expr ${_nombre} % ${_fics}`
    if [ ${_nombre} -eq 0 ] ; then
     _nombre=1
    fi
    _image=`ls | grep -E "*.(png|jpg)" | head --lines=${_nombre} | tail -1`
 
    #On affiche le fichier
    sleep 20
    feh --bg-scale "${HOME}/Images/Wallpapers/${_image}"
    sleep 400
    _fics=`ls | grep -E "*.(png|jpg)" | wc -l`
   done
  else
   echo "Veuillez placer des fichiers images dans le répertoire ${HOME}/Images/Wallpapers !"
  fi
else
  echo "Veuillez créer le répertoire ${HOME}/Images/Wallpapers et y placer vos fonds d'écran !"
fi

Créer une action diaporama sous Thunar

Rendez-vous dans le menu "Edition" → configuration des actions personnalisées:

  • Dans "commande", mettez :

feh -F %f dans l'onglet suivant choisir "dossier" comme condition.

Pour supprimer cette application, il suffit de supprimer son paquet.


Contributeurs : Kanor, tshirtman, fnx, L'Africain .

  • feh.txt
  • Dernière modification: Le 11/09/2022, 11:48
  • par moths-art