Как да поправите грешката при възобновяване на NVIDIA на Elementary OS Loki

Elementary OS Loki е наистина солидна дистрибуция на Linux, но когато я използват със собствените драйвери на Nvidia, потребителите понякога се сблъскват с дразнеща грешка, излизаща от състоянието на спиране. Към момента грешката при възобновяването на Nvidia в Elementry OS Loki продължава и потребителите в общността се опитват да разберат защо.

Нашето решение за коригиране на грешка при възобновяване на Nvidia не е 100% солидно. Дори и след като настроите тази корекция, все още може да срещнете тези проблеми. Самата корекция разчита на използването на системата systemd init в Elementary OS за нулиране на мениджъра на прозорци.

Може да забележите, че мениджърът на прозорците на Gala не успява да се нулира. Ако услугата откаже да работи, помислете за изтриване на файловете и стартиране наново или ръчно стартиране на това в стартовия панел на приложения Wingpanel:

gala --replace

Опит на свой собствен риск.

Писане на сценария

Преди да създадете кука за заспиване в systemd, е необходим скрипт. Това се дължи на факта, че не можете точно да напишете командите директно в сервизния файл. Вместо това отворете терминален прозорец на работния плот на Elementary OS и получете root достъп, като използвате sudo -s.

  Как да получите персонализирани размери на четката в MS Paint

С основния терминал отворете нано текстовия редактор.

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

Следната команда ще направи нов SH файл готов за запис в директорията /usr/bin/. От тук поставете следния код в горната част на файла. Този код е важен, тъй като ще настрои средата, в която се изпълнява скриптът. Без този ред всичко ще се провали.

#!/bin/bash

С shebang в горната част на скрипта, SH файлът има всичко необходимо, за да може интерпретаторът да го прочете. Сега е време да добавим останалите аргументи на командата. Нека започнем, като посочим дисплея по подразбиране. Това е, за да се гарантира, че мениджърът на прозорци се опреснява на десния екран.

export DISPLAY=:0

Непосредствено след “export DISPLAY=:0” можем да посочим командата, която ще принуди средата на работния плот на Pantheon да нулира мениджъра на прозорци, когато излезе от резюме. Командата е проста команда, която ще каже на мениджъра на прозорци на Elementary OS (известен като Gala) да се замени.

gala --replace

С последната команда, написана в скрипта на обвивката, е време да запазите. Направете Ctrl + O, за да запазите всичко в nano. След като запазите, актуализирайте разрешенията на файла, така че да може да се изпълнява като програма:

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

Създаване на услуга Systemd

Следващата стъпка в процеса за коригиране на страшната грешка в възобновяването на Nvidia е създаването на това, което е известно като „кука за заспиване“. Това е услуга, която може да се изпълнява в рамките на systemd, когато потребителят се върне от „спящ режим“. За да започнем, отново ще ни трябва нано текстов редактор. Уверете се, че вашият терминал все още има root достъп. Ако не, използвайте sudo -s, за да получите root, и отворете нов файл с:

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

Вътре в „[email protected]” файл, поставете следното:

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

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

[Install]
WantedBy=suspend.target

Запазете новия файл systemd с Ctrl + O и след това използвайте командата systemctl, за да активирате тази нова услуга в системата init.

systemctl enable [email protected]

и

systemctl start [email protected]

Оттук всеки път, когато възобновите компютъра си от спиране, мениджърът на прозорците на Pantheon ще се обновява. Това ще предотврати досадния проблем с проблеми с екрана, който възниква при някои патентовани драйвери на графичния процесор на Nvidia, работещи с Elementary OS.

  Защо да извършвате проверка на себе си? Ето какво ще разберете

Други опции за отстраняване на неизправности

Актуализиране на драйвери

Опитайте нашето решение по-горе и нищо не работи? Помислете да направите едно от тези две неща. Първото нещо, което трябва да направите, е да получите най-новата версия на собствените драйвери на Nvidia, инсталирани на вашата система Elementary OS. Това започва с инсталиране на софтуер, който позволява използването на PPA в операционната система.

sudo apt install software-properties-common

След това добавете редовно актуализирания PPA драйвер с:

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

Оттук отворете софтуерния център на елементарната операционна система, потърсете „допълнителни драйвери“, щракнете върху инсталиране и го стартирайте (ако вече го нямате). Премахнете избора на текущата версия на собствения драйвер на Nvidia, който използвате, и инсталирайте най-новата. Това ще актуализира вашата система до най-новата версия на драйверите – нещо, което много добре може да разреши досадните грешки.

  Как да персонализирате работния плот Budgie

Драйвери за връщане назад

Ако корекцията или актуализирането на Nvidia до най-новата версия не помогна, помислете дали да опитате да върнете обратно собствените драйвери на Nvidia и вместо това да използвате драйверите на Noveau с отворен код. Въпреки че не са толкова ефективни, колкото тези направо от Nvidia, те няма да имат грешка в резюмето.

Заменете Elementry OS Window Manager

Ако сте готови да използвате драйверите с затворен код на Elementary OS, помислете за ръчна замяна на мениджъра на прозорци на Elementary OS с нещо друго, като Mutter.

Mutter е лек, добре изглеждащ мениджър на прозорци с подобни визуални ефекти. Просто изпълнете тази команда в терминала:

sudo apt install mutter

След това отидете на системните настройки (или потърсете стартиране) и добавете: mutter –замени като команда. При стартиране вашият компютър автоматично ще замени Gala с Mutter. Това е грубо решение, но ще свърши работата.