web-dev-qa-db-fra.com

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

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

Je lance la commande suivante

Sudo pm-hibernate

mais mon système n’hiberne pas, c’est-à-dire que mon système ne s’éteint pas; Au lieu de cela, l'écran clignote quelques secondes et reprend son état précédent.

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

8
Sat93

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 le dépanneur ait un système très similaire.

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

  • (TuxOnIce} _ ( wiki | page d'accueil ) est une alternative à la technologie de veille prolongée du noyau, et est supposé être compatible avec une gamme plus étendue de matériel. , plus fiable et plus flexible.
  • Il s’installe facilement, et s’il ne fonctionne pas, s’enlève facilement.
  • Il nécessite l’installation du noyau personnalisé de TuxOnIce, mais les instructions qui suivent devraient vous faciliter la tâche. Si vous n'avez jamais ouvert le terminal auparavant, vous voudrez peut-être maintenant :-)

    0. Conditions

    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 par:

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

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

                 Nombre total de tampons partagés libres utilisés en cache 
     Mem: 1024 731 260 0 0 190 
     -/+ tampons/cache: 540 451 
     Permutation: 1536 6 1530 
    
  • Le nombre après Swap: (par exemple 1536) doit être plus que le nombre après Mem: (par exemple 1024).

  • Si ce n'est pas le cas et que votre swap est inférieur votre mémoire, vous devez redimensionner et augmenter la taille de votre partition swap ou configurer TuxOnIce pour utiliser un fichier swap spécial. . Cela dépasse la portée de cette réponse, mais si vous posez une autre question et que vous en faites mention dans les commentaires, je vais vous expliquer comment.

    1. Installer le noyau TuxOnIce

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

  • Copiez et collez le texte suivant dans le terminal. Cela ajoute le TuxOnIce PPA et installe le noyau personnalisé et les en-têtes.
    •  Sudo apt-add-repository ppa: tuxonice/ppa -y
      et une fois le ppa ajouté:
    • Sudo apt-get update 
       Sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
       Sudo apt-get install linux-headers-generic-tuxonice -y
  • Maintenant, redémarrez.
  • Ubuntu devrait maintenant démarrer avec le noyau TuxOnIce. S'il y a des problèmes, gardez le Shift pressé au démarrage et vous obtiendrez le menu Grub. Utilisez les touches fléchées pour aller à Previous Linux Versions, appuyez sur entrée, puis 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 TuxOnIce, comme celui ci-dessous:

    enter image description here

    • Si TuxOnIce fonctionne, votre ordinateur s’arrête.
    • Recommencez 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 fonctionne, passez à l'étape 3, qui vous permet d'activer Hibernate à partir du tableau de bord.

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

  • Presse Alt+F2, tapez ce qui suit et appuyez sur Entrée:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Collez le ci-dessous, appuyez sur Ctrl+S pour sauver et Ctrl+Q pour quitter l'éditeur:

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

    enter image description here

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

    enter image description here

    4. Supprimer TuxOnIce

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

       Sudo apt-get remove tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • et n'oubliez pas de désactiver l'option Veille prolongée dans le menu avec:

      Sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Puis redémarrez.

6
ish

Cela a fonctionné pour moi. Dans une 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 et vous devriez pouvoir passer en veille prolongée à l’aide du bouton habituel (en haut à droite sur Unity Desktop et en sélectionnant Veille prolongée).

J'ai réalisé un court didacticiel sur ce sujet et d'autres problèmes relatifs à Dell XPS 13 Developer Edition disponible ici .

4
Christian Vielma

J'ai eu 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 en veille prolongée, vous risquez d'obtenir ce problème.

Vous pouvez redimensionner votre partition d'échange ou utiliser un fichier d'échange (c'est beaucoup plus facile si vous ne disposez pas d'espace libre pour redimensionner votre partition d'échange).

Voici comment faire:

  1. Ouvrez une fenêtre de terminal (appuyez sur Ctrl+Alt+T ou 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 = taille du bloc 524288):

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

    Exemples de sortie:

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

    Configurez les autorisations de fichiers correctes pour des raisons de sécurité en entrant:

    Sudo chmod 0600 /swapfile1
    

    Un fichier d'échange lisible par tout le monde constitue 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 sortie:

    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 /swapfile1 échange d'espace immédiatement, entrez:

    Sudo swapon /swapfile1
    
  6. Mise à jour du fichier /etc/fstab Pour activer /swapfile1 après le redémarrage du système Linux, ajoutez une entrée au fichier /etc/fstab. Ouvrez ce fichier en utilisant 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 puis-je vérifier que le swap est activé ou non?

    Utilisez simplement la commande free:

    free -m
    

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

1
Sidahmed