Le démarrage à froid de LM 19.x est plus ou moins long selon les configurations matérielles. Pour réduire ces temps de démarrage, on peut arrêter les PC en utilisant les modes "Mise en veille" ou "Hibernation", ce qui permet de redémarrer plus rapidement en récupérant le bureau dans l'état où on l'a laissé.
En mode "veille", le PC est toujours sous tension. Bien que faible, la consommation n'est pas nulle, et il faut donc vérifier l'état de la batterie si on prévoit une veille prolongée. L'avantage de ce mode est que la sortie de veille est quasi-immédiate. Il est donc très utile si la veille doit être de courte durée.
Pour une veille prolongée, par exemple plusieurs jours, il est préférable d'utiliser le mode "hibernation" qui stocke l'état de la mémoire sur le disque avant d'éteindre le PC. Le redémarrage est plus long que la sortie de veille, mais nettement plus rapide qu'un redémarrage normal. Malheureusement, ce mode n'est pas disponible par défaut sur LM 19.x, mais il est possible de l'activer par quelques commandes dans un terminal. Je propose ici la traduction du tutoriel anglophone d'activation de l'hibernation dans un fichier swap avec LM 19.x.
ATTENTION: Ce tutoriel s'adresse aux utilisateurs d'un système sans partition swap, mais avec un fichier nommé swapfile à la racine du système de fichiers. Si vous avez une partition swap dédiée, voyez plutôt ce tutoriel :
https://forums.linuxmint.com/viewtopic. ... 2&t=273202
1. PRÉPARATION :
La sortie d'hibernation ne fonctionne pas correctement sur tous les systèmes. Les problèmes peuvent venir de la configuration du BIOS ou de certains pilotes. Donc, avant de suivre ce tutoriel, utilisez Timeshift pour créer un cliché de votre système, et prévoyez un DVD ou une clé USB Live pour restaurer facilement ce cliché en cas de problème au démarrage.
2. TAILLE DU FICHIER DE SWAP :
En principe, il est recommandé que la taille du fichier de swap soit égale à celle de la mémoire.
On commence par vérifier l'état de la mémoire en tapant cette commande dans un terminal :
Code : Tout sélectionner
free -h
Code : Tout sélectionner
richard@pc-linuxshop-5678:~$ free -h
total utilisé libre partagé tamp/cache disponible
Mem: 7,6G 2,2G 4,6G 98M 783M 5,0G
Partition d'échange: 8,0G 75M 7,9G
IMPORTANT : les commandes suivantes ne fonctionneront que si votre fichier swapfile se trouve à la racine / du système de fichiers. Si vous l'avez déplacé, ça ne fonctionnera pas.
On vérifie les caractéristiques du fichier swapfile avec cette commande :
Code : Tout sélectionner
swapon
Code : Tout sélectionner
richard@pc-linuxshop-5678:~$ swapon
NAME TYPE SIZE USED PRIO
/swapfile file 8G 75,3M -2
Si votre fichier a la bonne taille, vous pouvez passer à l'étape 4. Si le fichier est trop petit ou s'il n'existe pas, vous devez suivre l'étape 3 ci-dessous.
3. DÉFINITION DU FICHIER DE SWAP :
Il faut d'abord désactiver l'espace de swap :
Code : Tout sélectionner
sudo swapoff -a
Code : Tout sélectionner
SIZE=8
Code : Tout sélectionner
df / -h
Si l'espace disponible est suffisant, lancez ce script en faisant un copier-coller de la totalité :
Code : Tout sélectionner
sudo dd if=/dev/zero of=/swapfile bs=1M count=$(($SIZE * 1024))
sudo chmod 0600 /swapfile
sudo mkswap /swapfile
sudo sed -i '/swap/{s/^/#/}' /etc/fstab
sudo tee -a /etc/fstab<<<"/swapfile none swap sw 0 0"
4. DÉFINITION DES PARAMÈTRES DU NOYAU :
Lancez cette commande dans un terminal en faisant un copier-coller :
Code : Tout sélectionner
RESUME_PARAMS="resume=UUID=$(findmnt / -o UUID -n) resume_offset=$(sudo filefrag -v /swapfile|awk 'NR==4{gsub(/\./,"");print $4;}') "
Code : Tout sélectionner
if grep resume /etc/default/grub>/dev/null; then echo -e "\nERROR: Hibernation already configured. Remove the existing configuration from /etc/default/grub and add these parameters instead:\n$RESUME_PARAMS";else sudo sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$RESUME_PARAMS/" /etc/default/grub;fi
Si tout s'est bien passé, mettez le grub à jour par cette commande :
Code : Tout sélectionner
sudo update-grub
Lancez cette commande dans un terminal en faisant un copier-coller :
Code : Tout sélectionner
sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla <<'EOB'
[Enable hibernate]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes
EOB
Commencez par redémarrer le PC normalement pour que les modifications apportées au système soient prises en compte.
Ensuite, lancez cette commande dans un terminal pour vérifier si le mode d'hibernation est bien disponible :
Code : Tout sélectionner
busctl call org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager CanHibernate
Si la réponse à la commande précédente est bien "yes", vous pouvez tester la mise en hibernation en sélectionnant "Hiberner" dans le menu "Quitter". Attendez que le PC s'arrête, puis redémarrez le. Si tout a fonctionné correctement, vous retrouverez votre bureau dans l'état où vous l'avez laissé. En particulier, vous retrouverez votre fenêtre terminal ouverte avec le résultat de la dernière commande que vous avez lancée.
Vous pouvez aussi mettre le PC en hibernation sans passer par le menu avec cette commande dans un terminal :
Code : Tout sélectionner
systemctl hibernate
Si votre système vous dit que l'hibernation n'est pas supportée, c'est probablement à votre BIOS/UEFI. Vérifier ses paramètres. En particulier il doit supporter le mode "ACPI sleep state S4". Il peut aussi être nécessaire de désactiver le "secure boot" et le "fast boot" dans l'UEFI. Pour cela, consultez les spécialistes du forum, car c'est hors de mes compétences.
Si vous n'utilisez pas le noyau par défaut, il est possible que votre noyau n'ait pas été compilé avec le support d'hibernation. Pour le vérifier, lancez cette commande:
Code : Tout sélectionner
grep CONFIG_HIBERNATION /boot/config-$(uname -r)
En résumé, il est conseillé d'avoir des BIOS à jour et de désactiver autant de périphériques que possible, ce qui peut s'avérer suffisant pour résoudre les problèmes. Vous pouvez également essayer différents noyaux.
Pour les utilisateurs de cartes graphiques NVIDIA, peut-être trouverez-vous des informations intéressantes ici :
https://forums.linuxmint.com/viewtopic.php?t=258577
À noter que sur mon matériel avec carte graphique NVIDIA (voir ma signature), l'activation de l'hibernation s'est faite sans problème.
Enfin, le dernier recours pour les problèmes insolubles : consultez les forums.
NOTE AUX BONNES VOLONTÉS : merci de me relire et de vérifier si je n'ai pas laissé passer trop de c...ries.