Le système n'hiberne pas; l'écran clignote pendant quelques secondes et rien d'autre ne se passe

8

Je viens de mettre à jour mon Ubuntu 11.10 vers 12.04. J'ai un problème avec l'hibernation dans mon nouveau 12.04.

J'exécute la commande suivante

sudo pm-hibernate

mais mon système n'hiberne pas, c'est-à-dire que mon système ne s'éteint pas; l'écran clignote plutôt pendant quelques secondes et reprend l'état précédent.

Comment résoudre ce problème et activer l'hibernation sur mon système?

Sat93
la source
Avez-vous vérifié les paramètres de votre BIOS
Mitch
2
@izx Je le pensais aussi ... mais à bien y penser, ne devrait pas sudo pm-hibernatefonctionner avant même que l'hibernation ne soit activée en 12.04? C'est le moyen recommandé de le tester avant de l'activer ... n'est-ce pas? Qu'est-ce que je rate?
Eliah Kagan
@EliahKagan - Vous avez absolument raison - j'ai sauté trop vite. sudo pm-hibernatedevrait fonctionner quel que soit le paramètre polkit.
ish

Réponses:

6

Quelque chose dans votre configuration matérielle est incompatible avec la méthodologie d'hibernation du noyau. Malheureusement, cela est difficile à résoudre, à moins que l'utilitaire de résolution des problèmes n'ait un système très similaire.

Vous pouvez essayer l' hibernation alternative de TuxOnIce ( wikipedia ) à la place.

  • TuxOnIce ( wiki | homepage ) est une alternative à la technologie d'hibernation intégrée du noyau, et est censé être compatible avec une plus large gamme de matériel, plus fiable et plus flexible.
  • Il est facile à installer et s'il ne fonctionne pas pour vous, il peut être facilement retiré.
  • Cela nécessite l'installation du noyau personnalisé de TuxOnIce , mais les instructions qui suivent devraient faciliter les choses. Si vous n'avez jamais ouvert le terminal auparavant, vous voudrez peut-être maintenant :-)

    0. Exigences

    La seule exigence pour TuxOnIce est que votre partition de swap soit au moins aussi grande que la quantité de mémoire (RAM) dont vous disposez. Vous pouvez vérifier cela en:

  • Démarrez le terminal avec Ctrl+ Alt+T

  • Tapez free -m, et vous devriez voir quelque chose comme ceci:

                 total des tampons partagés gratuits utilisés mis en cache
    Mem: 1024 731260 0 0 190
    - / + tampons / cache: 540 451
    Échange: 1536 6 1530
    
  • Le nombre après Swap:(par exemple 1536) doit être supérieur au nombre après Mem:(par exemple 1024)

  • Si ce n'est pas le cas et que votre swap est plus petit que votre mémoire, vous devez soit redimensionner et augmenter la taille de votre partition de swap, soit configurer TuxOnIce pour utiliser un fichier de swap spécial. Cela dépasse le cadre de cette réponse, mais si vous posez une autre question et la mentionnez dans les commentaires, je répondrai et expliquerai comment.

    1. Installation du noyau TuxOnIce

  • Démarrez le terminal avec Ctrl+ Alt+T

  • Copiez et collez ce qui suit dans le terminal. Cela ajoute le TuxOnIce PPA et installe le noyau et les en-têtes personnalisés.
    • sudo apt-add-repository ppa: tuxonice / ppa -y
      et une fois le ppa ajouté:
    • mise à jour sudo apt-get
      sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get install linux-headers-generic-tuxonice -y
  • Redémarrez maintenant.
  • Ubuntu devrait maintenant démarrer avec le noyau TuxOnIce . En cas de problème, maintenez la Shifttouche enfoncée au démarrage et vous obtiendrez le menu Grub. Utilisez les touches fléchées pour accéder à Previous Linux Versions, appuyez sur Entrée et appuyez à nouveau sur Entrée pour revenir au noyau de travail.

    2. Test de la fonctionnalité d'hibernation.

  • Ouvrez certaines des applications que vous utilisez normalement, par exemple Firefox, Thunderbird, LibreOffice, etc.

  • Ouvrez à nouveau le terminal avec Ctrl+ Alt+ T.
  • Tapez sudo pm-hibernate, appuyez sur Entrée, entrez votre mot de passe.
  • Vous devriez voir l'écran de verrouillage pendant une seconde, puis l'écran de progression de l'hibernation de TuxOnIce, comme celui ci-dessous:

    entrez la description de l'image ici

    • Si TuxOnIce fonctionne, votre ordinateur s'éteindra .
    • Redémarrez-le et attendez. TuxOnIce devrait reprendre à partir du point où vous avez hiberné, y compris toutes les fenêtres que vous avez ouvertes à la position que vous avez ouverte.
  • Si tout cela a fonctionné, passez à l'étape 3, qui vous permet d'activer la mise en veille prolongée à partir du tableau de bord.

    3. Activation de l'hibernation à partir du tableau de bord

  • Appuyez sur Alt+ F2, saisissez ci-dessous, puis appuyez sur entrée:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Collez ce qui suit, appuyez sur Ctrl+ Spour enregistrer et Ctrl+ Qpour quitter l'éditeur:

    [Réactiver la mise en veille prolongée par défaut]
    Identité = utilisateur unix: *
    Action = org.freedesktop.upower.hibernate
    ResultActive = yes

    entrez la description de l'image ici

  • Redémarrez et vous devriez voir l' option Hibernate comme indiqué ci-dessous:

    entrez la description de l'image ici

    4. Suppression de TuxOnIce

    • Si TuxOnIce ne fonctionne pas pour vous, ou si vous souhaitez simplement le supprimer, démarrez le terminal et entrez:

       sudo apt-get supprimer tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • et n'oubliez pas de désactiver l'option Hibernate dans le menu avec:

      sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Redémarrez ensuite.

