Jak trwale wyłączyć tryb uśpienia / zawieszenia?

23

Subtelnie zepsuty jest gorszy niż szczerze zepsuty ...

Tło:

  1. Już wyłączyłem zawieszenie w Ustawieniach systemu -> Zasilanie.

  2. Opcja „Zawieś” nadal pojawia się w menu koła zębatego (nie spodziewałem się, że zniknie), a przycisk uśpienia (księżyca) na mojej klawiaturze nadal powoduje zawieszenie.

  3. Opcje w punkcie 1 są, jak zauważyli inni, zbyt łatwe do przypadkowego trafienia raz w miesiącu.

  4. Wygląda na to, że 1% platform zostaje poprawnie zawieszonych, ponieważ jakiś inżynier sterowników gdzieś zapomniał sprawdzić, czy rejestr kosmiczny PCIe lub IO X zostaje przywrócony po obudzeniu. Jest więc gorzej niż zepsuty: po przebudzeniu wszystko zwykle wygląda dobrze, tyle że nie. I miejmy nadzieję, że żaden z tych uszkodzonych rejestrów nie wpływa na niezawodność w pełzający sposób, taki jak konfiguracja ECC lub głębokość pamięci FIFO. Ale zwykle robią to, w takiej czy innej formie, co jest jednym z powodów, dla których errata przeciwko sterownikom graficznym trwa nieskończenie wiele lat po debiucie na rynku („układ graficzny X zawiesza się godzinę po wznowieniu pracy od zawieszenia bla bla bla”) ).

  5. Powinien istnieć automatyczny test, aby zobaczyć, jakie rejestry zmieniają się w cyklu uśpienia, ale niewielu dostawców ma taki test. Test jest nieco skomplikowany przez fakt, że niektóre rejestry powinny się zmienić, na przykład timery. Co gorsza, czasami trzeba odczytywać rejestry w określonej kolejności lub o określonej szczegółowości, lub najpierw pisząc indeks odczytu gdzie indziej. Tak więc proces ten nie może być scentralizowany w dogodnym miejscu w branży, takim jak biura Canonical. To naprawdę i naprawdę beznadziejne, chyba że PCIe zostanie przedefiniowane w taki sposób, aby ułatwić porównywanie, co nie będzie.

  6. Magiczny zestaw testowy w # 5 nigdy nie zostanie napisany z powodu chaotycznego stanu rozwoju sterowników. Dlatego przy braku tego moje pytanie.

  7. Jestem tak zdesperowany, że nie mam nic przeciwko hakowaniu pliku / etc / cokolwiek_suspend_plik, ale byłoby miło, gdyby istniał „grzeczny” sposób, taki jak nieistniejące pole wyboru w Ustawieniach systemu -> Moc z napisem „Trwale wyłącz zawiesić, ponieważ od pierwszego dnia był źle pomyślany ”.

  8. NB: Nie mówię tu o hibernacji, która nie powinna cierpieć z powodu powyższych problemów, ponieważ wiąże się to z cyklem zasilania. Chociaż w zasadzie przywracanie rejestrów z trwałego przechowywania może mieć podobne problemy.

Veiokej
źródło
3
Czy próbowałeś tutaj odpowiedzi: askubuntu.com/a/154821/72576 ?
praca w
Wersja # 5 dostępna dla tłumu może działać. Wystarczy tyle osób, które chcą ustawić sen na około 5 minut, i zgłosić błędy. Jak zauważyłeś, jest to specyficzne dla sprzętu: ale wiele maszyn i ludzi ma szczęście, a sen to dobra rzecz.
Bryce,

Odpowiedzi:

6

Na Ubuntu 16. * spróbuj tego.

Iść do:

  • Ustawienia systemowe

Kliknij:

  • Jasność i blokada

  • Wyłącz ekran, gdy jest nieaktywny

  • Ustaw na „Nigdy”

Mam nadzieję, że to pomoże :)

oddCat
źródło
4

Zgodnie z Debian Wiki , możesz to również wyłączyć poprzez systemd w następujący sposób:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Chociaż zrobiłem to na moim komputerze, nie mogę potwierdzić jego skuteczności. Nie dość odważny, by wypróbować to celowo.

jakar
źródło
3

Uruchom następujące polecenie, aby otworzyć plik do edycji:

sudo -H gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

Przewiń w dół. Sprawdź, czy istnieją następujące informacje, a jeśli nie, dodaj je:

[Disable suspend]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Wykonanie tego powoduje, że polecenie zawieszenia nic nie robi po kliknięciu; zniknie z menu po ponownym uruchomieniu komputera.

Możesz uruchomić to polecenie, aby zapobiec uśpieniu komputera:

gsettings set org.gnome.desktop.session idle-delay 0
Dusan Milośević
źródło
1
Wydaje się, że to logiczne miejsce, ale wypróbowałem to i nie działa w moim środowisku 14.04. Ale myślę, że jesteś na dobrej drodze, ponieważ w tym pliku widzę podobny kod wyłączający hibernację.
Veiokej
5
Ta procedura nie działa już w wersjach 14.04+. Zobacz tę alternatywną procedurę: askubuntu.com/questions/452908/how-to-disable-suspend-in-14-04
lrosa
2

W edytorze dconf przejdź do:

org.gnome.settings-daemon.plugins.power

Znajdziesz wiele opcji związanych ze snem i zawieszeniem.

Jean-Marie
źródło
Wygląda obiecująco, ale jak dotąd nie można go modyfikować: dconf read / org / gnome / settings-daemon / plugins / power / lid-close-battery-action 'nothing' dconf read / org / gnome / settings-daemon / plugins / power / lid-close-ac-action 'nothing' dconf read / org / gnome / settings-daemon / plugins / power / idle-dim false
Veiokej
-2

GUI

Czy spojrzałeś na:

System -> Preferencje -> Zarządzanie energią

Na karcie Zasilanie sieciowe uśp komputer, gdy jest nieaktywny przez: „Nigdy”

Terminal

Czy możesz otworzyć „gconf-editor”?

Zaglądać: /apps/gnome-power-manager/timeout

Spróbuj ustawić sleep_computer_acna0

Nie jestem pewien, czy coś jeszcze trzeba zmienić.

Zobacz także tutaj .

Korkel
źródło
Żadne takie menu nie jest widoczne w moim środowisku 14.04. Tak naprawdę nie mam tego pliku, ale nie sądzę, że chciałbym zadzierać z limitami czasu zarządzania energią lub, z drugiej strony, wyłączać hurtowo zarządzanie energią (chyba że tak naprawdę nie ma sposobu, aby wyłączyć tylko zawieszenie).
Veiokej
Nie ma go również w 16.04.
MERose
no / apps / gnome-power-manager / timeout in gconf-editor
markackerman8-gmail.com