El sistema no hiberna; la pantalla parpadea durante unos segundos y no pasa nada más

8

Acabo de actualizar mi Ubuntu 11.10 a 12.04. Tengo un problema con la hibernación en mi nuevo 12.04.

Ejecuto el siguiente comando

sudo pm-hibernate

pero mi sistema no hiberna, es decir, mi sistema no se apaga; más bien, la pantalla parpadea durante unos segundos y reanuda el estado anterior.

¿Cómo soluciono este problema y habilito la hibernación en mi sistema?

Sáb93
fuente
¿Usted ha comprobado sus BIOS configuración
Mitch
2
@izx Yo también lo pensé ... pero ahora que lo pienso, ¿no debería sudo pm-hibernatefuncionar incluso antes de que se active la hibernación en 12.04? Esa es la forma recomendada de probarlo primero antes de habilitarlo ... ¿no? ¿Qué me estoy perdiendo?
Eliah Kagan
@EliahKagan - Tienes toda la razón - Salté demasiado rápido. sudo pm-hibernatedebería funcionar independientemente de la configuración de polkit.
ish

Respuestas:

6

Algo en su configuración de hardware es incompatible con la metodología de hibernación del núcleo. Desafortunadamente, esto es difícil de solucionar a menos que el solucionador de problemas tenga un sistema muy similar.

Puede probar la hibernación alternativa TuxOnIce ( wikipedia ) en su lugar.

  • TuxOnIce ( wiki | página de inicio ) es una alternativa a la tecnología de hibernación incorporada en el núcleo, y se supone que es compatible con una gama más amplia de hardware, más confiable y más flexible.
  • Se instala fácilmente y, si no funciona para usted, se elimina fácilmente.
  • Requiere instalar el kernel personalizado de TuxOnIce , pero las instrucciones que siguen deberían facilitarlo. Si nunca ha abierto la terminal antes, es posible que desee ahora :-)

    0. Requisitos

    El único requisito para TuxOnIce es que su partición de intercambio sea al menos tan grande como la cantidad de memoria (RAM) que tiene. Puede verificar esto por:

  • Comience la terminal con Ctrl+ Alt+T

  • Escriba free -m, y debería ver algo como esto:

                 total de buffers compartidos gratuitos usados ​​en caché
    Memoria: 1024731 260 0 0 190
    - / + buffers / caché: 540 451
    Intercambio: 1536 6 1530
    
  • El número después Swap:(por ejemplo, 1536) debe ser mayor que el número después Mem:(por ejemplo, 1024)

  • Si este no es el caso, y su intercambio es más pequeño que su memoria, debe cambiar el tamaño y aumentar el tamaño de su partición de intercambio, o configurar TuxOnIce para usar un archivo de intercambio especial. Eso está más allá del alcance de esta respuesta, pero si hace otra pregunta y la menciona en los comentarios, responderé y explicaré cómo.

    1. Instalando el kernel TuxOnIce

  • Comience la terminal con Ctrl+ Alt+T

  • Copie y pegue lo siguiente en la terminal. Esto agrega el TuxOnIce PPA e instala el kernel y los encabezados personalizados.
    • sudo apt-add-repository ppa: tuxonice / ppa -y
      y una vez que se agrega el ppa:
    • sudo apt-get update
      sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get install linux-headers-generic-tuxonice -y
  • Ahora reiniciar.
  • Ubuntu debería comenzar ahora con el kernel TuxOnIce . Si hay algún problema, mantenga Shiftpresionado al inicio y obtendrá el menú Grub. Use las teclas de flecha para ir Previous Linux Versions, presione enter y presione enter nuevamente para volver al núcleo de trabajo.

    2. Prueba de la funcionalidad de hibernación.

  • Abra algunas de las aplicaciones que usa normalmente, por ejemplo, Firefox, Thunderbird, LibreOffice, etc.

  • Abra la terminal nuevamente, con Ctrl+ Alt+ T.
  • Escriba sudo pm-hibernate, presione enter, ingrese su contraseña.
  • Debería ver la pantalla de bloqueo por un segundo, y luego la pantalla de progreso de hibernación de TuxOnIce, como la siguiente:

    ingrese la descripción de la imagen aquí

    • Si TuxOnIce funciona, su computadora se apagará.
    • Comience de nuevo y espere. TuxOnIce debería reanudarse desde el punto en que hibernaba, incluidas todas las ventanas que abrió en la posición que abrió.
  • Si todo esto funcionó, vaya al Paso 3, que le permite habilitar Hibernate desde el tablero.

    3. Habilitación de la hibernación desde el tablero

  • Presione Alt+ F2, escriba lo siguiente y luego presione Intro:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Pegue lo siguiente, presione Ctrl+ Spara guardar y Ctrl+ Qpara salir del editor:

    [Volver a habilitar la hibernación por defecto]
    Identidad = usuario unix: *
    Acción = org.freedesktop.upower.hibernate
    ResultActive = yes

    ingrese la descripción de la imagen aquí

  • Reinicie, y debería ver la opción Hibernar como se muestra a continuación:

    ingrese la descripción de la imagen aquí

    4. Eliminando TuxOnIce

    • Si TuxOnIce no funciona para usted, o simplemente desea eliminarlo, inicie el terminal e ingrese:

       sudo apt-get eliminar tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • y recuerde deshabilitar la opción Hibernar en el menú con:

      sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Luego reinicie.

