GNU/Linux >> Znalost Linux >  >> Ubuntu

Hibernace v 18.04?

Tato otázka zde již obsahuje odpovědi :Jak ladit pozastavení?

(3 odpovědi)
Uzavřeno před 2 lety.

Hibernace na mém Ubuntu 18.04 nefungovalo hned po vybalení (mám na mysli sudo systemctl hibernate ). Tak jsem se to před časem několikrát pokusil napravit a bohužel si přesně nepamatuji, co jsem udělal.

Ale teď:

sudo hibernate

úspěšně hibernuje systém a při příštím spuštění se stav systému úspěšně obnoví, kromě toho, že se nezobrazí přihlašovací obrazovka, což není dobré. A pokud mám spuštěno mnoho aplikací, může po takovém obnovení systém zamrznout až na 20 minut (vidím okna aplikací, mohu pohybovat ukazatelem myši, ale systém nereaguje na kliknutí), ale poté funguje normálně.

sudo systemctl hibernate

něco provede, vypne systém, ale při příštím spuštění se mi zobrazí několik zpráv delete orphaned node a nakonec čisté spuštění, jako by neexistovala žádná hibernace.

Prosím, pomozte mi to vyčistit a povolit hibernaci v rozhraní gui.

Současně pozastavení do paměti a obnovení z paměti funguje bez problémů, včetně přihlašovací obrazovky při obnovení .

Primární otázka, kterou mám, zní:Který z těchto dvou mechanismů hibernate nebo systemctl hibernate mám použít s 18.04?

Podrobnosti

Systém má odkládací oddíl

$ lsblk | grep SWAP
└─sda5   8:5    0  16,8G  0 part [SWAP]
$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15894        3386        9945        1311        2561       11848
Swap:         17163        2150       15013

a v /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=”tiché splash restore=/dev/sda5″
GRUB_CMDLINE_LINUX=””

a

$ cat /sys/power/state
freeze mem disk
$ cat /sys/power/disk
[platform] shutdown reboot suspend test_resume

[VYŘEŠENO] 🙂

Konečně se mi podařilo zavést hibernaci do práce. Dokud tomuto tématu nerozumím, raději popíšu, co jsem dělal. Takže

  1. Úplně odstraněny pm-utils a uswsusp a poté sudo update-initramfs -c -k all a reboot

Po tomto pokusu o hibernaci skončilo čisté spuštění namísto obnovení. Tak tedy

  1. Přeinstalováno systemd poté změnil názvy zařízení na UUID tak, aby

v /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash continue=UUID=2c8ec945-6967-4538-93ef-49eb4df6f2a1″

v /etc/initramfs-tools/conf.d/resume

RESUME=UUID=2c8ec945-6967-4538-93ef-49eb4df6f2a1

pak

$ sudo update-initramfs -c -k all
$ sudo update-grub
$ reboot

Po tomto sudo systemctl hibernate a pokračování bylo úspěšné, ale bez přihlašovací obrazovky, takže

  1. V Nastavení (gui) pro akci tlačítka napájení jsem přiřadil „Hibernate“

Nyní, když stisknu tlačítko napájení, systém přejde do hibernace a poté se obnoví prostřednictvím přihlašovací obrazovky.

Všem zúčastněným moc děkujeme

UPD:Nyní jsem našel ještě lepší řešení – použít odkládací soubor

Ověřil jsem to na čerstvé desktopové instalaci Ubuntu 18.10 a předpokládám, že to funguje i s čerstvou desktopovou instalací 18.04, protože oba používají odkládací soubor ve výchozím nastavení, tj. nepřidělují swap oddíl ve výchozím stavu. Ale výchozí odkládací soubor je 2Gb bez ohledu na velikost systémové paměti, takže by se měla zvětšit.

Kompletní popis je například zde.

Nejlepší odpověď

Zde jsou dvě vynikající odpovědi na otázky týkající se hibernace s trochu podrobnějšími informacemi:

Little Ancient Forest Kami Odpověď na:Ubuntu 18.04 nelze po hibernaci obnovit

Související:Deja-dup stále žádá o heslo?

Zanna Odpověď na:Jak mohu v Ubuntu 16.04 hibernovat?

Normálně Hibernate nepoužívám, ale nedávno jsem se ho pokoušel použít při hledání chyby a uvědomil jsem si, že abyste mohli pracovat na 18.04, musíte přidat řádek do /etc/default/grub, abyste mu řekli, odkud pokračovat.

Dne 16.04 nebylo nutné přidávat parametr ‚resume=‘ do grub, takže si myslím, že ke změně došlo relativně nedávno.

Pravděpodobně bude nejlepší použít UUID (Universally Unique Identifier) ​​a můžete použít program ‚Disky‘ ke zjištění UUID vašeho odkládacího oddílu a jednoduše jej zkopírovat a vložit odtud.

Použijte sudo nano /etc/default/grub přidat do řádku

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

takže má extra parametr jádra resume=UUID=theUUIDofyourswappartition mezi uvozovkami.

Váš bude jiný, ale v mém případě je řádek:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=549816d3-0ed8-44fa-a7e4-968db519a141"

(ukončete nano pomocí Ctrl +x , stiskněte y proveďte změny a zadejte přijmout název souboru)

Musíte spustit sudo update-grub aby byly vaše změny účinné, ale při příštím restartu byste měli být schopni hibernace bez problémů.

Pokud vím, funkce hibernace je obnovit tam, kde jste přestali, takže není navržena tak, aby přešla na přihlašovací obrazovku a požadovala vaše heslo.

Nevím, jestli to můžete změnit tak, aby se vás to zeptalo na vaše heslo, ale možná by stálo za to položit samostatnou otázku, abyste zjistili, zda někdo jiný neví, co má dělat.

Odkládací soubor

Pokud máte místo samostatného odkládacího oddílu odkládací soubor, musíte také přidat extra resume_offset= parametr.

Arch Linux Wiki o tom má skvělou sekci, ale v zásadě by váš odkládací soubor měl být na hlavním oddílu, na kterém máte nainstalované Ubuntu.

Chcete-li zjistit offset, vložte do resume_offset= můžete otevřít terminál a napsat

sudo filefrag -v /swapfile

získáte něco, co vypadá takto:

ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   32767:      34816..     67583:  32768:            
   1:    32768..   63487:      67584..     98303:  30720:            
   2:    63488..   96255:     100352..    133119:  32768:      98304:
   3:    96256..  126975:     133120..    163839:  30720:   
etc...

a chcete první číslo na prvním řádku, který je pod physical_offset (v tomto případě 34816 )

Takže jen jako příklad, pomocí UUID a fyzického offsetu mého počítače s odkládacím souborem, jsem změnil GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" řádek být

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=09e601cd-5bac-491a-9115-fda1b2eb4664 resume_offset=34816"

Nezapomeňte spustit sudo update-grub a restartujte, ale poté by hibernace měla fungovat správně.


Ubuntu
  1. Integrace Nautilus Git?

  2. N Alternativa k terminálu Gnome?

  3. Žádná síť po upgradu na 16.04?

  1. Jak nainstalovat Graphviz 2.29 v 12.04?

  2. Přihlašovací smyčka Ubuntu 14.04?

  3. Nainstalujte Qt na Ubuntu

  1. Jak přejít na nižší verzi Subversion 1.6?

  2. su - uživatel Vs sudo su - uživatel

  3. pěkné sudo nebo sudo pěkné?