Hibernacja z konsoli

Korzystam z Manjaro xfce z zainstalowanym i3 i chciałbym zahibernować komputer na dysku w swap. Próbowałem już komendy systemctl hibernate powoduje ona wygaszenie monitora ale komputer się nie wyłącza i nic nie da się zrobić poza restartem. Wpisywałem także komendę pm-hibernate ale pojawia się błąd nie znaleziono polecenia.

Znalazłem jeszcze taki poradnik:
https://blog.programmableproduction.com/2016/02/22/ArchLinux-Powermanagement-Setting-Hibernate/
ale ostatnia komęda sudo mkinitcpio -p linux
zwraca /usr/bin/mkinitcpio: linia 265: /etc/mkinitcpio.d/linux.preset: Nie ma takiego pliku ani katalogu ==> ERROR: Failed to load preset: /etc/mkinitcpio.d/linux.preset’
`
Użyłem również komend z arch wiki https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file

echo 8:5 > /sys/power/resume
echo 1505280 > /sys/power/resume_offset
jednak hibernacja wciąż nie działa.

Co prawda to inne dystro - ale zajrzyj może pomóc.


Ja osobiście tego nie robię a jedynie za pomocą klawiszy “Fn” (funkcyjnych) wygaszam ekran lub wyciszam głośność.
EDIT: Ostatnie polecenie (te z linku) zmodyfikować można do sesji środowiska i3
i3-screensaver-command --lock

To też nie działa błąd: pakiet pmi nie został znaleziony

Jeśli pakiet nie został znaleziony - znaczy to, że nie istnieje -czyli nie jest zainstalowany. A więc wynika z tego jakbyś nie miał w tym środowisku zainstalowanego “pmi”
Dodam, że tutaj tylko “gdybam” - bo już bardzo, bardzo dawno nie używałem środowiska i3

Próbowałem go zainstalować ale go nie znajduje błąd: pakiet pmi nie został znaleziony

Tzn. że pakietu nie ma w oficjalnych repozytoriach. A prostą i pierwsza zasadą jest nieinstalowanie pakietów spoza oficjalnego repo.
Nie piszesz jakiego systemu używasz a jedynie że masz środowisko graficzne i3

Używam Manjaro.

Zajrzyj tutaj

A czy włączyłeś hibernację podczas instalacji systemu. Jeśli nie to trzeba ją wpierw włączyć, żeby działała – odsyłam tutaj.

Jeśli to nie to, to pewnie coś jest źle skonfigurowane – zajrzyj tutaj.

Jeżeli systemctl hibernate nie zadziałał prawidłowo, to muszę zadać kilka pytań:

  • masz partycję swap? Osobną partycję, nie swap w pliku;
  • jeżeli jest, to czy jest aktywna?
    $ di | grep 'swap'
    $ cat /proc/meminfo | grep 'SwapTotal'
  • jeżeli jest aktywna, to czy masz włączone wykorzystywanie swap’a (nie jestem pewien, czy jest, to potrzebne do hibernacji)?
  • partycja jest montowana przy starcie systemu?
    $ cat /etc/fstab | grep 'swap'

Mam tylko plik swap, nie mam partycji.

Robię to co pisze w tym poradniku ale nie wiem gdzie mam wpisać to sudo kernel /boot/vmlinuz-4.1-i686 root=/dev/sda5 resume=/swapfile rw

di | grep 'swap'
bash: di: nie znaleziono polecenia
cat /proc/meminfo | grep 'SwapTotal'
SwapTotal: 16777212 kB
cat /etc/fstab | grep 'swap'
/swapfile none swap sw 0 0

@przemek8912, nie pisz posta pod własnym postem! Edytuj ostatni i dopisuj do niego.

Wygląda na to, że masz 16GB swap’a w pliku i nie masz partycji swap. Skonfigurowanie hibernacji na partycję jest dużo prostsze, niż do pliku. Przetestowanie tego drugiego mam w planach, ale nie na dzisiejszy wieczór.

Masz Manjaro 32-bit’owe? Pytam, bo komenda sudo kernel /boot/vmlinuz-4.1-i686 root=/dev/sda5 resume=/swapfile rw sugeruje coś takiego. Dostosowałeś ją do swoich warunków, czy przepisałeś żywcem (prawie)?

Mam manjaro 64-bit
komenda z poradnika wygląda tak
kernel /boot/vmlinuz-4.1-i686 root=/dev/sda7 resume=/dev/sda6 rw
moja tak
kernel /boot/vmlinuz-5.5-x86_64 root=/dev/sda5 resume=/swapfile rw
Zmieniłem tylko partycję w tej komendzie i vmlinuz-5.5-x86_64

Mam nadzieję, że zmieniłeś, bo we wcześniejszym poście masz i686.

Nie mam pojęcia gdzie, to wpisać i czy taką, to będzie miało składnię, bo Autor post’a pisze, że używa innego bootloader’a niż GRUB.
Owszem, w pliku /boot/grub/grub.cfg, są wpisy tego rodzaju (dotyczą poszczególnych pozycji GRUB’a i informują o tym jaki kernel i z jakimi parametrami uruchomić), choć o odmiennej składni (jasne, inny bootloader - ale wygląda na to, że można dopasować). Plik ten jednak jest generowany przez grub-mkconfig (update-grub) na bazie etc/default/grub (nie widzę problemu) i /etc/grub.d/* - tutaj odpadam, bo nie podejmuję się ich edycji. Można, to zrobić za pomocą Grub Customizer, który upraszcza sprawę, ale i tak trzeba znać składnię, aby zrobić, to prawidłowo i nie stworzyć potworka, który nie zdoła z’boot’ować systemu.


EDIT-20200204-2052 … jeszcze jedna uwaga. Zdecydowanie, zamiast /dev/sda6 zastosował bym UUID partycji (np. 5e6f3c84-928c-435c-b091-0cf58afcd583).
Być może moje wątpliwości rozwiewają dalsze wpisy w wątku, do którego odnosimy się, ale nie mam w tej chwili czasu, aby, to analizować. Nie, ze zrozumieniem, bo to dla mnie temat znany … z widzenia.

podstawowe pytanie masz manjaro-i3 czy zwykłe manjaro bo jak zwykłe to tak może być że coś nie chce zadziałać…
a jak masz manjaro-i3 to powinno wszystko działać ( u mnie działało bez problemów ) jak miałem manjaro-i3 robione przez oberona :wink: wszystko tam działało jak miałem ze 4 lata temu :smiley:

https://wiki.manjaro.org/index.php?title=I3_-_Installation_und_Konfiguration

@LinGruby
Ot tak działała hibernacja do pliku?


EDIT-20200204-2146

@przemek8912, myślę, że z całego wiersza:
kernel /boot/vmlinuz-5.5-x86_64 root=/dev/sda5 resume=/swapfile rw
istotne jest:
resume=

Problem w tym, że powyższe dotyczy nie-GRUB’a. Gdyby chodziło o GRUB’a i hibernację na partycji, to problem zamknął by się w dodaniu wpisu (na przykład):
resume=UUID=5e6f3c84-928c-435c-b091-0cf58afcd583
gdzie UUID kierował by do partycji swap.
Dodaniu wpisu w etc/default/grub, w wierszu GRUB_CMDLINE_LINUX_DEFAULT=

Jeżeli jednak mówimy o hibernacji do pliku, to może lepiej zacząć od:
https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file

forum.manjaro.pl - polskie wsparcie Manjaro. Hostowane przez: