Question:
Désactiver le masquage d'écran dans X-Windows sur Raspbian
Salim Fadhley
2012-10-01 17:55:12 UTC
view on stackexchange narkive permalink

Nous avons l'intention d'utiliser un RPi au travail pour piloter un panneau d'affichage d'état - il affichera l'état du bogue de notre projet et quelques autres statistiques d'importance vitale.

J'ai essayé d'arrêter l'écran- économiseur de masquer l'écran sans succès. J'ai utilisé les formules suivantes:

Je peux lancer le démarrage automatique de Chromium en mode kiosque (j'ai utilisé un élément dans .config / autostart ), mais je ne peux pas arrêter le effacement d'écran. X-Windows ne semble pas répondre au fichier .xinitrc . J'ai essayé d'éditer ce fichier sur l'utilisateur par défaut ( pi ) et aussi root . Rien ne semble faire de différence pour l'économiseur d'écran.

Quelqu'un a-t-il réussi à arrêter la suppression d'écran sur Raspbian? Existe-t-il une option d'interface utilisateur ou même un fichier de configuration qui me permettra de modifier définitivement le délai d'expiration de l'écran de veille?

Je pense que certains de ces guides ont pu être testés sur d'autres systèmes d'exploitation RPi. Se pourrait-il qu'en utilisant le plus récent Raspbian, je doive adopter une approche différente pour empêcher le masquage d'écran?

UPDATE 0 : La commande xset est capable de arrêter le masquage de l'écran lorsqu'il est saisi directement (via sudo ) depuis le xterm . Il ne fonctionne pas lorsqu'il est exécuté à partir du fichier .xinitrc . Étant donné que la machine se connecte automatiquement en tant qu'utilisateur " pi ", comment puis-je m'assurer que ces commandes sont exécutées en tant que root à chaque fois que xwindows se déclenche.

Cette machine doit pouvoir fonctionner sans surveillance comme une sorte de kiosque. Une fois qu'il sera en place (ce sera un écran mural sans clavier ni souris fixés en permanence), la seule façon de le configurer est via ssh .

Vous devriez essayer d'exécuter les trois commandes données (xset s off; xset -dpms; xset s noblank) à partir d'un terminal démarré dans la session X-Windows. Si l'écran reste vide, votre problème est que les commandes ne sont pas suffisantes pour empêcher l'écran de s'effacer. Si l'écran ne se vide pas, votre problème est simplement de faire exécuter correctement ces commandes dans votre session X-window.
J'ai exécuté ces commandes en tant que root à partir du terminal réel - le résultat était que la suppression d'écran était désactivée. Cela signifie que le .xinitrc n'était pas en cours d'exécution ou avec des autorisations insuffisantes au moment où la commande a été exécutée. Aucune suggestion?
J'ai ajouté une réponse avec la suggestion.
J'ai réussi à faire fonctionner cela en faisant tout (sauf en ajoutant le fichier .xinitrc) dans les deux liens que vous avez fournis et cela fonctionne pour moi.
«J'ai résolu ce problème en installant xscreensaver: $ sudo apt-get install xscreensaver Et en le désactivant depuis les paramètres de l'économiseur d'écran. Ce n'est pas la solution la plus élégante, mais cela a fonctionné pour moi.» C'était la seule façon de le faire fonctionner. Merci pour le conseil!
Six réponses:
#1
+40
Steve Robillard
2012-10-04 08:59:41 UTC
view on stackexchange narkive permalink

Vous pouvez entrer les trois commandes xset suivantes

  xset s off # ne pas activer screensaverxset -dpms # disable DPMS (Energy Star) features.xset s noblank # ne pas effacer le appareil vidéo  

dans le fichier

/etc/X11/xinit/xinitrc

(Vous devez insérer ces après la première ligne).

[L'élève devient enseignant?] (Http://raspberrypi.stackexchange.com/q/752/40);)
Par défaut, xset n'est pas installé, il ne peut donc pas être exécuté. Vous devez installer x11-xserver-utils pour avoir une application xset exécutable.
Je ne sais pas quelle version ou quel système d'exploitation vous utilisez, mais xset a été installé sur le mien. Cela n'a cependant pas semblé faire quoi que ce soit pour moi.
@JasonGoemaat, essayez l'une des autres réponses car c'était ce qui fonctionnait il y a plus de 4 ans.
Sur un pi sans tête, sur ssh (lorsque vous savez quel affichage est en cours d'exécution), ajoutez explicitement le numéro d'affichage, par exemple. `xset -dpms -display: 0` ... gain de temps ...
#2
+27
DerDirektor
2012-10-05 21:25:03 UTC
view on stackexchange narkive permalink

J'ai eu le même problème. Sur le forum Raspberry Pi, j'ai trouvé ceci:

Vous devez éditer votre script qui démarre X. Dans la version par défaut avec lightdm, le fichier à éditer est

/etc/lightdm/lightdm.conf

dans la section SeatDefaults, il donne la commande de démarrage du serveur X que j'ai modifié pour le faire désactiver l'économiseur d'écran ainsi que dpms

[SeatDefaults]
xserver-command = X -s 0 -dpms

Cela a bien fonctionné pour moi - plus d'écran vide!

Cela fonctionne sur le Pi 3! Infiniment reconnaissant!
Cela a toujours fonctionné pour moi sur PI 2 et PI 3. Toutes les autres réponses suggérées par d'autres pour cette question NE FONCTIONNENT PAS POUR MOI.
J'ai utilisé l'image Debian Jessie Lite (02/03/2017) mais je n'ai pas le dossier lightdm?! Avoir installé le gestionnaire de fenêtres matchbox (pas LXDE)
#3
+19
Miles Hayler
2013-04-04 19:15:10 UTC
view on stackexchange narkive permalink

J'ai résolu ce problème en installant xscreensaver via

  $ sudo apt-get install xscreensaver  

et en le désactivant depuis les paramètres de l'écran de veille. Ce n’est pas la solution la plus élégante, mais cela a fonctionné pour moi.

Cette réponse est géniale. Aucune des solutions de fichiers texte n'a fonctionné pour moi. Pas élégant? Je ne suis pas d'accord. Ce paquet sera toujours à jour avec les mises à jour d'apt-get, donc je n'ai pas à le maintenir pour qu'il fonctionne. Et, en prime, je peux utiliser un économiseur d'écran maintenant. Merci, Miles.
Je ne sais pas pourquoi, mais j'ai essayé cette réponse et la console m'a dit qu'elle ne pouvait pas récupérer certains fichiers du référentiel. Donc, il a arrêté l'installation. J'essaye même d'installer xscreensaver en utilisant le programme d'ajout / suppression. Toujours le même résultat. Cela peut avoir fonctionné au début.
Cela a fonctionné pour moi sur Raspberry Pi 3. Il l'a également mis dans le menu principal sous Préférences.
C'est ce que j'ai fait. Je pense que c'est le plus élégant. Au lieu de gaspiller des fichiers, c'est juste là dans l'interface graphique. Ensuite, si je n'en veux pas, je le mets simplement sur "Pas d'économiseur d'écran" et si je ne veux pas de suppression, je le mets à 0 ou à 999. J'ai une poignée de systèmes et quand j'en ajoute un nouveau Il est beaucoup plus facile de se souvenir d'un paramètre selon lequel les fichiers doivent être modifiés.
2018, et c'est toujours la solution la plus propre. Confirmé sur Raspberry Pi 3B +
Je lance chrome directement depuis la ligne de commande via X (pas de gestionnaire de fenêtres). Je suis curieux de savoir si cette solution fonctionnerait, mais je ne suis pas sûr de savoir comment désactiver xscreensaver sans avoir un gestionnaire de bureau / fenêtre à utiliser pour le configurer. Peut-être que je cherche les mauvais termes mais que je n'ai pas trouvé beaucoup d'informations sur la façon de le désactiver via la ligne de commande / l'édition d'un fichier de configuration.
Fonctionne pour moi sur Raspbian Buster: `echo" mode: off "> /home/pi/.xscreensaver && sudo apt-get install xscreensaver -y && sudo reboot`
C'est la méthode [documentée sur le site officiel de Raspberry Pi] (https://www.raspberrypi.org/documentation/configuration/screensaver.md) et c'était la seule réponse qui a fonctionné pour ma configuration.
#4
+9
Maine_guy
2013-02-27 08:04:14 UTC
view on stackexchange narkive permalink

Modifiez / etc / xdg / lxsession / LXDE-pi / autostart et ajoutez ces trois lignes

  @xset s off @ xset -dpms @ xset s noblank  

Déconnectez-vous, connectez-vous, vérifiez que cela fonctionne avec

  xset -q  
Cela n'a pas fonctionné pour moi. J'avais également commenté la ligne \ @xscreensaver qui se trouvait dans ce fichier. Quand j'ai lancé xset -q (merci pour cette suggestion!), J'ai vu que mes lignes xset n'avaient eu aucun effet. J'ai essayé de décommenter la ligne \ @xscreensaver et j'ai redémarré et je peux voir que les lignes xset ont pris effet, mais bien que cela arrête le démarrage de DPMS, l'économiseur d'écran démarre maintenant après 10 minutes.
Veuillez noter que j'ai approuvé une modification (de [Kaarel Kitsemets] (http://raspberrypi.stackexchange.com/users/28504/kaarel-kitsemets)) qui a changé le chemin de `LXDE / autostart` à` LXDE-pi / autostart` , mais comme je ne suis pas un utilisateur LXDE, je ne suis pas certain que ce soit correct.
#5
+2
Nakedible
2012-10-01 20:35:59 UTC
view on stackexchange narkive permalink

Comme il a été précisé dans un commentaire que les commandes fonctionnent tout en étant exécutées à partir d'un terminal, mais pas à partir de .xinitrc, et que Chromium est démarré à partir de .config / autostart / , je suggérerais ce qui suit:

Créez un script shell disableblank.sh qui exécute les commandes xset et ajoutez une entrée dans .config / autostart / appelant ce script. De cette façon, tout est démarré avec la même méthode et les deux fonctionnent ou aucune ne fonctionne.

De plus, ces commandes affectent la session X window en cours d'exécution et sont configurables par l'utilisateur. Ils ne doivent pas être exécutés en tant que root, mais l'utilisateur Chromium s'exécute en tant que.

Ne sachant pas exactement comment vous démarrez votre X, ou d'autres détails, c'est probablement le moyen le plus sûr - bien qu'il y ait probablement un moyen plus simple manière.

#6
+2
lornix
2013-07-22 10:00:46 UTC
view on stackexchange narkive permalink

C'est le blanking de la console qui démarre.

J'ai essayé plusieurs méthodes suggérées, mais celle qui a fonctionné pour moi était de modifier /etc/rc.local et d'ajouter une commande setterm -blank 0:

  setterm -blank 0  

Le fichier ressemble donc à ceci après:

  #! / bin / sh - e ## rc.local ## Ce script est exécuté à la fin de chaque niveau d'exécution multi-utilisateur. # Assurez-vous que le script "quittera 0" en cas de succès ou toute autre valeur # en cas d'erreur. ## Pour activer ou désactiver ce script il suffit de changer l'exécution # bits. ## Par défaut, ce script ne fait rien. # désactiver la console blankingsetterm -blank 0 # Imprimer l'adresse IP_IP = $ (hostname -I) || trueif ["$ _IP"]; then printf "Mon adresse IP est% s \ n" "$ _IP" fiexit 0  

(fichier entier ici pour montrer exactement où je l'ai mis)

Essentiellement, la commande setterm -blank 0 définit la période de suppression du terminal à 0 seconde (désactivé), désactivant la suppression qui se produit habituellement. rc.local est exécuté à la fin du processus de démarrage avec les privilèges root donc il affecte toutes les consoles physiques (les sorties HDMI TV & ici)

Vous pouvez également modifier la commande pour inclure la désactivation du curseur ( pas le pointeur de la souris, curseur de texte dans la console):

  setterm -blank 0 -cursor off  

J'ai posté plus à ce sujet sur quelques autres questions, mais cela devrait résoudre votre problème sans recourir à des mesures drastiques.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...