Jak wyłączyć tryb uśpienia / zawieszenia na ekranie logowania?

9

Próbowałem to zrobić przez ostatnie kilka godzin bez postępu.

Używam Ubuntu 16.04 i chcę wyłączyć tryb uśpienia / zawieszenia na ekranie logowania (przed zalogowaniem się u dowolnego użytkownika), aby wyświetlacz pozostał aktywny. Zawieszenie / sen zaczyna się po 5 minutach - ustawienie, którego nigdzie nie mogę znaleźć.

Rzeczy, które próbowałem:

GUI

Sporządzono dla obu (wszystkich) użytkowników:

  • Nigdy nie zawieszaj się pod Mocą
  • Nigdy nie wyłączaj ekranu pod Jasność i Blokada.

Terminal

gsettings set org.gnome.desktop.session idle-delay 0
sudo /bin/systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
xset s noblank
xset s off
xset dpms force off
xset -dpms

crontab -e:

dodany

@reboot sudo /bin/systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
@reboot /usr/bin/xset s noblank
@reboot /usr/bin/xset s off
@reboot /usr/bin/xset dpms force off
@reboot /usr/bin/xset -dpms

dconf org.gnome.settings-daemon.plugins.power

critical-battery-action nothing
idle-dim false
lid-close-ac-action nothing
lid-close-battery-action nothing
sleep-inactive-ac-timeout 0
sleep-inactive-ac-type nothing
sleep-inactive-battery-timeout 0
sleep-inactive-battery-type nothing
time-critical 36000
time-low 36000

(Komputer nie ma pokrywy ani baterii btw)

sudo gedit /etc/X11/xorg.conf

Dodany

Section "ServerFlags"
  Option "BlankTime" "0"
  Option "StandbyTime" "0"
  Option "SuspendTime" "0"
  Option "OffTime" "0"
EndSection

Kofeina

Dodany

@reboot /usr/bin/caffeine &

w crontab. Pomyślałem też o zrobieniu tego samego z

@reboot /usr/bin/caffeine -t 36000

ale

caffeine -t 36000

zwroty

usage: caffeinate [-h] [-V] COMMAND [ARGUMENT [ARGUMENT ...]]
caffeinate: error: unrecognized arguments: -t

acpi

Nie mam tego

Każda pomoc będzie mile widziana!

JohanPI
źródło

Odpowiedzi:

4

Znalazłem rozwiązanie tutaj https://askubuntu.com/a/543861/718511 , chociaż chcieli zrobić odwrotnie, więc jest nieco zmodyfikowany. Zasadniczo utworzono skrypt, aby wyłączyć dpms, a lightdm kazał go uruchomić.

W /etc/lightdm/lightdm.conf.d/ stwórz plik 50-dpms.conf :

sudo nano /etc/lightdm/lightdm.conf.d/50-dpms.conf

Dodaj linie

[SeatDefaults]
display-setup-script=/usr/local/bin/dpms-stop

Zamknij plik

W / usr / local / bin / utwórz plik dpms-stop :

sudo nano /usr/local/bin/dpms-stop

Dodaj linie

#!/bin/sh
sudo xhost +si:localuser:lightdm # grants localuser rights to X session
sudo su lightdm -s /bin/bash <<HERE
/usr/bin/xset -dpms
exit
HERE

Zamknij plik

Ustaw plik jako wykonywalny:

sudo chmod +x /usr/local/bin/dpms-stop

Po ponownym uruchomieniu zadziałało to dla mnie.

JohanPI
źródło
To rzeczywiście działa. Dobra robota! Jednak na większości maszyn naprawdę trzeba zmodyfikować wygaszacz ekranu do: '' '/ usr / bin / xset s off' ''; dlatego też głosowałem za odpowiedzią Costy od 21 lipca o 7:10.
judovana
3

Miałem ten sam problem i znalazłem rozwiązanie w tym wątku na forum . Ustawienie odpowiedniej wartości przy użyciu ustawień gset działało dla mnie. Pamiętaj, że należy to ustawić dla lightdmużytkownika, a nie dla własnego konta lub konta root. Może to był twój problem?

Oto polecenia, które musisz uruchomić:

sudo su
su lightdm -s /bin/bash
dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
exit
exit

Należy pamiętać, że wyłącza to tryb uśpienia urządzenia tylko przy zasilaniu prądem przemiennym. Ponieważ używam komputera stacjonarnego, to wystarczyło. Jeśli chcesz również wyłączyć tryb uśpienia przy zasilaniu bateryjnym, musisz również ustawić sleep-inactive-battery-timeoutwartość na 0.

Po uruchomieniu tych poleceń uruchom ponownie LightDM i powinieneś już iść.

sudo service lightdm restart
Chris
źródło
1

Jedyną rzeczą, która działała dla mnie, była odpowiedź JohanPI, ale musiałem ją zmodyfikować, aby również wyłączyć wygaszacz ekranu. Zmodyfikowany skrypt wygląda następująco:

#!/bin/sh
sudo xhost +si:localuser:lightdm # grants localuser rights to X session
sudo su lightdm -s /bin/bash <<HERE
/usr/bin/xset -dpms
/usr/bin/xset s off
exit
HERE
Costa
źródło