Elementary OS Loki je bezesporu stabilní a spolehlivá linuxová distribuce. Nicméně, při použití s proprietárními ovladači Nvidia se uživatelé občas potýkají s nepříjemnou chybou, která se projevuje po probuzení ze spánku. Problém s obnovením grafického adaptéru Nvidia v Elementary OS Loki přetrvává a komunita aktivně hledá jeho příčinu.
Naše navrhované řešení pro nápravu tohoto problému bohužel nezaručuje stoprocentní úspěšnost. I po implementaci tohoto postupu se můžete s těmito problémy stále setkávat. Zásah spočívá v využití systému systemd init k restartování správce oken.
Můžete si všimnout, že správce oken Gala nereaguje. Pokud služba nefunguje, zkuste odstranit relevantní soubory a spustit ji znovu, nebo manuálně spustit Gala pomocí příkazu ve spouštěči aplikací Wingpanel:
gala --replace
Toto řešení používejte na vlastní riziko.
Vytvoření skriptu
Pro vytvoření háku spánku v rámci systemd je nutný skript. To je dáno tím, že nemůžeme přímo zadávat příkazy do servisního souboru. Proto otevřete terminál na ploše Elementary OS a získejte přístup root pomocí příkazu sudo -s.
S otevřeným terminálem root, spusťte textový editor nano:
nano /usr/bin/pantheon-wm-refresh.sh
Tímto příkazem vytvoříme nový SH soubor v adresáři /usr/bin/. Do horní části souboru vložte následující kód. Tento kód je zásadní, protože nastavuje prostředí, ve kterém bude skript spuštěn. Bez něj skript nebude fungovat.
#!/bin/bash
Díky shebangu v horní části skriptu, má SH soubor vše potřebné pro interpretaci. Nyní je čas přidat zbytek příkazových argumentů. Začneme určením výchozího zobrazení, abychom zajistili, že se správce oken obnoví na správné obrazovce.
export DISPLAY=:0
Hned po „export DISPLAY=:0“ můžeme zadat příkaz, který vynutí restart správce oken desktopového prostředí Pantheon po obnovení ze spánku. Jednoduchý příkaz, který sdělí správci oken Elementary OS (Gala), aby se restartoval:
gala --replace
S posledním příkazem vloženým do shell skriptu, můžeme skript uložit. Stisknutím Ctrl + O uložíte změny v nano. Po uložení aktualizujte oprávnění souboru, aby byl spustitelný jako program:
chmod +x /usr/bin/pantheon-wm-refresh.sh
Vytvoření Systemd Služby
Dalším krokem k vyřešení problému s obnovením Nvidia je vytvoření „spánkového háku“. Jedná se o službu, kterou lze spustit v rámci systemd, když se uživatel vrátí ze „spánku“. K tomu opět použijeme textový editor nano. Ujistěte se, že váš terminál má stále root přístup. Pokud ne, použijte sudo -s k získání root a otevřete nový soubor pomocí:
nano /etc/systemd/system/[email protected]
V souboru „[email protected]“, vložte následující:
[Unit] Description=Akce po obnovení uživatele After=suspend.target [Service] User=%I Type=simple ExecStart=/usr/bin/pantheon-wm-refresh.sh [Install] WantedBy=suspend.target
Uložte nový systemd soubor pomocí Ctrl + O a poté použijte příkaz systemctl k povolení nové služby v systému init.
systemctl enable [email protected]
a
systemctl start [email protected]
Po tomto nastavení se správce oken Pantheon automaticky obnoví při každém probuzení počítače ze spánku. Tímto by se měl eliminovat problém s nefunkční obrazovkou, který se objevuje u některých proprietárních ovladačů GPU od Nvidie na Elementary OS.
Alternativní řešení problémů
Aktualizace ovladačů
Zkoušeli jste náš postup, ale problém stále přetrvává? Zvažte následující dvě možnosti. Prvním krokem by mělo být zajištění, že máte nainstalovanou nejnovější verzi proprietárních ovladačů Nvidia na vašem systému Elementary OS. To vyžaduje instalaci softwaru, který umožňuje používání PPA v operačním systému.
sudo apt install software-properties-common
Následně přidejte pravidelně aktualizované PPA s ovladači pomocí:
sudo add-apt-repository ppa:graphics-drivers/ppa
Poté otevřete Centrum softwaru Elementary OS, vyhledejte „Další ovladače“, klikněte na instalovat a spusťte jej (pokud jej ještě nemáte). Zrušte zaškrtnutí aktuální verze proprietárních ovladačů Nvidia, které používáte, a nainstalujte nejnovější dostupnou verzi. Tím se aktualizuje systém na nejnovější verzi ovladačů, což může vyřešit tyto otravné chyby.
Vrátit se k starším ovladačům
Pokud vám aktualizace nebo oprava Nvidie na nejnovější verzi nepomohla, zvažte vrácení k dřívější verzi proprietárních ovladačů Nvidia a místo toho použijte open-source ovladače Noveau. I když nejsou tak výkonné jako ty od Nvidie, nemají problémy s obnovením po probuzení.
Nahradit správce oken Elementary OS
Pokud trváte na používání proprietárních ovladačů na Elementary OS, zvažte možnost manuálního nahrazení správce oken Elementary OS jiným, jako je například Mutter.
Mutter je lehký, vizuálně příjemný správce oken s podobnými efekty. Jednoduše spusťte tento příkaz v terminálu:
sudo apt install mutter
Poté přejděte do nastavení systému (nebo vyhledejte možnost spuštění) a přidejte: mutter –replace jako příkaz. Při spuštění váš počítač automaticky nahradí Gala za Mutter. Jedná se o hrubé řešení, ale splní svůj účel.