Elementary OS Loki — це дійсно надійний дистрибутив Linux, але при використанні його з власними драйверами Nvidia користувачі іноді стикаються з дратівливою помилкою, яка виходить із стану призупинення. На даний момент помилка відновлення Nvidia в Elementry OS Loki зберігається, і користувачі спільноти намагаються з’ясувати, чому.
Наше рішення для виправлення помилки резюме Nvidia не є на 100% надійним. Навіть після налаштування цього виправлення ви все одно можете зіткнутися з цими проблемами. Саме виправлення покладається на використання системи ініціалізації systemd в Elementary OS для скидання віконного менеджера.
Ви можете помітити, що віконний менеджер Gala не скидається. Якщо служба відмовляється працювати, подумайте про видалення файлів і запуску знову або вручну за допомогою програми запуску Wingpanel:
gala --replace
Спробуйте на свій страх і ризик.
Написання сценарію
Перш ніж створювати гачок сну в системі systemd, потрібен скрипт. Це пов’язано з тим, що ви не можете точно записати команди безпосередньо всередині службового файлу. Замість цього відкрийте вікно терміналу на робочому столі Elementary OS і отримайте root-доступ за допомогою sudo -s.
За допомогою кореневого терміналу відкрийте текстовий редактор nano.
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, коли користувач повертається зі «сну». Для початку нам знову знадобиться текстовий редактор nano. Переконайтеся, що ваш термінал все ще має 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, щоб увімкнути цю нову службу в системі ініціалізації.
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
Звідси відкрийте центр програмного забезпечення Elementary OS, знайдіть «додаткові драйвери», натисніть «Встановити» та запустіть його (якщо у вас його ще немає). Скасуйте вибір поточної версії власного драйвера Nvidia, який ви використовуєте, і встановіть абсолютно останню. Це оновить вашу систему до останньої версії драйверів — те, що може дуже добре усунути дратівливі помилки.
Драйвери для відкату
Якщо виправлення або оновлення Nvidia до останньої версії не допомогло, спробуйте відкатити власні драйвери Nvidia і використовувати замість них драйвери Noveau з відкритим кодом. Хоча вони не настільки ефективні, як ті, що були безпосередньо від Nvidia, у них не буде помилки резюме.
Замініть диспетчер вікон Elementry OS
Якщо ви готові використовувати драйвери з закритим кодом в Elementary OS, подумайте про те, щоб вручну замінити віконний менеджер Elementary OS на щось інше, наприклад Mutter.
Mutter — це легкий, красивий віконний менеджер із подібними візуальними ефектами. Просто запустіть цю команду в терміналі:
sudo apt install mutter
Потім перейдіть до налаштувань системи (або знайдіть запуск) і додайте: mutter –replace як команду. Під час запуску ваш комп’ютер автоматично замінить Gala на Mutter. Це грубе рішення, але воно виконає роботу.