Comment réparer le bogue de reprise NVIDIA sur le système d’exploitation élémentaire Loki

Elementary OS Loki est une distribution Linux vraiment solide, mais lors de son utilisation avec les pilotes propriétaires Nvidia, les utilisateurs se heurtent parfois à un bogue irritant sortant de l’état de suspension. À l’heure actuelle, le bogue de reprise de Nvidia sur Elementry OS Loki persiste et les utilisateurs de la communauté essaient de comprendre pourquoi.

Notre solution pour corriger le bogue de CV Nvidia n’est pas solide à 100%. Même après avoir configuré ce correctif, vous pouvez toujours rencontrer ces problèmes. Le correctif lui-même repose sur l’utilisation du système init systemd dans le système d’exploitation élémentaire pour réinitialiser le gestionnaire de fenêtres.

Vous remarquerez peut-être que le gestionnaire de fenêtres de Gala ne se réinitialise pas. Si le service refuse de fonctionner, envisagez de supprimer les fichiers et de redémarrer, ou de l’exécuter manuellement dans le lanceur d’applications Wingpanel:

gala --replace

Essayez à vos risques et périls.

Écrire le scénario

Avant de créer un hook de sommeil dans systemd, un script est requis. Cela est dû au fait que vous ne pouvez pas écrire exactement les commandes directement dans le fichier de service. Au lieu de cela, ouvrez une fenêtre de terminal sur votre bureau Elementary OS et obtenez un accès root à l’aide de sudo -s.

  Comment installer Blender sur Linux

Avec le terminal racine, ouvrez l’éditeur de texte nano.

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

La commande suivante prépare un nouveau fichier SH à être enregistré dans le répertoire / usr / bin /. À partir de là, collez le code suivant en haut du fichier. Ce code est important, car il définira l’environnement dans lequel le script s’exécute. Sans cette ligne, tout échouera.

#!/bin/bash

Avec le shebang en haut du script, le fichier SH a tout le nécessaire pour que l’interprète le lise. Maintenant, il est temps d’ajouter le reste des arguments de commande. Commençons par spécifier l’affichage par défaut. Ceci permet de garantir que le gestionnaire de fenêtres s’actualise sur l’écran de droite.

export DISPLAY=:0

Directement après «export DISPLAY =: 0», nous pouvons spécifier la commande qui forcera l’environnement de bureau Pantheon à réinitialiser le gestionnaire de fenêtres lorsqu’il sortira de la reprise. La commande est une commande simple qui dira au gestionnaire de fenêtres du système d’exploitation élémentaire (connu sous le nom de Gala) de se remplacer.

gala --replace

Avec la dernière commande écrite dans le script shell, il est temps de sauvegarder. Faites Ctrl + O pour tout enregistrer dans nano. Après l’enregistrement, mettez à jour les autorisations du fichier afin qu’il puisse s’exécuter en tant que programme:

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

Créer un service Systemd

La prochaine étape du processus de correction du redoutable bogue de reprise de Nvidia consiste à créer ce que l’on appelle un «crochet de sommeil». Il s’agit d’un service qui peut s’exécuter dans systemd lorsque l’utilisateur revient de «dormir». Pour commencer, nous aurons à nouveau besoin de l’éditeur de texte nano. Assurez-vous que votre terminal dispose toujours d’un accès root. Sinon, utilisez sudo -s pour accéder à la racine et ouvrez un nouveau fichier avec:

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

À l’intérieur du fichier «CV @ .service», collez ce qui suit:

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

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

[Install]
WantedBy=suspend.target

Enregistrez le nouveau fichier systemd avec Ctrl + O, puis utilisez la commande systemctl pour activer ce nouveau service dans le système init.

systemctl enable resume@user

et

systemctl start resume@user

À partir de là, chaque fois que vous relancez la suspension de votre PC, le gestionnaire de fenêtres Pantheon sera actualisé. Cela évitera le problème d’écran glitchy ennuyeux qui se produit sur certains pilotes GPU propriétaires de Nvidia exécutant Elementary OS.

  Comment afficher les interactions Twitter avec un utilisateur [Chrome]

Autres options de dépannage

Mettre à jour les pilotes

Essayez notre solution ci-dessus et rien ne fonctionne? Pensez à faire l’une de ces deux choses. La première chose à faire serait d’obtenir la dernière version absolue des pilotes propriétaires Nvidia installés sur votre système OS élémentaire. Cela commence par l’installation d’un logiciel qui permet l’utilisation de PPA sur le système d’exploitation.

sudo apt install software-properties-common

Ensuite, ajoutez le pilote PPA régulièrement mis à jour avec:

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

De là, ouvrez le centre logiciel Elementary OS, recherchez «pilotes supplémentaires», cliquez sur installer et lancez-le (si vous ne l’avez pas déjà). Désélectionnez la version actuelle du pilote propriétaire Nvidia que vous utilisez et installez la dernière version absolue. Cela mettra à jour votre système avec la dernière version des pilotes – ce qui pourrait très bien résoudre des bogues ennuyeux.

  Comment désinstaller Skype Entreprise sur Windows 10

Pilotes de restauration

Si le correctif ou la mise à jour de Nvidia vers la dernière version n’a pas aidé, envisagez d’essayer de restaurer les pilotes propriétaires Nvidia et d’utiliser les pilotes Open Source Noveau à la place. Bien qu’ils ne soient pas aussi efficaces que ceux directement de Nvidia, ils n’auront pas le bogue de reprise.

Remplacer Elementry OS Window Manager

Si vous êtes déterminé à utiliser les pilotes source fermés sur Elementary OS, envisagez de remplacer manuellement le gestionnaire de fenêtres Elementary OS par autre chose, comme Mutter.

Mutter est un gestionnaire de fenêtres léger et agréable avec des effets visuels similaires. Exécutez simplement cette commande dans le terminal:

sudo apt install mutter

Ensuite, allez dans les paramètres système (ou recherchez le démarrage) et ajoutez: mutter –replace en tant que commande. Au démarrage, votre PC remplacera automatiquement Gala par Mutter. C’est une solution grossière, mais elle fera le travail.