Message d'erreur Feh DISPLAY

Bonjour a tous, pour faire un cadre photo numérique j’ai suivi ce tuto: https://www.framboise314.fr/un-cadre-photo-pour-une-exposition/#Arret_propre_du_systeme.
Tout se passe bien jusqu’à la commande feh -F -z -D 5 /mnt/usb/diaporama. En effet celle ci me retourne: feh error can't open x display. it *is* running yeah.

Auriez vous une solution ?
Pour information, je suis sous Pi OS 64bit Lite sur un Rpi 3b…

Autre question bonus: plus loin dans le tuto on automatise le script au lancement du Rpi hors à chaque démarrage je dois entrer mon login et mdp… Ma question est la suivante: est ce que l’automatisation du script va « outrepasser » l’identification ou est ce que je vais devoir obligatoirement entrer mon login et mdp à chaque démarrage (ce qui compliquerai grandement « l’autonomie » du cadre photo).

Merci d’avance pour votre aide.

Pour l’auto-login, passe par le raspi-config (sudo raspi-config) tu as l’option pour l’autologin.

Si tu passe ta commande feh en SSH, tu dois lui définir l’écran, en ajoutant ceci devant ta commande; display=:0,0, sinon il tente de l’appliquer sur celle du terminal SSH.

Sinon, dans le config.txt (dans le /boot), ajoute ceci; disable_overscan=1 (selon un forum avec ton message d’erreur).

Je teste ça dès que possible, merci ! :smiley:

Alors pour l’auto-loggin c’est ok : merci !

Par contre « disable_overscan=1 » est déjà présent dans config.txt. :face_with_diagonal_mouth:
Une autre piste ?

As tu essayé avec le DISPLAY=:0 devant la commande ?

Non mais j’essaierai demain, merci je te tiens au courant

DISPLAY=:0 feh -F -z -D 5 /mnt/usb/diaporama : Même erreur
DISPLAY=:0 : rien

Cette erreur indique que le program « feh » n’arrive pas à utiliser l’affichage graphique; le bureau (X Server).

le DISPLAY=:0 force la commande à ce lancer sur l’écran 0 (#1, sortie HDMI ou quivalent) , mais pour que « feh » apparaisse, il faut un bureau (shell) comme le X Server (Xorg). Alors si sur l’écran #1 tu est en ligne de commande (CLI), il faut démarrer (installer) le serveur X pour générer le bureau de base (l’environnement graphique, GUI) pour que feh puisse l’utiliser.


Si besoin, sert toi du début de ce guide pour installer un serveur X de base;
https://levelkro.xyz/wiki/RPi-Chromium_Kiosk_Mode

J’avoue que j’ai pas tout compris mais tu me conseilles de suivre le tuto c’est ça ? :sweat_smile:

Si tu n’as pas tous compris, je vais réexpliquer car je ne veux pas te mêler plus.

FEH à besoin d’un environnement graphique (GUI), cet environnement est rendu possible par la présence d’un Bureau (Shell), sous WIndows par exemple, c’est ce qui permet d’avoir le « wallpaper », les icones du bureau et le menu démarré.

Si tu lance le programme en ligne de commande (CLI), (ce que la version Lite fait) tu n’a pas d’interface graphique (GUI), il faut alors en installer un et le lancer.

Le plus minimaliste est celui que j’install dans mon guide pour le mode Kiosk de Chromium.

Dans ton guide, il montre comment faire ton projet sur la version Desktop/Full de Raspbian, il a donc un bureau de disponible, c’est la version GUI. Toi tu par sur une base CLI (Command Line Interface) et c’est très bien (mieux que leur idée, tu gagne en performances), mais tu dois installer l’interface graphique toi même.

Tu peux suivre mon guide et sauter tout ce qui touche Chromium. pour l’auto-démarrage, tu peux te baser sur ce qui est inscrit, en ajustant avec la réalité de ton projet.

Merci cest effectivement beaucoup plus clair.
Je vais suivre ton tuto en sautant tout ce qui touche a Chromium mais j’espère ne pas trop « sauter » de ligne pour ne pas créer plus de problème :sweat_smile:
Merci pour ton aide en tout cas

Bon j’ai suivi ton guide sauf:

sudo apt-get install --no-install-recommends chromium-browser -y

et

sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' 	~/.config/chromium/Default/Preferences
chromium-browser --disable-infobars --noerrdialogs --incognito --check-for-update-interval=1 --simulate-critical-update --kiosk '[http://localhost]'

mais toujours le même message…

EDIT: et après un redémarrage mon écran reste noir :cold_sweat:

Bon …

MaJ du OS

sudo apt-get update
sudo apt-get update && sudo apt-get upgrade -y

Installation de XOrg comme serveur X

sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox -y

Pour le démarrer…

Si tu es en ligne de commande direct sur le RPi

startx

sinon, via le SSH;

DISPLAY=:0 startx

Tout deviendra noir sur l’écran, c’est normal, car le bureau est chargé.

Après, vu que tu n’as plus accès à la ligne de commande direct, il faut passer en SSH avec cette commande;

DISPLAY=:0 feh -F -z -D 5 /mnt/usb/diaporama
Ou en forçant avec SUDO
DISPLAY=:0 sudo -E feh -F -z -D 5 /mnt/usb/diaporama (tu peux essayer sans le ‹ -E › qui consiste a garder les variables d’environnement dans la commande passer au sudo.

Si tu as encore cette erreur, tu as un gros problème car ce n’est pas supposé ce passer, ton message d’erreur indique qu’il ne peut pas afficher sur l’écran sélectionné.

Si tu ne passe pas par le HDMI, mais un écran tier, peut-être que le rendu est sur le 1 au lieu de 0, alors essais avec;
- DISPLAY=:0,0
- DISPLAY=:0,1
- DISPLAY=:1,0
- DISPLAY=:1,1