[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Hibernació

La hibernació (també coneguda com suspensió-a-disc) és un mètode utilitzat per a apagar un ordinador mentre es preserva l'estat del sistema operatiu. Una vegada encés, el sistema operatiu estarà en l'estat exacte en el que es trobava en el moment de la hibernació.

A Slackware, la hibernació funciona des del primer moment. Tanmateix, per a retornar amb èxit d'un estat d'hibernació, caldrà que configures el carregador de l'arrencada per a que aquest sàpiga on localitzar les dades de represa.

Hibernant

Entorns d'Escriptori

KDE, XFCE i altres entorns d'escriptori ofereixen l'hibernació des de la pantalla/menú de tancament de sessió.

Gestors de Finestres Lleugers

Pots hibernar el teu sistema des de la consola. Bé com a root via pm-utils o mitjançant D-Bus amb programes addicionals com a un usuari normal.

pm-utils

La hibernació es fa via l'ordre pm-hibernate.

D-Bus

Slackware ofereix dos serveis per a controlar la gestió de la energia en els seus alliberament recents. UPower i HAL. Com HAL està deprecated a Slackware 14.0, utilitza HAL només en alliberaments més antics d'Slackware (de la 12.0 a la 13.37), en qualsevol altre cas utilitza UPower.

Utilitza una de les ordres següents per a hibernar el teu sistema.

UPower
 $ dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
 /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
HAL
$ dbus-send --system --print-reply --dest="org.freedesktop.Hal" \
 /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate

Configuració del carregador de l'arrancada

Arrancant des de LVM

LILO no suporta l'arranc des de LVM, per tant, has de crear un disc ram inicial (initrd). En necessites un encara que el teu nucli tinga suport integrat per a LVM.

No has d'ajustar de manera especial el lilo.conf perquè pots establir tot allò relatiu a la represa a initrd.

mkinitrd -c -k <kernel-version> -f <fs_type> -m <modules_required_to_boot> -r <root_partition> -h /dev/volumegroup/swap -L
  • -h set your hibernation/swap logical volume
  • -L activate LVM

Configuració del LILO

El següent pas és assegurar-te de que el teu lilo.conf conté el següent fragment

image = /boot/vmlinuz
  root = /dev/sdaX
  initrd = /boot/initrd.gz
  label = Slackware
  read-only # Partitions should be mounted read-only

Si no utilitzes LVM, pots simplement dir-li al nucli des d'on reprendre afegint una línia append:

append="resume=/dev/sdaX"

Reemplaça /dev/sdaX amb la teua partició d'intercanvi actual.

Després d'això, executa lilo per a salvar els canvis.

$ lilo

Bloqueja el teu ordinador en reprendre

Potser t'has adonat de que quan el teu ordinador reprèn el seu estat no hi ha cap protecció per a assegurar-te de que ningú podrà utilitzar el teu ordinador. Com pm-hibernate s'ha d'executar com root, qualsevol usuari que encenga el teu ordinador tindrà garantit un terminal de root! Et mostraré alguns trucs per a assegurar-te un bloqueig adequat del sistema.

Advertència de Seguretat: Si estàs utilitzant el truc des de la línia d'ordres o des d'una sessió X, no t'oblides de tancar sessió a la resta de terminals tty! Cap d'elles es bloquejarà, pel que qualsevol persona que emeta CTRL+ALT+F1 (o qualsevol altra tecla de Funció) en reprendre podrà de accedir-los, fent que el truc del bloqueig siga totalment inútil!

Amb pm-utils

Des de la línia d'ordres

Si no tens una sessió X oberta, l'única manera de bloquejar el teu ordinador és tancar la teua sessió abans d'hibernar. Pots utilitzar la següent ordre:

pm-hibernate & logout (O pm-hibernate & exit)

És important tancar sessió a cada tty abans d'hibernar! logout només tancarà la teua sessió al terminal des d'on vas llançar l'ordre. Per favor, llig l'advertència en la següent secció.

Aquest truc pot no funcionar en sistemes ràpids, ja que logout pot no tindre prou temps per a completar-se. Pots pensar que utilitzant ; enlloc de & podria fer el truc (ja que tancaria la sessió de l'usuari després de reprendre), però permet a l'usuari fer un CTRL+Ctrl en reprendre, matant la ordre logout.

Des d'una sessió X

Si vols bloquejar l'ordinador abans de la hibernació, pots emetre la següent ordre (com root, pressupost):

# xlock & sleep 5 ; pm-hibernate

També pots crear el següent guió:

#!/bin/bash
echo 'Hibernant en 5 segonds'
xlock &
sleep 5
pm-hibernate

xlock és una ordre que bloqueja la teua sessió X. En reiniciar, se't demanarà la contrasenya de root. L'ordre sleep es pot ometre, però crec què és més segur deixar-la, així t'assegures de que xlock té temps suficient per a executar-se correctament. No has d'utilitzar exit (o logout) al final de la ordre o guió, ja que no té cap utilitat respecte a la seguretat. Tot i que potser vols utilitzar-lo per a tancar automàticament l'xterm al reprendre.

Advertència de Securetat: aquest “truc” només bloquejarà el sistema X! Si has iniciat sessió com root en qualsevol altra tty, xlock pot ser matat, deixant accés complet a la sessió X.
Per a gent utilitzant init3 (no inici automàtic de les X a l'inici), recordeu tancar sessió també de la tty des de la que vas llançar el sistema X amb startx: prema CTRL+Z (per a suspendre la tasca), aleshores bg (per a reprendre la tasca en el rerefons) i aleshores CTRL+D (o logout) per a tancar sessió.

Una alternativa

Si ets un sudoer, és a dir, pots utilitzar sudo, aleshores el següent també es pot utilitzar:

sudo /usr/sbin/pm-hibernate

Lectures addicionals

Fonts

 ca-valencia:howtos:slackware_admin:hibernation ()
Translations of this page?: