Pytanie:
Wyłącz wygaszanie ekranu w X-Windows na Raspbian
Salim Fadhley
2012-10-01 17:55:12 UTC
view on stackexchange narkive permalink

Zamierzamy używać RPi w pracy do sterowania panelem wyświetlania statusu - pokaże on status błędu naszego projektu i kilka innych statystyk o istotnym znaczeniu.

Próbowałem zatrzymać ekran- wygaszacz przed wygaszeniem ekranu bez powodzenia. Użyłem następujących formuł:

Mogę automatycznie uruchamiać Chromium w trybie Kiosk (użyłem elementu w .config / autostart ), ale nie mogę zatrzymać wygaszanie ekranu. Wygląda na to, że X-Windows nie odpowiada na plik .xinitrc . Próbowałem edytować ten plik na domyślnym użytkowniku ( pi ), a także na root . Wydaje się, że nic nie wpływa na wygaszacz ekranu.

Czy komuś udało się zatrzymać wygaszanie ekranu w Raspbian? Czy jest opcja interfejsu użytkownika lub nawet plik konfiguracyjny, który pozwoli mi na stałe zmienić limit czasu wygaszacza ekranu?

Spodziewam się, że niektóre z tych przewodników mogły być testowane w innych systemach operacyjnych RPi. Czy to możliwe, że używając nowszego Raspbian muszę przyjąć inne podejście do zapobiegania wygaszaniu ekranu?

UPDATE 0 : Polecenie xset jest w stanie zatrzymaj wygaszanie ekranu po wprowadzeniu bezpośrednio (przez sudo ) z xterm . Nie działa, gdy jest uruchamiany z pliku .xinitrc . Biorąc pod uwagę, że maszyna loguje się automatycznie jako użytkownik „ pi ”, jak mogę zapewnić, że te polecenia będą wykonywane jako root za każdym razem, gdy uruchomi się xwindows.

Ta maszyna musi mieć możliwość pracy bez nadzoru jako rodzaj kiosku. Po zainstalowaniu (będzie to wyświetlacz naścienny bez podłączonej na stałe klawiatury ani myszy) jedyny sposób, w jaki będziemy mogli go skonfigurować, to ssh .

Powinieneś spróbować uruchomić trzy podane polecenia (xset s off; xset -dpms; xset s noblank) z terminala uruchomionego w sesji X-Windows. Jeśli ekran nadal jest pusty, problem polega na tym, że polecenia nie wystarczają, aby zatrzymać wygaszanie ekranu. Jeśli ekran nie zgaśnie, Twoim problemem jest po prostu prawidłowe wykonanie tych poleceń w sesji X-window.
Uruchomiłem te polecenia jako root z rzeczywistego terminala - w rezultacie wygaszanie ekranu zostało wyłączone. Oznacza to, że plik .xinitrc nie działał lub miał niewystarczające uprawnienia w momencie wykonania polecenia. Jakieś sugestie?
Dodałem odpowiedź z sugestią.
Udało mi się to zrobić, robiąc wszystko (z wyjątkiem dodania pliku .xinitrc) w obu podanych przez Ciebie linkach i działa dla mnie.
„Rozwiązałem ten problem, instalując wygaszacz ekranu: $ sudo apt-get install wygaszacz ekranu i wyłączając go z poziomu ustawień wygaszacza ekranu. Nie jest to najbardziej eleganckie rozwiązanie, ale działa dla mnie”. To był jedyny sposób, w jaki mogłem go uruchomić. Dzięki za wskazówkę!
Sześć odpowiedzi:
#1
+40
Steve Robillard
2012-10-04 08:59:41 UTC
view on stackexchange narkive permalink

Możesz wprowadzić następujące trzy polecenia xset

  xset s off # nie aktywuj wygaszacza ekranu xset -dpms # wyłącz funkcje DPMS (Energy Star). xset s noblank # nie czyść urządzenie wideo  

do pliku

/etc/X11/xinit/xinitrc

(należy je wstawić po pierwszym wierszu).

