Sådan rettes NVIDIA CV-fejlen på elementært OS Loki

Elementært OS Loki er en virkelig solid Linux-distribution, men når de bruger den med Nvidias proprietære drivere, støder brugere nogle gange ind i en irriterende fejl, der kommer ud af suspenderingstilstanden. Lige nu fortsætter Nvidia-resume-fejlen på Elementry OS Loki, og brugere i fællesskabet forsøger at finde ud af hvorfor.

Vores løsning til at rette Nvidia CV-fejl er ikke 100 % solid. Selv efter at du har konfigureret denne rettelse, kan du stadig støde på disse problemer. Selve rettelsen er afhængig af at bruge systemd init-systemet i Elementary OS til at nulstille vindueshåndteringen.

Du bemærker muligvis, at Gala-vinduestyringen ikke kan nulstilles. Hvis tjenesten nægter at fungere, kan du overveje at slette filerne og starte igen eller manuelt køre dette i Wingpanel-programstarteren:

gala --replace

Forsøg på eget ansvar.

At skrive manuskriptet

Før du opretter en sleep hook i systemd, kræves der et script. Dette skyldes det faktum, at du ikke ligefrem kan skrive kommandoerne direkte inde i servicefilen. Åbn i stedet et terminalvindue på dit Elementary OS-skrivebord, og få root-adgang ved hjælp af sudo -s.

Åbn nanoteksteditoren med rodterminalen.

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

Følgende kommando vil gøre en ny SH-fil klar til at blive gemt inde i /usr/bin/-mappen. Herfra skal du indsætte følgende kode øverst i filen. Denne kode er vigtig, da den vil indstille det miljø, som scriptet kører i. Uden denne linje vil alt mislykkes.

#!/bin/bash

Med shebang øverst i scriptet har SH-filen alt det nødvendige for, at tolken kan læse den. Nu er det tid til at tilføje resten af ​​kommandoargumenterne. Lad os starte med at angive standardvisningen. Dette er for at sikre, at vindueshåndteringen opdateres på den rigtige skærm.

export DISPLAY=:0

Direkte efter “eksport DISPLAY=:0”, kan vi angive kommandoen, der vil tvinge Pantheon-skrivebordsmiljøet til at nulstille vindueshåndteringen, når det kommer ud af CV. Kommandoen er en simpel kommando, der fortæller det elementære operativsystems vindueshåndtering (kendt som Gala) om at erstatte sig selv.

gala --replace

Med den sidste kommando skrevet ind i shell-scriptet, er det tid til at gemme. Tryk på Ctrl + O for at gemme alt i nano. Efter at have gemt, skal du opdatere filens tilladelser, så den kan køre som et program:

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

Oprettelse af en systemd service

Det næste trin i processen til at rette den frygtede Nvidia CV-fejl er at skabe det, der er kendt som en “søvnhook”. Dette er en tjeneste, der kan udføres i systemd, når brugeren vender tilbage fra “sovende”. For at komme i gang skal vi igen bruge nano-teksteditoren. Sørg for, at din terminal stadig har root-adgang. Hvis ikke, brug sudo -s for at få root, og åbn en ny fil med:

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

Inde i “[email protected]” fil, indsæt følgende:

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

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

[Install]
WantedBy=suspend.target

Gem den nye systemd-fil med Ctrl + O, og brug derefter systemctl-kommandoen til at aktivere denne nye tjeneste i init-systemet.

systemctl enable [email protected]

og

systemctl start [email protected]

Herfra, hver gang du genoptager din pc fra suspendering, vil Pantheon-vindueadministratoren blive opdateret. Dette vil forhindre det irriterende glitchy skærmproblem, der opstår på nogle Nvidia proprietære GPU-drivere, der kører Elementary OS.

Andre fejlfindingsmuligheder

Opdater drivere

Prøv vores løsning ovenfor, og intet virker? Overvej at gøre en af ​​disse to ting. Den første ting at gøre ville være at få den absolut nyeste version af Nvidia proprietære drivere installeret på dit elementære OS-system. Dette starter med at installere software, der muliggør PPA-brug på operativsystemet.

sudo apt install software-properties-common

Tilføj derefter den regelmæssigt opdaterede driver PPA med:

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

Herfra skal du åbne Elementary OS Software-centeret, søge efter “yderligere drivere”, klikke på installer og starte det (hvis du ikke allerede har det). Fravælg den aktuelle version af den proprietære Nvidia-driver, du kører, og installer den absolut nyeste. Dette vil opdatere dit system til den nyeste version af driverne – noget, der meget vel kan løse irriterende fejl.

Roll-back drivere

Hvis rettelsen eller opdatering af Nvidia til den nyeste version ikke hjalp, så overvej at prøve at rulle de proprietære Nvidia-drivere tilbage og bruge Open Source Noveau-driverne i stedet. Selvom de ikke er så effektive som dem, der er direkte fra Nvidia, har de ikke CV-fejlen.

Erstat Elementry OS Window Manager

Hvis du er helt indstillet på at bruge lukkede kilde-drivere på Elementary OS, så overvej manuelt at erstatte Elementary OS-vinduehåndteringen med noget andet, såsom Mutter.

Mutter er en let, flot vinduesmanager med lignende visuelle effekter. Kør blot denne kommando i terminalen:

sudo apt install mutter

Gå derefter til systemindstillingerne (eller søg efter opstart) og tilføj: mutter -erstat som en kommando. Ved opstart vil din pc automatisk erstatte Gala med Mutter. Dette er en rå løsning, men den vil få arbejdet gjort.