89 votes

Comment activer l'option de mise en veille dans Ubuntu 20.04?

J'ai essayé différentes options pour activer la mise en veille prolongée dans Ubuntu 20.04 mais rien ne fonctionne. Comment puis-je activer l'option de mise en veille prolongée dans Ubuntu 20.04 ?

82voto

eldwist Points 847

Je suppose que vous avez une partition de swap prête à être utilisée (si vous avez un fichier swap, vous ne pouvez pas hiberner). Suivez ces étapes :

  1. Installez pm-utils et hibernate :

    sudo apt install pm-utils hibernate
  2. Ensuite :

    cat /sys/power/state
  3. Vous devriez voir :

    freeze mem disk
  4. Ensuite, exécutez l'une des lignes suivantes :

    grep swap /etc/fstab
    blkid | grep swap
  5. Copiez la valeur UUID. Vous en aurez besoin plus tard.

  6. Ensuite, exécutez (utilisez votre éditeur préféré si ce n'est pas nano) :

    sudo nano /etc/default/grub
  7. Modifiez la ligne qui dit :

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    pour qu'elle dise plutôt :

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID="

    Faites attention à ne pas manquer la partie UUID=.

  8. Ensuite, après avoir enregistré le fichier et quitté l'éditeur de texte, exécutez :

    sudo update-grub
  9. Pour le tester, exécutez :

    sudo systemctl hibernate

Cette extension semble permettre d'afficher l'entrée de menu "Hiberner", mais elle modifie l'apparence générale de ce sous-menu : https://extensions.gnome.org/extension/3070/simpler-off-menu/.


Testé sur Ubuntu 20.04 utilisant la version du noyau 5.4.0-31 sur mon Lenovo ThinkPad X1 Carbon.

30voto

James Bond Points 491

Si vous souhaitez utiliser un /swapfile pour hiberner au lieu de la partition d'échange :

La meilleure réponse fonctionne bien, mais vous n'avez pas besoin d'utiliser une partition, vous pouvez également utiliser un /swapfile par défaut.

Tout d'abord, vous devez augmenter la taille du /swapfile au moins à la taille de votre RAM.

  1. Installer les dépendances :

    sudo apt install pm-utils hibernate uswsusp
  2. Trouver votre UUID et le décalage de l'échange :

    findmnt -no UUID -T /swapfile && sudo swap-offset /swapfile

    Vous verrez quelque chose comme ceci :

    371b1a95-d91b-49f8-aa4a-da51cbf780b2
    resume offset = 23888916
  3. Modifier le fichier /etc/default/grub et remplacer la chaîne :

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    avec votre UUID et le décalage :

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=371b1a95-d91b-49f8-aa4a-da51cbf780b2 resume_offset=23888916"
  4. Mettre à jour GRUB :

    sudo update-grub
  5. Tester votre hibernation :

    sudo systemctl hibernate

Vous ne devriez probablement pas changer la taille de votre échange après avoir activé l'hibernation (du moins sans changer le swap-offset dans GRUB).

Voir la wiki pour plus de détails.

BONUS SUPPLÉMENTAIRE : Si vous voulez mettre en veille lorsque le couvercle d'un ordinateur portable est fermé (voir ceci) :

  1. Désactivez toutes les options dans les paramètres qui concernent le couvercle de l'ordinateur portable, définissez-les sur "ne rien faire".

  2. Exécutez :

    sudo mkdir -p /etc/acpi/events/ && sudo nano /etc/acpi/events/laptop-lid

    et collez :

    event=button/lid.*
    action=/etc/acpi/laptop-lid.sh
  3. Exécutez :

    sudo touch /etc/acpi/laptop-lid.sh && sudo chmod +x /etc/acpi/laptop-lid.sh && sudo nano /etc/acpi/laptop-lid.sh

    et collez :

    #!/bin/bash
    
    LOG_FILE='/var/log/laptop-lid.log'
    touch $LOG_FILE && chmod 0666 $LOG_FILE
    
    grep -q closed /proc/acpi/button/lid/LID/state
    if [ $? = 0 ]
    then
        # action de fermeture
        echo "$(date '+%Y.%m.%d %H:%M:%S.%3N'): fermé" >> $LOG_FILE
        systemctl hibernate
    else
        # action d'ouverture
        echo "$(date '+%Y.%m.%d %H:%M:%S.%3N'): ouvert" >> $LOG_FILE
    fi
  4. Exécutez :

    sudo /etc/init.d/acpid restart

12voto

SuRa Points 303

Et si vous voulez activer l'hibernation dans votre Ubuntu 20.04*, suivez ces étapes :

  1. Assurez-vous d'allouer de la mémoire d'échange sur votre machine pour vérifier :

    swapon --show
  2. Vérifiez ensuite si la mémoire d'échange que vous avez allouée est supérieure ou au moins égale à la mémoire physique (RAM).

  3. Utilisez la commande suivante pour trouver la partition d'échange :

    grep swap /etc/fstab
  4. Copiez l'UUID de la sortie par exemple(UUID=XXXXX-XXX-XXXX-XXXX-YYYYYYYYYY).

  5. Ajoutez un paramètre de démarrage avec la commande suivante :

    sudoedit /etc/default/grub
  6. Sur la ligne commençant par GRUB_CMDLINE_LINUX_DEFAULT, ajoutez :

    resume=UUID=XXXXX-XXX-XXXX-XXXX-YYYYYYYYYY

    Note : Dans tous les autres threads ils demandaient d'ajouter une partition d'échange mais ici nous ajoutons la valeur UUID.

    La dernière ligne sera comme suit :

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=XXXXX-XXX-XXXX-XXXX-YYYYYYYYYY"
  7. Met à jour le fichier :

    sudo update-grub
  8. sudo systemctl hibernate et l'hibernation fonctionnera maintenant sur votre Ubuntu 20.04.

10voto

Bob Briscoe Points 333

La solution de eldwist a fonctionné pour moi, sauf...

...pas au début, car j'ai eu l'erreur suivante:

$ sudo systemctl hibernate
Échec de la mise en veille prolongée du système via logind : Verbe de veille non pris en charge

Si vous obtenez cette erreur, vous devez probablement désactiver le démarrage sécurisé dans le menu de sécurité de l'UEFI/BIOS (voir problème similaire avec 16.04). Ensuite, ça a fonctionné pour moi (testé sur Ubuntu 20.04, noyau 5.4.0-33, configuré pour le double démarrage avec Win10).

6voto

J'ai juste ajouté un raccourci clavier. J'ai désactivé les touches Super+H, car je n'en ai pas besoin (l'action par défaut est de masquer la fenêtre) et j'ai créé un nouveau raccourci avec la commande :

systemctl hibernate

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X