[Uczeń zostanie nauczycielem?] (Http://raspberrypi.stackexchange.com/q/752/40);)
Domyślnie xset nie jest zainstalowany, więc nie można go uruchomić. Musisz zainstalować x11-xserver-utils, aby mieć wykonywalną aplikację xset.
Nie jestem pewien, jakiej wersji lub systemu operacyjnego używasz, ale xset został zainstalowany na moim. Wydawało się jednak, że to nic dla mnie nie robi.
@JasonGoemaat, wypróbuj jedną z pozostałych odpowiedzi, ponieważ to działało ponad 4 lata temu.
Na bezgłowym pi, nad ssh (jeśli wiesz, który wyświetlacz jest uruchomiony), dodaj jawnie numer wyświetlacza, np. `xset -dpms -display: 0` ... oszczędność czasu…
#2
+27
DerDirektor
2012-10-05 21:25:03 UTC
view on stackexchange narkive permalink

Miałem ten sam problem. Na forum raspberry pi znalazłem to:

Musisz edytować skrypt rozpoczynający się od X. W domyślnej kompilacji z lightdm plik do edycji to

/etc/lightdm/lightdm.conf

w sekcji SeatDefaults podaje polecenie uruchomienia serwera X, który zmodyfikowałem, aby wyłączyć wygaszacz ekranu a także dpms

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

To działało dobrze - koniec z pustym ekranem!

Działa to na Pi 3! Bardzo zobowiązany!
To zawsze działało dla mnie na PI 2 i PI 3. Wszystkie inne odpowiedzi sugerowane przez innych na to pytanie NIE DZIAŁAŁY DLA MNIE.
Użyłem obrazu Debian Jessie Lite (02.03.2017), ale nie mam folderu lightdm ?! Zainstalowałem menedżera okien zapałek (nie LXDE)
#3
+19
Miles Hayler
2013-04-04 19:15:10 UTC
view on stackexchange narkive permalink

Naprawiłem ten problem, instalując xscreensaver przez

  $ sudo apt-get install xscreensaver  

i wyłączając go z poziomu ustawień wygaszacza ekranu. Nie jest to najbardziej eleganckie rozwiązanie, ale zadziałało.

Ta odpowiedź jest niesamowita. Żadne z rozwiązań dotyczących plików tekstowych nie działało dla mnie. Nie eleganckie? Nie zgadzam się. Ten pakiet będzie zawsze aktualny z aktualizacjami apt-get, więc nie muszę go utrzymywać, aby działał. Jako bonus mogę teraz użyć wygaszacza ekranu. Dzięki, Miles.
Nie wiem dlaczego, ale wypróbowałem tę odpowiedź i konsola powiedziała mi, że nie może pobrać niektórych plików z repozytorium. Więc przestał instalować. Próbuję nawet zainstalować wygaszacz ekranu za pomocą programu dodawania / usuwania. Wciąż ten sam wynik. To mogło zadziałać na początku.
To działało dla mnie na Raspberry Pi 3. Umieściło to również w menu głównym w Preferencjach.
To właśnie zrobiłem. Myślę, że jest najbardziej elegancki. Zamiast bawić się plikami, jest w GUI. Jeśli nie chcę jednego, po prostu ustawiam go na „Brak wygaszacza ekranu” i jeśli nie chcę wygaszania, ustawiam go na 0 lub na 999. Mam kilka systemów i kiedy dodam nowy O wiele łatwiej jest zapamiętać ustawienie, które pliki należy zmodyfikować.
2018 i to nadal jest najczystsze rozwiązanie. Potwierdzony na Raspberry Pi 3B +
Uruchamiam chromium bezpośrednio z wiersza poleceń przez X (bez menedżera okien). Jestem ciekawy, czy to rozwiązanie zadziała, ale nie jestem pewien, jak wyłączyć wygaszacz ekranu bez posiadania menedżera pulpitu / okien do jego skonfigurowania. Może szukam niewłaściwych terminów, ale nie mogłem znaleźć wielu informacji o tym, jak to wyłączyć za pomocą wiersza poleceń / edycji pliku konfiguracyjnego.
Działa dla mnie na Raspbian Buster: `echo" mode: off "> /home/pi/.xscreensaver && sudo apt-get install xscreensaver -y && sudo reboot`
To jest metoda [udokumentowana na oficjalnej stronie Raspberry Pi] (https://www.raspberrypi.org/documentation/configuration/screensaver.md) i była jedyną odpowiedzią, która działała dla mojej konfiguracji.
#4
+9
Maine_guy
2013-02-27 08:04:14 UTC
view on stackexchange narkive permalink

Edytuj / etc / xdg / lxsession / LXDE-pi / autostart i dodaj te trzy linie

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

Wyloguj się, zaloguj, sprawdź, czy działa z

  xset -q  
To nie zadziałało dla mnie. Skomentowałem również wiersz \ @xscreensaver, który był w tym pliku. Kiedy uruchomiłem xset -q (dzięki za sugestię!) Zobaczyłem, że moje linie xset nie przyniosły żadnego efektu. Próbowałem odkomentować linię \ @xscreensaver i zrestartowałem i widzę, że linie xset zadziałały, ale chociaż to powstrzymuje uruchomienie DPMS, wygaszacz ekranu uruchamia się teraz po 10 minutach.
Zwróć uwagę, że zaakceptowałem edycję (z [Kaarel Kitsemets] (http://raspberrypi.stackexchange.com/users/28504/kaarel-kitsemets)), która zmieniła ścieżkę z „LXDE / autostart” na „LXDE-pi / autostart” , ale ponieważ nie jestem użytkownikiem LXDE, nie jestem pewien, czy to prawda.
#5
+2
Nakedible
2012-10-01 20:35:59 UTC
view on stackexchange narkive permalink

Ponieważ zostało wyjaśnione w komentarzu, że polecenia działają podczas uruchamiania z terminala, ale nie z .xinitrc, oraz że Chromium jest uruchamiany z .config / autostart / , sugerowałbym następujące:

Utwórz skrypt powłoki disableblank.sh , który uruchamia polecenia xset i dodaj wpis w .config / autostart / wywołując ten skrypt. W ten sposób wszystko jest uruchamiane tą samą metodą i albo działają, albo żadna z nich nie działa.

Ponadto polecenia te wpływają na bieżącą sesję X window i są konfigurowane przez użytkownika. Nie powinny być uruchamiane jako root, ale użytkownik Chromium działa jako.

Nie wiedząc dokładnie, jak uruchamiasz X, ani innych szczegółów, jest to prawdopodobnie najbezpieczniejszy sposób - chociaż prawdopodobnie istnieje prostszy sposób sposób.

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

Rozpoczyna się wygaszanie konsoli.

Wypróbowałem kilka sugerowanych metod, ale ta, która działała, to edycja /etc/rc.local i dodanie polecenia setterm -blank 0:

  setterm -blank 0  

Więc plik wygląda później następująco:

  #! / bin / sh - e ## rc.local ## Ten skrypt jest wykonywany na końcu każdego poziomu działania dla wielu użytkowników. # Upewnij się, że skrypt „wyjdzie z 0” po pomyślnym zakończeniu lub każdą inną # wartość w przypadku błędu. po prostu zmień wykonanie # bity. ## Domyślnie ten skrypt nic nie robi. # wyłącz konsolę blankingsetterm -blank 0 # Wydrukuj adres IP_IP = $ (nazwa hosta -I) || trueif ["$ _IP"]; następnie printf "Mój adres IP to% s \ n" "$ _IP" fiexit 0  

(cały plik tutaj, aby pokazać dokładnie, gdzie go umieściłem)

Zasadniczo, komenda setterm -blank 0 ustawia okres wygaszania terminala na 0 sekund (wyłączone), wyłączając wygaszanie, które zwykle występuje. rc.local jest wykonywany na końcu procesu uruchamiania z uprawnieniami roota, więc wpływa na wszystkie fizyczne konsole (tutaj wyjścia HDMI TV &)

Możesz także zmienić polecenie, aby zawierało wyłączenie kursora ( nie wskaźnik myszy, kursor tekstowy w konsoli):

  setterm -blank 0 -cursor off  

Więcej na ten temat opublikowałem na kilku innych pytań, ale powinno to rozwiązać problem bez uciekania się do drastycznych środków.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...