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.
KDE, XFCE i altres entorns d'escriptori ofereixen l'hibernació des de la pantalla/menú de tancament de sessió.
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.
La hibernació es fa via l'ordre pm-hibernate
.
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.
$ dbus-send --system --print-reply --dest="org.freedesktop.UPower" \ /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
$ dbus-send --system --print-reply --dest="org.freedesktop.Hal" \ /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate
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
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
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.
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ó.
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
.
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.
xlock
pot ser matat, deixant accés complet a la sessió X.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ó.
Si ets un sudoer, és a dir, pots utilitzar sudo, aleshores el següent també es pot utilitzar:
sudo /usr/sbin/pm-hibernate