Jelikož i já nejprve musel malinko hledat how-to, rozhodl jsem se zde popsat jednu z dvou předpřipravených cest, jak donutit Vašeho tučňáka uspat a zase probudit k životu a ušetřit tak drahocenný čas jinak věnovaný startu systému.
Je mnoho důvodů, proč systém raději vypínat a zapínat a není mono těch proč systém uspat a následně obnovit. Prvním důvodem pro je rychlost. Proto než sem se rozhodl nastavit si systém tak, aby uměl režim spánku, zvážil sem všechna pro a proti. Pokud máte pocit že nejsou žádná proti tak mě můžete oponovat v komentářích, zde jsou ta má.
Uspat (hibernovat) systém je možné do RAM nebo na pevný disk a v Debianu Lenny jsou k dispozici dva nástroje, které toto umí. Prvním je balíček hibernate, který ale potřebuje podporu technologie tuxonice v jádře. Tato technologie se chlubí velmi kvalitním způsobem zamrznutí systému. Rozumějte tím, že minimalizuje problémy s hardwarem a softwarem. Vyžaduje však kompilaci jádra a s tím je spojeno i nutkání jádro více tunit.
Druhý balíček se jmenuje uswsusp. Obsahuje binárky s2ram a s2disk, které pokud je spustíte provedou uspání s dotyčným cílem. S tímto balíčkem sem pracoval i v jiných distribucích a na různých hardwarech a i když evidentně není tak šikovný v rozsahu podpory hardwaru, funguje. Když už jsme té "úpravy" systému, je dobré použít nástroj splashy, který místo nic moc textového výpisu operací (start, uspání, obnovení a ukončení systému) zobrazí nějaký hezký obrázek s progress barem. Splashy samozřejmě není k hibernaci nutný, je jen estetickým doplňkem.
Splashy ale vyžaduje aktivní framebuffer, čehož je možné dosáhnout i úpravou konfiguračního souboru bootloadera v případě lila /etc/lilo.conf v případě grubu /boot/grub/menu.lst (na Lennym to je grub.cfg, ale je lepší upravit scripty, které tento soubor generují). Text který se přidává do konfiguračního souboru může být např. tento vga=791 splash v závislosti na hardwaru a přidává se jako další parametr startu jádra.
/boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro vga=791 splash
Podrobnosti zde rozebírat nebudu, laskavý čtenář si najde informace v jiném článku na internetu, který se věnuje této problematice detailněji.
Pokud vše máme nainstalované a po restartu systému vidíme místo hromady textových řádků hezký obrázek s indikátorem průběhu startu, můžeme vyzkoušet i uspání. systému. Jako uživatel root spustíme příkaz s2ram resp. s2disk. Počítač by se měl uspat. Pokud probouzíme systém z disku, bootloader nejprve normálně začne zavádět jádro, místo běžného startu ale v určitou dobu dojde k probouzení. Místo zdlouhavého startování služeb a spouštění aplikací se tak za malou chvíli dostane systém do původního stavu před uspáním.
Je vhodné poznamenat že k uspávání na disk je potřeba diskový oddíl swap, na který se uloží většinou komprimovaný obsah paměti. Z tohoto oddílu se také uspaný systém probouzí. V době uspání, není vhodné s uživatelskými daty nijak manipulovat, je možné že by došlo k jejich poškození. Data, nejet ty, se kterými systém pracoval by měli zůstat netknuté do dalšího probuzení systému.
Je pravděpodobné, že budete chtít systém uspávat jako obyčejný uživatel, je pak nutné upravit nejlépe konfiguraci programu sudo, tak, aby na to měl obyčejný uživatel právo i bez zadávání hesla. Do konfiguračního souboru (vyvolaného příkazem visudo) by měl přibýt podobně vypadající následující řádek.
ondra ALL=NOPASSWD: /usr/sbin/s2disk
Po uložení pak bude moci uživatel ondra uspat systém zadáním příkazu sudo /usr/sbin/s2disk. Na notebooku je pak šikovné tento příkaz spárovat s klávesou XF86Sleep. O tom jak tuto "multimediální" klávesu zprovoznit se můžete dočíst v mém blogpostu OSD volume na Xfce. V případě že se chystáte zprovoznit uspávání na disk na klasickém stolním počítači, nebo pokud používáte externí klávesnici,varuji předem: O klávesu "suspend" zavadíte poměrně snadno i několikrát denně. Právě proto někteří uživatelé sahají po tak drastických metodách, jakou je vydloubávání oné klávesy šroubovákem. Naštěstí uživatelé Linuxu si mohou toto přenastavit a klávesu vůbec nepoužít.
© 2023 Ondřej Tůma McBig. Ondřej Tůma | Based on: Morias | Twitter: mcbig_cz | RSS: články, twitter