Come risolvere il bug del curriculum NVIDIA sul sistema operativo elementare Loki

Il sistema operativo elementare Loki è una distribuzione Linux davvero solida, ma quando la si utilizza con i driver proprietari di Nvidia, gli utenti a volte si imbattono in un bug fastidioso che esce dallo stato di sospensione. A partire da ora, il bug di ripresa di Nvidia su Elementry OS Loki persiste e gli utenti della comunità stanno cercando di capire perché.

La nostra soluzione per correggere il bug di ripresa di Nvidia non è solida al 100%. Anche dopo aver impostato questa correzione, potresti comunque riscontrare questi problemi. La correzione stessa si basa sull’utilizzo del sistema di inizializzazione systemd nel SO elementare per ripristinare il gestore delle finestre.

Potresti notare che il window manager di Gala non si ripristina. Se il servizio si rifiuta di funzionare, prendi in considerazione l’eliminazione dei file e il riavvio, oppure eseguilo manualmente nel launcher dell’applicazione Wingpanel:

gala --replace

Tenta a tuo rischio.

Scrivere la sceneggiatura

Prima di creare un hook sleep all’interno di systemd, è necessario uno script. Ciò è dovuto al fatto che non è possibile scrivere esattamente i comandi direttamente all’interno del file di servizio. Invece, apri una finestra di terminale sul desktop del tuo sistema operativo elementare e ottieni l’accesso come root utilizzando sudo -s.

Con il terminale root, apri l’editor di testo nano.

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

Il seguente comando renderà un nuovo file SH pronto per essere salvato all’interno della directory / usr / bin /. Da qui, incolla il codice seguente all’inizio del file. Questo codice è importante, poiché imposterà l’ambiente in cui viene eseguito lo script. Senza questa riga, tutto fallirà.

#!/bin/bash

Con lo shebang all’inizio dello script, il file SH ha tutto il necessario per l’interprete per leggerlo. Ora è il momento di aggiungere il resto degli argomenti del comando. Cominciamo specificando la visualizzazione predefinita. Questo per garantire che il window manager si aggiorni sullo schermo destro.

export DISPLAY=:0

Subito dopo “export DISPLAY =: 0”, possiamo specificare il comando che costringerà l’ambiente desktop Pantheon a resettare il window manager quando esce dal resume. Il comando è un semplice comando che dirà al gestore delle finestre del sistema operativo elementare (noto come Gala) di sostituirsi.

gala --replace

Con l’ultimo comando scritto nello script della shell, è ora di salvare. Fai Ctrl + O per salvare tutto in nano. Dopo il salvataggio, aggiorna i permessi del file in modo che possa essere eseguito come un programma:

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

Creazione di un servizio Systemd

Il passo successivo nel processo per correggere il temuto bug del curriculum di Nvidia è creare quello che è noto come “sleep hook”. Questo è un servizio che può essere eseguito all’interno di systemd quando l’utente ritorna dalla “sospensione”. Per iniziare, ancora una volta avremo bisogno del nano text editor. Assicurati che il tuo terminale abbia ancora l’accesso come root. In caso contrario, usa sudo -s per ottenere il root e apri un nuovo file con:

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

All’interno del file “resume @ .service”, incolla quanto segue:

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

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

[Install]
WantedBy=suspend.target

Salvare il nuovo file systemd con Ctrl + O, quindi utilizzare il comando systemctl per abilitare questo nuovo servizio all’interno del sistema init.

systemctl enable resume@user

e

systemctl start resume@user

Da qui, ogni volta che riprendi il tuo PC dalla sospensione, il gestore delle finestre Pantheon verrà aggiornato. Ciò eviterà il fastidioso problema dello schermo glitch che si verifica su alcuni driver GPU proprietari di Nvidia con sistema operativo elementare.

Altre opzioni di risoluzione dei problemi

Aggiorna driver

Prova la nostra soluzione sopra e non funziona niente? Considera l’idea di fare una di queste due cose. La prima cosa da fare sarebbe ottenere l’ultima versione assoluta dei driver proprietari di Nvidia installati sul tuo sistema operativo elementare. Questo inizia installando un software che abilita l’uso di PPA sul sistema operativo.

sudo apt install software-properties-common

Quindi, aggiungi il driver PPA regolarmente aggiornato con:

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

Da qui, apri il centro software del sistema operativo elementare, cerca “driver aggiuntivi”, fai clic su Installa e avvialo (se non lo hai già). Deseleziona la versione corrente del driver proprietario Nvidia che stai utilizzando e installa l’ultima in assoluto. Questo aggiornerà il tuo sistema alla versione più recente dei driver – qualcosa che potrebbe benissimo risolvere fastidiosi bug.

Driver di ripristino

Se la correzione o l’aggiornamento di Nvidia alla versione più recente non ha aiutato, considera di provare a ripristinare i driver proprietari di Nvidia e utilizzare invece i driver Open Source Noveau. Sebbene non siano efficaci come quelli direttamente da Nvidia, non avranno il bug del curriculum.

Sostituisci il gestore delle finestre del sistema operativo Elementry

Se sei impegnato nell’utilizzo dei driver closed source su Elementary OS, considera la possibilità di sostituire manualmente il window manager del sistema operativo elementare con qualcos’altro, come Mutter.

Mutter è un gestore di finestre leggero e dall’aspetto piacevole con effetti visivi simili. Esegui semplicemente questo comando nel terminale:

sudo apt install mutter

Quindi, vai alle impostazioni di sistema (o cerca l’avvio) e aggiungi: mutter –replace come comando. All’avvio, il tuo PC sostituirà automaticamente Gala con Mutter. Questa è una soluzione rozza, ma porterà a termine il lavoro.