ish
fuente
Debería mencionar este enlace: askubuntu.com/questions/178712/… en la respuesta si el usuario no tiene suficiente intercambio.
kiri
4

Esto funcionó para mí. En una ejecución de consola:

sudo apt-get install uswsusp 

Luego puede intentar suspender su computadora con:

sudo s2ram

o hibernar con

sudo s2disk

Si eso funciona para usted, simplemente reinicie y debería poder hibernar más tarde desde el botón habitual (en la parte superior derecha en Unity Desktop y seleccionando Hibernate).

Hice un breve tutorial de este y otros problemas para Dell XPS 13 Developer Edition disponible aquí .

Christian Vielma
fuente
Simple y funciona bien. Sin embargo, hay un error tipográfico, el nombre del paquete es uswsusp. Además, la hibernación no funcionó en el primer intento: se apagó y luego se inició normalmente después. Apuesto a que esto es lo tradicional "reiniciar para actualizar la configuración".
Norswap
wow, esto es fácil, la hibernación funcionó en mi Dell Latitude E6400 con Ubuntu 14.04 beta.
Andrea Zonca
No tuve problemas con la hibernación en 8.04. Estoy bastante seguro de que muchos usuarios avanzados lo tienen funcionando perfectamente sin "hacks".
userDepth
1

Tuve este problema antes. Si su partición de intercambio es más pequeña que la cantidad de memoria que desea almacenar en el disco duro durante la hibernación, puede tener este problema.

Puede cambiar el tamaño de su partición de intercambio o usar un archivo de intercambio (es mucho más fácil si no tiene espacio libre para cambiar el tamaño de su partición de intercambio).

Aquí está cómo hacerlo:

  1. Abra una ventana de terminal (presione Ctrl+ Alt+ To seleccione Aplicaciones> Accesorios> Terminal ) o inicie sesión en un servidor remoto utilizando el cliente ssh.

  2. Crear archivo de almacenamiento

    Escriba el siguiente comando para crear un archivo de intercambio de 512 MB (1024 * 512 MB = tamaño de bloque 524288):

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

    Resultados de muestra:

    524288+0 records in
    524288+0 records out
    536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
    
    • if=/dev/zerosignifica leer del archivo / dev / zero. /dev/zeroes un archivo especial que proporciona caracteres nulos para construir un archivo de almacenamiento llamado /swapfile1.
    • of=/swapfile1significa escribir en el archivo de almacenamiento /swapfile1.
    • bs=1024 significa leer y escribir 1024 bytes de bytes a la vez.
    • count=524288 significa Copiar solo bloques de entrada 523288 BLOCKS.
  3. Archivo de intercambio seguro

    Configure el permiso de archivo correcto por razones de seguridad, ingresando:

    sudo chmod 0600 /swapfile1
    

    Un archivo de intercambio de fácil lectura es una gran vulnerabilidad local. El comando anterior se asegura de que solo el usuario root pueda leer y escribir en el archivo.

  4. Configurar un área de intercambio de Linux

    Escriba el siguiente comando para configurar un área de intercambio de Linux en un archivo:

    sudo mkswap /swapfile1
    

    Resultados de muestra:

    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
    
  5. Habilitar el archivo de intercambio

    Finalmente, para activar /swapfile1el espacio de intercambio inmediatamente, ingrese:

    sudo swapon /swapfile1
    
  6. Actualizar /etc/fstabarchivo Para activar /swapfile1después de reiniciar el sistema Linux, agregue una entrada al /etc/fstabarchivo. Abra este archivo usando un editor de texto como vi:

    sudo vi /etc/fstab
    

    Agregue la siguiente línea:

    /swapfile1 none swap sw 0 0
    

    Guarde y cierre el archivo. La próxima vez que aparezca Linux después del reinicio, habilitará el nuevo archivo de intercambio automáticamente.

  7. ¿Cómo verifico que el intercambio esté activado o no?

    Simplemente use el freecomando:

    free -m
    

Aquí está el enlace de donde obtuve este tutorial: Agregar un archivo de intercambio

Sidahmed
fuente
No es necesario que haya un archivo de intercambio /etc/fstaby esto no es necesario para habilitarlo.
Zanna