Ubuntu/hibernace: Porovnání verzí
m →18.04 Xubuntu: Voilà – funguje |
|||
Řádek 128: | Řádek 128: | ||
'''Voilà – funguje!''' |
'''Voilà – funguje!''' |
||
== Problémy == |
|||
Ovšem občas se vyskytnou různé problémy = např. při vypínání systému: |
|||
Failed deactivating swap |
|||
Fixing recursive fault but reboot is needed! |
|||
Došel jsem k závěru, že problém může být se swapovací partition, tak jsem ji přeformátoval, ale tím problémy jen přibyly, např. při bootování to zůstane viset na: |
|||
Gave up waiting for suspend-resume device |
|||
resume: Could not stat the resume device file /dev/disk/by-uuid/a38e8d74-eeae-4744-a459-4cd6ebafd151 |
|||
Begin: Running /scripts/local-premount |
|||
Protože přeformátováním partition se změní její UUID. U normální ext4fs apod. partition zjistím její UUID pomocí <code>dumpe2fs</code>. U swap partition musím použít: |
|||
swaplabel |
|||
např.: |
|||
sudo swaplabel /dev/nvme0n1p5 |
|||
LABEL: nvme0n1p5_swap |
|||
UUID: 19c84e7d-7065-40fd-94ff-4e1c7d87c32c |
|||
Dohledám, že <code>scripts/local-premount</code> se vyskytují na dvou místech: |
|||
* <code>/etc/initramfs-tools/scripts/</code> |
|||
* <code>/usr/share/initramfs-tools/scripts</code> |
|||
A najdu příslušný soubor, na kterém to zůstane viset: |
|||
/usr/share/initramfs-tools/scripts/local-premount/resume |
|||
Jenže přímo zde se UUID nevyskytuje, nejspíš je v nějaké proměnné. |
|||
Vygrepuji, že to UUID swapu je v souboru: |
|||
/etc/uswsusp.conf |
|||
<pre> |
|||
# /etc/uswsusp.conf(5) -- Configuration file for s2disk/s2both |
|||
resume device = /dev/disk/by-uuid/a38e8d74-eeae-4744-a459-4cd6ebafd151 |
|||
compress = y |
|||
early writeout = y |
|||
image size = 3733221867 |
|||
RSA key file = /etc/uswsusp.key |
|||
shutdown method = platform |
|||
</pre> |
|||
Ale je možno tento soubor editovat ručně? Co když se ještě někde změnila imagesize apod? |
|||
Takže googlím: |
|||
* [https://www.google.com/search?channel=fs&client=ubuntu&q=xubuntu+%22uswsusp.conf%22 xubuntu "uswsusp.conf"] |
|||
** https://wiki.debian.org/Hibernation#Uswsusp |
|||
** https://help.ubuntu.com/community/PowerManagement/Hibernate |
|||
sudo dpkg-reconfigure uswsusp |
|||
== Související stránky == |
== Související stránky == |
Verze z 12. 8. 2021, 12:44
Tato stránka je součástí projektu: | |
Příslušnost: všeobecná |
Jak zprovoznit hibernaci u Ubuntu:
V Ubuntu 12.04 a dalších byla defaultně odebraná možnost hibernace (u strojů, které nejsou oficiálně podporována) a to z toho důvodu, že při špatném nastavení to může působit problémy nezkušeným uživatelům.
Jak tuto možnost obnovit?
Swap
Za prvé je nutno mít dostatečně velký swapovací prostor na disku (o něco větší než je velikost operační paměti)
Hibernace z konzole
Zkusíme hibernovat příkazem z konzole:
sudo pm-hibernate
Po chvíli by se měl systém hibernovat. Po opětovném spuštění by se měl vrátit do předcházejícího stavu.
Pokud toto funguje, můžeme pokračovat dál:
Defaultní nastavení
Může se lišit podle verze Ubuntu:
14.04
Osvědčilo se mi (xfce):
Vytvoříme soubor:
/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Do souboru napíšeme:
[Re-enable hibernate by default for login1] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=yes [Re-enable hibernate for multiple users by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate-multiple-sessions ResultActive=yes
Spustíme:
sudo update-grub
Ve Whisker menu se nám pak vedle možnosti Režim spánku objeví i možnost Hibernace.
18.04 Xubuntu
- notebook: Lenovo ThinkPad X280
sudo systemctl hibernate
Počítač se vypne, ale po opětovném spuštění se předchozí relace neobnoví.
Takže zkusím:
sudo apt install uswsusp
Následující dodatečné balíky budou instalovány: libx86-1 Následující NOVÉ balíky budou nainstalovány: libx86-1 uswsusp
Nepomohlo to, je to stále stejné.
Zkouším jít do Nastavení – Relace a spouštění – Obecné – Automaticky uložit relaci při odhlášení + ptát se při odhlášení; Relace: fvwm: okamžitě
sudo pm-hibernate pm-hibernate: příkaz nenalezen
sudo apt install pm-hibernate E: Nelze najít balík pm-hibernate
Takže zkusím:
grep swap /etc/fstab # swap was on /dev/nvme0n1p5 during installation -4744-a459-4cd6ebafd151 none swap sw 0 0 sudo cd /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/nvme0n1p5" update-grub
Voilà – zafungovalo! Teď to ještě přidat do menu:
- https://askubuntu.com/questions/1177075/xfce4-power-manager-suspend-to-hibernate-option
- https://docs.xfce.org/xfce/xfce4-power-manager/faq
sudo su apt-get install pm-utils xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/logind-handle-lid-switch -n -t bool -s true
Zkusím:
/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
[Disable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes [Disable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hib\ ernate-ignore-inhibit ResultActive=yes
Voilà – funguje!
Problémy
Ovšem občas se vyskytnou různé problémy = např. při vypínání systému:
Failed deactivating swap Fixing recursive fault but reboot is needed!
Došel jsem k závěru, že problém může být se swapovací partition, tak jsem ji přeformátoval, ale tím problémy jen přibyly, např. při bootování to zůstane viset na:
Gave up waiting for suspend-resume device resume: Could not stat the resume device file /dev/disk/by-uuid/a38e8d74-eeae-4744-a459-4cd6ebafd151 Begin: Running /scripts/local-premount
Protože přeformátováním partition se změní její UUID. U normální ext4fs apod. partition zjistím její UUID pomocí dumpe2fs
. U swap partition musím použít:
swaplabel
např.:
sudo swaplabel /dev/nvme0n1p5 LABEL: nvme0n1p5_swap UUID: 19c84e7d-7065-40fd-94ff-4e1c7d87c32c
Dohledám, že scripts/local-premount
se vyskytují na dvou místech:
/etc/initramfs-tools/scripts/
/usr/share/initramfs-tools/scripts
A najdu příslušný soubor, na kterém to zůstane viset:
/usr/share/initramfs-tools/scripts/local-premount/resume
Jenže přímo zde se UUID nevyskytuje, nejspíš je v nějaké proměnné. Vygrepuji, že to UUID swapu je v souboru:
/etc/uswsusp.conf
# /etc/uswsusp.conf(5) -- Configuration file for s2disk/s2both resume device = /dev/disk/by-uuid/a38e8d74-eeae-4744-a459-4cd6ebafd151 compress = y early writeout = y image size = 3733221867 RSA key file = /etc/uswsusp.key shutdown method = platform
Ale je možno tento soubor editovat ručně? Co když se ještě někde změnila imagesize apod?
Takže googlím:
sudo dpkg-reconfigure uswsusp
Související stránky
Externí odkazy
- StackExchange: ask ubuntu: How to enable hibernation?
- ubuntuhandbook.org (2014-04-08): How to Enable Hibernation in Ubuntu 14.04