Frage:
Deaktivieren Sie die Bildschirmausblendung in X-Windows unter Raspbian
Salim Fadhley
2012-10-01 17:55:12 UTC
view on stackexchange narkive permalink

Wir beabsichtigen, ein RPi bei der Arbeit zu verwenden, um ein Statusanzeigefeld zu steuern. Es zeigt den Fehlerstatus unseres Projekts und einige andere Statistiken von entscheidender Bedeutung an.

Ich habe versucht, den Bildschirm anzuhalten. Sparen Sie es, den Bildschirm ohne Glück auszublenden. Ich habe die folgenden Formeln verwendet:

Ich kann Chromium im Kiosk-Modus automatisch starten lassen (ich habe ein Element in .config / autostart verwendet), aber ich kann das nicht stoppen Bildschirmausblendung. X-Windows scheint nicht auf die Datei .xinitrc zu reagieren. Ich habe versucht, diese Datei auf dem Standardbenutzer ( pi ) und auch auf root zu bearbeiten. Für den Bildschirmschoner scheint nichts einen Unterschied zu machen.

Hat es jemand geschafft, das Ausblenden des Bildschirms auf Raspbian zu stoppen? Gibt es eine UI-Option oder sogar eine Konfigurationsdatei, mit der ich das Zeitlimit für Bildschirmschoner dauerhaft ändern kann?

Ich gehe davon aus, dass einige dieser Handbücher möglicherweise auf anderen RPi-Betriebssystemen getestet wurden. Könnte es sein, dass ich mit dem neueren Raspbian einen anderen Ansatz wählen muss, um das Ausblenden des Bildschirms zu verhindern?

UPDATE 0 : Der Befehl xset kann dies Beenden Sie das Ausblenden des Bildschirms, wenn Sie direkt (über sudo ) vom xterm eingegeben werden. Es funktioniert nicht, wenn es aus der Datei .xinitrc ausgeführt wird. Wie kann ich sicherstellen, dass diese Befehle bei jedem Start von xwindows als root ausgeführt werden, da sich der Computer automatisch als Benutzer " pi " anmeldet?

Dieser Computer muss unbeaufsichtigt als eine Art Kiosk ausgeführt werden können. Sobald es installiert ist (es wird ein an der Wand montiertes Display ohne fest angeschlossene Tastatur oder Maus sein), können wir es nur über ssh konfigurieren.

Sie sollten versuchen, die drei angegebenen Befehle (xset s off; xset -dpms; xset s noblank) von einem in der X-Windows-Sitzung gestarteten Terminal aus auszuführen. Wenn der Bildschirm immer noch leer ist, reichen die Befehle nicht aus, um das Ausblenden des Bildschirms zu verhindern. Wenn der Bildschirm nicht leer ist, besteht Ihr Problem darin, dass diese Befehle in Ihrer X-Window-Sitzung ordnungsgemäß ausgeführt werden.
Ich habe diese Befehle als root vom eigentlichen Terminal ausgeführt - das Ergebnis war, dass die Bildschirmausblendung deaktiviert war. Dies bedeutet, dass die .xinitrc-Datei zum Zeitpunkt der Befehlsausführung nicht ausgeführt wurde oder nicht über ausreichende Berechtigungen verfügt. Irgendwelche Vorschläge?
Ich habe eine Antwort mit dem Vorschlag hinzugefügt.
Ich habe dies zum Laufen gebracht, indem ich alles (außer das Hinzufügen der .xinitrc-Datei) in beiden von Ihnen angegebenen Links getan habe und es für mich funktioniert.
"Ich habe dieses Problem behoben, indem ich xscreensaver installiert habe: $ sudo apt-get install xscreensaver und deaktiviere es in den Bildschirmschoner-Einstellungen. Nicht die eleganteste Lösung, aber für mich funktioniert." Nur so konnte ich es zum Laufen bringen. Danke für den Tipp!
Sechs antworten:
#1
+40
Steve Robillard
2012-10-04 08:59:41 UTC
view on stackexchange narkive permalink

Sie können die folgenden drei xset-Befehle eingeben.

  xset s off # Bildschirmschoner nicht aktivieren -dpms # DPMS (Energy Star) -Funktionen deaktivieren.xset s noblank # nicht ausblenden Videogerät  

in die Datei

/etc/X11/xinit/xinitrc

(Sie sollten diese einfügen nach der ersten Zeile).

[Schüler wird Lehrer?] (Http://raspberrypi.stackexchange.com/q/752/40);)
Standardmäßig ist xset nicht installiert und kann daher nicht ausgeführt werden. Sie müssen x11-xserver-utils installieren, damit Sie eine ausführbare xset-App haben.
Ich bin mir nicht sicher, welche Version oder welches Betriebssystem Sie verwenden, aber xset wurde auf meinem installiert. Dies schien jedoch nichts für mich zu tun.
@JasonGoemaat, versuchen Sie eine der anderen Antworten, da dies vor mehr als 4 Jahren funktioniert hat.
Fügen Sie auf einem kopflosen pi über ssh (wenn Sie wissen, welche Anzeige ausgeführt wird) die Anzeigenummer explizit hinzu, z. `xset -dpms -display: 0` ... Zeitersparnis…
#2
+27
DerDirektor
2012-10-05 21:25:03 UTC
view on stackexchange narkive permalink

Ich hatte das gleiche Problem. Im Himbeer-Pi-Forum habe ich Folgendes gefunden:

Sie müssen Ihr Skript bearbeiten, das X startet. Im Standard-Build mit lightdm lautet die zu bearbeitende Datei

/etc/lightdm/lightdm.conf

Im Abschnitt SeatDefaults wird der Befehl zum Starten des X-Servers angegeben, den ich geändert habe, um den Bildschirmschoner auszuschalten sowie dpms

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

Das hat bei mir gut funktioniert - kein leerer Bildschirm mehr!

Dies funktioniert auf dem Pi 3! Herzlichen Dank!
Dies hat bei PI 2 und PI 3 immer für mich funktioniert. Alle anderen Antworten, die von anderen für diese Frage vorgeschlagen wurden, haben bei mir nicht funktioniert.
Ich habe das Debian Jessie Lite-Image (02.03.2017) verwendet, aber ich habe keinen lightdm-Ordner?! Habe Matchbox Window Manager installiert (nicht LXDE)
#3
+19
Miles Hayler
2013-04-04 19:15:10 UTC
view on stackexchange narkive permalink

Ich habe dieses Problem behoben, indem ich xscreensaver über

  $ sudo apt-get install xscreensaver  

installiert und in den Bildschirmschonereinstellungen deaktiviert habe. Nicht die eleganteste Lösung, aber es hat bei mir funktioniert.

Diese Antwort ist großartig. Keine der Textdateilösungen hat bei mir funktioniert. Nicht elegant? Ich stimme dir nicht zu. Dieses Paket wird immer mit apt-get-Upgrades auf dem neuesten Stand sein, sodass ich es nicht warten muss, damit es funktioniert. Und als Bonus kann ich jetzt einen Bildschirmschoner verwenden. Danke, Miles.
Ich weiß nicht warum, aber ich habe diese Antwort versucht und die Konsole hat mir mitgeteilt, dass einige Dateien nicht aus dem Repository abgerufen werden können. Also wurde die Installation beendet. Ich versuche sogar, xscreensaver mit dem Programm add / remove zu installieren. Immer noch das gleiche Ergebnis. Dies könnte am Anfang funktioniert haben.
Dies funktionierte für mich auf Raspberry Pi 3. Es wurde auch in das Hauptmenü unter "Einstellungen" aufgenommen.
Das habe ich getan. Ich finde es am elegantesten. Anstatt mit Dateien zu fummeln, ist es genau dort in der GUI. Wenn ich dann keinen möchte, setze ich ihn einfach auf "Kein Bildschirmschoner" und wenn ich keine Austastung möchte, setze ich ihn entweder auf 0 oder auf 999. Ich habe eine Handvoll Systeme und wenn ich einen neuen hinzufüge Es ist viel einfacher, sich an eine Einstellung zu erinnern, welche Dateien geändert werden müssen.
2018, und dies ist immer noch die sauberste Lösung. Bestätigt auf Raspberry Pi 3B +
Ich starte Chrom direkt von der Kommandozeile über X (kein Fenstermanager). Ich bin gespannt, ob diese Lösung funktionieren würde, bin mir aber nicht sicher, wie ich xscreensaver deaktivieren kann, ohne einen Desktop- / Fenstermanager für die Konfiguration zu haben. Vielleicht suche ich nach den falschen Begriffen, konnte aber nicht viele Informationen darüber finden, wie man sie über die Befehlszeile deaktiviert / eine Konfigurationsdatei bearbeitet.
Funktioniert für mich auf Raspbian Buster: `echo" mode: off "> /home/pi/.xscreensaver && sudo apt-get install xscreensaver -y && sudo reboot`
Dies ist die Methode [dokumentiert auf der offiziellen Raspberry Pi-Website] (https://www.raspberrypi.org/documentation/configuration/screensaver.md) und war die einzige Antwort, die für mein Setup funktioniert hat.
#4
+9
Maine_guy
2013-02-27 08:04:14 UTC
view on stackexchange narkive permalink

Bearbeiten Sie / etc / xdg / lxsession / LXDE-pi / autostart und fügen Sie diese drei Zeilen hinzu.

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

Abmelden, anmelden, überprüfen, ob es mit

  xset -q  
funktioniert
Das hat bei mir nicht funktioniert. Ich hatte auch die Zeile \ @xscreensaver auskommentiert, die sich in dieser Datei befand. Als ich xset -q ausführte (danke für diesen Vorschlag!), Sah ich, dass meine xset-Linien keine Wirkung hatten. Ich habe versucht, die \ @xscreensaver-Zeile zu kommentieren und neu zu starten, und ich kann sehen, dass die xset-Zeilen wirksam wurden, aber während dies das Einsetzen von DPMS stoppt, startet der Bildschirmschoner jetzt nach 10 Minuten.
Bitte beachten Sie, dass ich eine Bearbeitung genehmigt habe (von [Kaarel Kitsemets] (http://raspberrypi.stackexchange.com/users/28504/kaarel-kitsemets)), die den Pfad von "LXDE / autostart" zu "LXDE-pi / autostart" geändert hat , aber da ich kein LXDE-Benutzer bin, bin ich mir nicht sicher, ob dies korrekt ist.
#5
+2
Nakedible
2012-10-01 20:35:59 UTC
view on stackexchange narkive permalink

Da in einem Kommentar klargestellt wurde, dass die Befehle von einem Terminal aus ausgeführt werden, jedoch nicht von .xinitrc, und dass Chromium von .config / autostart / gestartet wird, würde ich vorschlagen Folgendes:

Erstellen Sie ein Shell-Skript disableblank.sh , das die xset-Befehle ausführt, und fügen Sie einen Eintrag in .config / autostart / hinzu, der dieses Skript aufruft. Auf diese Weise wird alles mit derselben Methode gestartet und entweder funktionieren beide oder keine.

Diese Befehle wirken sich auch auf die aktuell ausgeführte X-Fenstersitzung aus und können vom Benutzer konfiguriert werden. Sie sollten nicht als root ausgeführt werden, aber der Benutzer Chromium wird als ausgeführt.

Da Sie nicht genau wissen, wie Sie Ihr X starten, oder andere Details, ist dies wahrscheinlich der sicherste Weg - obwohl es wahrscheinlich einen einfacheren gibt Weg.

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

Es ist die Konsolenausblendung, die einsetzt.

Ich habe mehrere vorgeschlagene Methoden ausprobiert, aber die für mich funktionierende war, /etc/rc.local zu bearbeiten und einen Befehl setterm -blank 0 hinzuzufügen:

  setterm -blank 0  

Die Datei sieht danach folgendermaßen aus:

  #! / bin / sh - e ## rc.local ## Dieses Skript wird am Ende jedes Mehrbenutzer-Runlevels ausgeführt. # Stellen Sie sicher, dass das Skript bei Erfolg "0" beendet oder bei einem Fehler einen anderen # Wert. ## Um dieses Skript zu aktivieren oder zu deaktivieren Ändern Sie einfach die Ausführungsbits. ## Standardmäßig führt dieses Skript nichts aus. # Deaktivieren Sie den Konsolen-Blankingsetterm -blank 0 # Drucken Sie die IP-Adresse_IP = $ (Hostname -I) || trueif ["$ _IP"]; dann printf "Meine IP-Adresse ist% s \ n" "$ _IP" fiexit 0  

(gesamte Datei hier, um genau zu zeigen, wo ich sie abgelegt habe)

Im Wesentlichen Der Befehl setterm -blank 0 setzt die Austastzeit des Terminals auf 0 Sekunden (aus) und deaktiviert die normalerweise auftretende Austastung. rc.local wird am Ende des Startvorgangs mit Root-Rechten ausgeführt, sodass alle physischen Konsolen (hier die HDMI-Ausgänge des TV &) betroffen sind.

Sie können den Befehl auch so ändern, dass der Cursor ausgeschaltet wird ( nicht der Mauszeiger, Textcursor in der Konsole):

  setterm -blank 0 -cursor aus  

Ich habe auf einigen anderen mehr dazu gepostet Fragen, aber dies sollte Ihr Problem beheben, ohne drastische Maßnahmen zu ergreifen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...