ish
la source
Vous devez mentionner ce lien: askubuntu.com/questions/178712/… dans la réponse si l'utilisateur n'a pas assez de swap.
kiri
4

Cela a fonctionné pour moi. Dans une course sur console:

sudo apt-get install uswsusp 

Ensuite, vous pouvez essayer de suspendre votre ordinateur avec:

sudo s2ram

ou hiberner avec

sudo s2disk

Si cela fonctionne pour vous, redémarrez simplement et vous devriez pouvoir hiberner plus tard à partir du bouton habituel (en haut à droite sur Unity Desktop et en sélectionnant Hibernate).

J'ai créé un court didacticiel sur ce problème et sur d'autres problèmes concernant Dell XPS 13 Developer Edition, disponible ici .

Christian Vielma
la source
Simple et fonctionne bien. Il existe cependant une faute de frappe, le nom du package est uswsusp. De plus, l'hibernation n'a pas fonctionné du premier coup: elle s'est éteinte puis redémarrée normalement par la suite. Je parie que c'est le traditionnel "redémarrage pour mettre à jour la configuration".
Norswap
wow, c'est facile, l'hibernation a fonctionné sur mon Dell Latitude E6400 avec Ubuntu 14.04 beta.
Andrea Zonca
Je n'ai eu aucun problème avec l'hibernation en 8.04. Je suis à peu près sûr que beaucoup d'utilisateurs avancés le font fonctionner parfaitement sans "hacks".
userDepth
1

J'avais ce problème avant. Si votre partition de swap est inférieure à la quantité de mémoire que vous souhaitez stocker sur le disque dur lors de l'hibernation, vous pouvez rencontrer ce problème.

Vous pouvez soit redimensionner votre partition de swap, soit utiliser un fichier de swap (c'est beaucoup plus facile si vous n'avez pas d'espace libre pour redimensionner votre partition de swap).

Voici comment faire:

  1. Ouvrez une fenêtre de terminal (appuyez sur Ctrl+ Alt+ Tou sélectionnez Applications> Accessoires> Terminal ) ou connectez-vous au serveur distant à l'aide du client ssh.

  2. Créer un fichier de stockage

    Tapez la commande suivante pour créer un fichier d'échange de 512 Mo (1024 * 512 Mo = 524288 taille de bloc):

    sudo dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
    

    Exemples de sorties:

    524288+0 records in
    524288+0 records out
    536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
    
    • if=/dev/zerosignifie lire à partir du fichier / dev / zero. /dev/zeroest un fichier spécial qui fournit des caractères nuls pour créer un fichier de stockage appelé /swapfile1.
    • of=/swapfile1signifie écrire le fichier de stockage dans /swapfile1.
    • bs=1024 signifie lire et écrire 1024 octets à la fois.
    • count=524288 signifie Copier uniquement les blocs d'entrée 523288 BLOCS.
  3. Fichier d'échange sécurisé

    Configurez l'autorisation de fichier correcte pour des raisons de sécurité, en entrant:

    sudo chmod 0600 /swapfile1
    

    Un fichier d'échange lisible dans le monde entier est une énorme vulnérabilité locale. La commande ci-dessus garantit que seul l'utilisateur root peut lire et écrire dans le fichier.

  4. Configurer une zone d'échange Linux

    Tapez la commande suivante pour configurer une zone d'échange Linux dans un fichier:

    sudo mkswap /swapfile1
    

    Exemples de sorties:

    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
    
  5. Activer le fichier d'échange

    Enfin, pour activer /swapfile1immédiatement l'espace d'échange, entrez:

    sudo swapon /swapfile1
    
  6. Mettre à jour le /etc/fstabfichier Pour activer /swapfile1après le redémarrage du système Linux, ajoutez une entrée au /etc/fstabfichier. Ouvrez ce fichier à l'aide d'un éditeur de texte tel que vi:

    sudo vi /etc/fstab
    

    Ajoutez la ligne suivante:

    /swapfile1 none swap sw 0 0
    

    Enregistrez et fermez le fichier. La prochaine fois que Linux apparaît après le redémarrage, il active automatiquement le nouveau fichier d'échange.

  7. Comment vérifier que le swap est activé ou non?

    Utilisez simplement la freecommande:

    free -m
    

Voici le lien d'où j'ai obtenu ce tutoriel: Ajouter un fichier d'échange

Sidahmed
la source
Un fichier d'échange n'a pas besoin d'être dans /etc/fstabet ce n'est pas nécessaire pour l'activer.
Zanna
-4

Pour autant que je sache, cela ne fonctionne pas en 12.04. D'une manière ou d'une autre, ils n'incluaient pas le support d'hibernation car c'était une sorte de buggy sur certaines machines.

dArignac
la source
2
L'hibernation est incluse dans Ubuntu 12.04. Il est désactivé par défaut, mais vous pouvez l'activer.
Eliah Kagan