Jak naprawić błąd wznawiania NVIDIA w podstawowym systemie operacyjnym Loki

Elementary OS Loki to naprawdę solidna dystrybucja Linuksa, ale podczas używania jej z zastrzeżonymi sterownikami Nvidii, użytkownicy czasami napotykają irytujący błąd wychodzący ze stanu zawieszenia. W tej chwili błąd wznawiania Nvidii w Elementry OS Loki utrzymuje się, a użytkownicy w społeczności próbują dowiedzieć się, dlaczego.

Nasze rozwiązanie do naprawy błędu wznawiania Nvidii nie jest w 100% solidne. Nawet po skonfigurowaniu tej poprawki nadal możesz napotkać te problemy. Sama poprawka polega na użyciu systemu init systemd w podstawowym systemie operacyjnym do zresetowania menedżera okien.

Możesz zauważyć, że menedżer okien Gala nie resetuje się. Jeśli usługa nie działa, rozważ usunięcie plików i ponowne uruchomienie lub ręczne uruchomienie tego w programie uruchamiającym aplikacje Wingpanel:

gala --replace

Próbuj na własne ryzyko.

Pisanie scenariusza

Przed utworzeniem podpięcia usypiającego w systemd wymagany jest skrypt. Wynika to z faktu, że nie można dokładnie pisać poleceń bezpośrednio w pliku usługi. Zamiast tego otwórz okno terminala na pulpicie podstawowego systemu operacyjnego i uzyskaj uprawnienia administratora za pomocą sudo -s.

W terminalu głównym otwórz edytor tekstu nano.

nano /usr/bin/pantheon-wm-refresh.sh

Następujące polecenie przygotuje nowy plik SH do zapisania w katalogu / usr / bin /. Stąd wklej następujący kod u góry pliku. Ten kod jest ważny, ponieważ ustawia środowisko, w którym działa skrypt. Bez tej linii wszystko zawiedzie.

#!/bin/bash

Z shebang na początku skryptu, plik SH zawiera wszystko, co niezbędne do odczytania przez tłumacza. Teraz nadszedł czas, aby dodać pozostałe argumenty polecenia. Zacznijmy od określenia domyślnego wyświetlania. Ma to na celu zapewnienie, że menedżer okien odświeża się na prawym ekranie.

export DISPLAY=:0

Bezpośrednio po „export DISPLAY =: 0” możemy określić polecenie, które zmusi środowisko pulpitu Pantheon do zresetowania menedżera okien po zakończeniu wznawiania. Polecenie to jest prostym poleceniem, które powie menedżerowi okien podstawowego systemu operacyjnego (znanemu jako Gala), aby sam się zastąpił.

gala --replace

Po wpisaniu ostatniego polecenia do skryptu powłoki czas na zapisanie. Wykonaj Ctrl + O, aby zapisać wszystko w nano. Po zapisaniu zaktualizuj uprawnienia pliku, aby mógł działać jako program:

chmod +x /usr/bin/pantheon-wm-refresh.sh

Tworzenie usługi Systemd

Następnym krokiem w procesie naprawiania budzącego grozę błędu wznowienia Nvidii jest utworzenie tak zwanego „haka usypiającego”. Jest to usługa, która może być wykonywana w ramach systemd, gdy użytkownik wraca ze „uśpienia”. Aby rozpocząć, ponownie będziemy potrzebować edytora tekstu nano. Upewnij się, że Twój terminal nadal ma uprawnienia administratora. Jeśli nie, użyj sudo -s, aby uzyskać root i otwórz nowy plik za pomocą:

nano /etc/systemd/system/[email protected]

Wewnątrz pliku „resume @ .service” wklej:

[Unit]
Description=User resume actions
After=suspend.target

[Service]
User=%I
Type=simple
ExecStart=/usr/bin/pantheon-wm-refresh.sh

[Install]
WantedBy=suspend.target

Zapisz nowy plik systemd za pomocą Ctrl + O, a następnie użyj polecenia systemctl, aby włączyć tę nową usługę w systemie init.

systemctl enable resume@user

i

systemctl start resume@user

Stąd za każdym razem, gdy wznawiasz stan wstrzymania komputera, menedżer okien Pantheon zostanie odświeżony. Zapobiegnie to irytującemu problemowi z ekranem, który występuje w niektórych zastrzeżonych sterownikach GPU Nvidii z podstawowym systemem operacyjnym.

Inne opcje rozwiązywania problemów

Zaktualizuj sterowniki

Wypróbuj nasze rozwiązanie powyżej i nic nie działa? Rozważ zrobienie jednej z tych dwóch rzeczy. Pierwszą rzeczą do zrobienia byłoby pobranie absolutnie najnowszej wersji zastrzeżonych sterowników Nvidii zainstalowanych w podstawowym systemie operacyjnym. Zaczyna się od zainstalowania oprogramowania, które umożliwia korzystanie z PPA w systemie operacyjnym.

sudo apt install software-properties-common

Następnie dodaj regularnie aktualizowany sterownik PPA z:

sudo add-apt-repository ppa:graphics-drivers/ppa

Stąd otwórz centrum oprogramowania Elementary OS, wyszukaj „dodatkowe sterowniki”, kliknij zainstaluj i uruchom go (jeśli jeszcze go nie masz). Usuń zaznaczenie bieżącej wersji zastrzeżonego sterownika Nvidia, z którego korzystasz, i zainstaluj najnowszą wersję. Spowoduje to zaktualizowanie systemu do najnowszej wersji sterowników – coś, co może bardzo dobrze rozwiązać irytujące błędy.

Przywróć sterowniki

Jeśli poprawka lub aktualizacja Nvidii do najnowszej wersji nie pomogła, rozważ próbę przywrócenia zastrzeżonych sterowników Nvidii i zamiast tego użyj sterowników Open Source Noveau. Choć nie tak efektywne jak te prosto od Nvidii, nie będą miały błędu wznowienia.

Zastąp Elementry OS Window Manager

Jeśli jesteś zdeterminowany, aby używać sterowników zamkniętych źródeł w podstawowym systemie operacyjnym, rozważ ręczne zastąpienie menedżera okien Elementary OS czymś innym, na przykład Mutter.

Mutter to lekki, ładnie wyglądający menedżer okien z podobnymi efektami wizualnymi. Po prostu uruchom to polecenie w terminalu:

sudo apt install mutter

Następnie przejdź do ustawień systemu (lub wyszukaj polecenie uruchomienia) i dodaj: mutter –replace jako polecenie. Podczas uruchamiania komputer automatycznie zastąpi Galę Mutter. To prymitywne rozwiązanie, ale załatwi sprawę.