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

Photo of author

By maciekx

Elementary OS Loki to bardzo stabilna dystrybucja systemu Linux, jednak użytkownicy korzystający z zastrzeżonych sterowników Nvidii często napotykają problem z wznawianiem po uśpieniu. Błąd ten wciąż występuje w Elementary OS Loki, a członkowie społeczności próbują znaleźć jego przyczynę.

Proponowane przez nas rozwiązanie dotyczące problemu z wznawianiem Nvidii nie jest w pełni niezawodne. Nawet po zastosowaniu tej poprawki, mogą występować dalsze trudności. Kluczowym elementem rozwiązania jest wykorzystanie systemu init systemd w Elementary OS do resetowania menedżera okien.

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

gala --replace

Próbuj na własną odpowiedzialność.

Pisanie skryptu

Aby utworzyć podpięcie usypiające w systemd, potrzebny jest skrypt. Oznacza to, że nie można bezpośrednio wprowadzać poleceń do pliku usługi. Otwórz terminal na pulpicie Elementary OS i uzyskaj uprawnienia administratora za pomocą polecenia sudo -s.

Następnie w terminalu uruchom edytor tekstu nano:

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

To polecenie stworzy nowy plik SH w katalogu /usr/bin/. Wklej poniższy kod na początku pliku. Ta linia jest niezbędna, ponieważ definiuje środowisko, w którym skrypt będzie działał. Bez niej skrypt może nie działać poprawnie.

#!/bin/bash

Po dodaniu shebang, plik SH będzie zawierał wszystkie niezbędne informacje do interpretacji przez powłokę. Teraz dodajemy kolejne argumenty polecenia, zaczynając od określenia domyślnego wyświetlania, co zapewni, że menedżer okien będzie mógł się odświeżyć na właściwym ekranie:

export DISPLAY=:0

Bezpośrednio po „export DISPLAY=:0” dodaj polecenie, które zmusi środowisko pulpitu Pantheon do zresetowania menedżera okien po zakończeniu wznawiania. To polecenie wyda Gala, polecając mu zastąpić samego siebie:

gala --replace

Po dodaniu tego polecenia do skryptu, zapisz zmiany. Wciśnij Ctrl + O, aby zapisać w nano. Następnie zaktualizuj uprawnienia pliku, aby mógł działać jako program:

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

Tworzenie usługi systemd

Kolejnym krokiem w naprawie błędu wznowienia Nvidii jest stworzenie tzw. „haka usypiającego”. To usługa, która może być uruchamiana przez systemd, gdy użytkownik wznawia pracę po „uśpieniu”. Aby to zrobić, ponownie otwórz edytor tekstu nano, upewniając się, że terminal ma uprawnienia administratora. Jeśli ich nie masz, użyj sudo -s, a następnie otwórz nowy plik:

nano /etc/systemd/system/resume@.service

Wewnątrz pliku „resume@.service” wklej poniższy kod:

[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 plik systemd za pomocą Ctrl + O, a następnie włącz tę nową usługę w systemie init za pomocą polecenia:

systemctl enable resume@user

oraz

systemctl start resume@user

Dzięki temu za każdym razem, gdy komputer wznawia ze stanu uśpienia, menedżer okien Pantheon zostanie odświeżony, co pomoże uniknąć problemu z ekranem występującego w niektórych zastrzeżonych sterownikach GPU Nvidii w Elementary OS.

Dodatkowe opcje rozwiązywania problemów

Aktualizacja sterowników

Jeśli powyższe rozwiązanie nie przyniosło rezultatów, rozważ jedną z dwóch opcji. Pierwszym krokiem może być pobranie najnowszej wersji zastrzeżonych sterowników Nvidii. Zacznij od zainstalowania oprogramowania, które umożliwi korzystanie z PPA w systemie:

sudo apt install software-properties-common

Następnie dodaj regularnie aktualizowany PPA dla sterowników:

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

Teraz otwórz centrum oprogramowania Elementary OS, wyszukaj „dodatkowe sterowniki”, zainstaluj je (jeśli jeszcze ich nie masz) i uruchom. Usuń zaznaczenie bieżącej wersji zastrzeżonego sterownika Nvidii, a następnie zainstaluj najnowszą wersję. To powinno zaktualizować system do najnowszej wersji sterowników, co może pomóc w rozwiązaniu problemu.

Przywracanie sterowników

Jeśli poprawka ani aktualizacja nie pomogły, rozważ użycie otwartych sterowników Noveau zamiast zastrzeżonych sterowników Nvidii. Choć nie są tak wydajne jak sterowniki Nvidii, mogą nie powodować błędu wznawiania.

Zmiana menedżera okien w Elementary OS

Jeśli upierasz się przy korzystaniu z zamkniętych sterowników w Elementary OS, możesz spróbować zastąpić menedżera okien Galę innym, na przykład Mutter.

Mutter to lekki menedżer okien z atrakcyjnymi efektami wizualnymi. Aby go zainstalować, uruchom to polecenie w terminalu:

sudo apt install mutter

Następnie przejdź do ustawień systemowych (lub użyj polecenia uruchamiania) i dodaj: mutter –replace jako polecenie. Przy następnym uruchomieniu systemu, Mutter zastąpi Galę. Chociaż może to być prymitywne rozwiązanie, powinno przynieść pozytywne efekty.


newsblog.pl