На этот вопрос уже есть ответ здесь:
Гибернация на моем Ubuntu 18.04 не работала из коробки (я имею в виду sudo systemctl hibernate
). Некоторое время назад я предпринял несколько попыток исправить это и, к сожалению, не могу точно вспомнить, что я сделал.
Но теперь:
sudo hibernate
успешно переводит систему в спящий режим, и при следующей загрузке состояние системы успешно восстанавливается, за исключением того, что экран входа в систему не появляется, что нехорошо. И если у меня работает много приложений, то после такого возобновления система может зависнуть на срок до 20 минут (я вижу окна приложений, могу двигать указатель мыши, но система не реагирует на щелчки), но после этого работает нормально.
sudo systemctl hibernate
что-то делает, выключает систему, но при следующей загрузке я вижу несколько сообщений удалить потерянный узел и, наконец, выполнить чистую загрузку, как будто гибернации не было.
Пожалуйста, помогите мне разобраться и включить гибернацию в графическом интерфейсе.
В то же время режим ожидания в памяти и возобновление из памяти работает без проблем, включая экран входа в систему при возобновлении .
Мой главный вопрос: какой из двух механизмов hibernate
или systemctl hibernate
мне следует использовать с 18.04?
Подробности
В системе есть раздел подкачки
$ 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
, а в / etc / default / grub
он имеет
GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash resume = / dev / sda5" {{ 1}} GRUB_CMDLINE_LINUX = ""
и
$ cat /sys/power/state
freeze mem disk
$ cat /sys/power/disk
[platform] shutdown reboot suspend test_resume
Наконец Мне удалось заставить работать гибернацию. Пока у меня нет глубокого понимания предмета, я лучше опишу то, что я сделал. Итак
sudo update-initramfs -c -k all
и reboot
После этого Попытка перехода в спящий режим завершилась чистой загрузкой вместо возобновления. Затем
в / etc / default / grub
GRUB_CMDLINE_LINUX_DEFAULT = "тихое возобновление всплеска = UUID = 2c8ec945-6967- 4538-93ef-49eb4df6f2a1 "
в /etc/initramfs-tools/conf.d/resume
RESUME = UUID = 2c8ec945-6967-4538-93ef-49eb4df6f2a1
затем
$ sudo update-initramfs -c -k all
$ sudo update-grub
$ reboot
sudo systemctl hibernate
и возобновить работу удалось, но без экрана входа в систему, поэтому
Теперь, когда я нажимаю кнопку питания система переходит в спящий режим, а затем восстанавливается через экран входа в систему.
Большое спасибо всем участникам.
UPD: Теперь я нашел еще лучшее решение - используйте файл подкачки
Я проверил это при новой настольной установке Ubuntu 18.10 и предположил, что она будет работать и со свежей настольной установкой 18.04, поскольку они оба используют файл подкачки по умолчанию, то есть по умолчанию они не выделяют раздел подкачки .Но файл подкачки по умолчанию составляет 2 ГБ независимо от размера системной памяти, поэтому его следует увеличить.
Полное описание, например, здесь .
Существует два превосходных ответа на вопросы о спящем режиме с немного большим количеством детали здесь:
Мало Древнего Лесного ответа Kami на: Ubuntu 18.04 не может возобновиться после того, как будут в спящем режиме
Ответ Zanna на: Как я могу быть в спящем режиме на Ubuntu 16.04?
Я обычно не использую, в спящем режиме, но пытался использовать его недавно при упорно искании ошибки и понял, что для работы над 18,04, необходимо добавить строку к/etc/default/grub для сообщения этого, откуда возобновиться.
На 16,04 это не было необходимо, чтобы я добавил 'резюме =' параметр для расчистки, таким образом, я думаю, что изменение произошло относительно недавно.
Вы являетесь, вероятно, лучшими для использования UUID (Универсально Уникальный идентификатор) и можете использовать 'Дисковую' программу, чтобы узнать UUID раздела подкачки и просто скопировать и вставить его оттуда.
Использовать sudo nano /etc/default/grub
добавить к строке
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
так, чтобы это имело дополнительный параметр ядра resume=UUID=theUUIDofyourswappartition
промежуточный кавычки.
Ваш будет отличаться, но в моем случае строка:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=549816d3-0ed8-44fa-a7e4-968db519a141"
(выйдите из нано с помощью Ctrl+x, нажмите y, чтобы внести изменения и войти для принятия имени файла),
Необходимо работать sudo update-grub
для внесения изменений эффективными, но когда Вы затем перезагружаете, необходимо смочь быть в спящем режиме без проблем.
Насколько я знаю, функциональность в спящем режиме, должен возобновить туда, где Вы кончили, так не разработан для движения во вход в систему, экранируют и просят пароль.
Я не знаю, можно ли изменить его так, чтобы это попросило пароль, но могло бы стоить задать отдельный вопрос, чтобы видеть, знает ли кто-то еще, что сделать.
Если у Вас есть своп-файл вместо отдельного раздела подкачки затем, также необходимо добавить дополнительное resume_offset=
параметр.
Wiki Linux Дуги имеет большой раздел по этому, но в основном Ваш файл подкачки должен быть на основном разделе, на котором Вам установили Ubuntu.
Для обнаружения смещения, чтобы вставить resume_offset=
можно открыть терминал и тип
sudo filefrag -v /swapfile
Вы получите что-то, что похоже на это:
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...
и Вы хотите первое число, в первой строке это находится под physical_offset
(в этом случае 34816
)
Таким образом, так же, как пример, с помощью UUID и физического смещения моей машины со Своп-файлом, я изменился GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
строка, чтобы быть
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=09e601cd-5bac-491a-9115-fda1b2eb4664 resume_offset=34816"
Не забывайте работать sudo update-grub
и перезагрузка, но после этого в спящем режиме, должен работать правильно.