Ubuntu/hibernace: Porovnání verzí

Z Wikiverzity
Smazaný obsah Přidaný obsah
Kychot (diskuse | příspěvky)
m →‎18.04 Xubuntu: Voilà – funguje
Kychot (diskuse | příspěvky)
Řá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

Jak používat klasifikační nálepkuTato 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

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:

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