Ubuntu 16.04 не закрывается после приостановки или спящего режима

На самом деле мой вопрос может показаться идентичным этому на этом форуме (а также на другом); на самом деле вопрос тот же, но я все равно задаю его, потому что могу дать больше информации и потому, что попробовал какое-то решение, найденное в Интернете (возможно, ухудшающееся).

Я использовал спящий режим Ubuntu 15.10 (закрывая крышку). Теперь, когда я обновил его до 16.04 (я подумал, что это хорошо, так как эта версия - LTS, в отличие от 15.10), я больше не могу использовать спящий режим (или приостановку!): Если я пытаюсь его использовать, Ubuntu не ' Выключить, просто экран становится черным, индикатор питания включен, и я не могу ничего сделать, кроме как выключить его вручную (длительное нажатие кнопки питания). Когда я снова включаю его, я вижу следующие строки

тогда Ubuntu загружается.

Отсюда я попробовал с

sudo -s
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

а также

sudo -s
echo platform > /sys/power/disk
echo disk > /sys/power/state

Только первое частично сработало и только один раз: под частичным я имею в виду, что после зверского закрытия сеанс восстановился.

Тогда я попытался последовать этому предложению. Я не понимал комментарии, написанные после команд, поэтому я буквально ввел команды такими, какие они есть (думая, что возникла бы какая-то ошибка типа "эта команда / папка не существует", если бы в командах было что-то заменить):

РЕДАКТИРОВАТЬ

cat /proc/meminfo
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1024 count=8M
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo -b gedit /etc/fstab
free -m
swapon

mount | grep " / "
sudo blkid -g
sudo blkid
sudo filefrag -v /swapfile | grep "First block:"
sudo filefrag -v /swapfile
echo "resume=UUID=cdXX--X18 resume_offset=66050" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo -b gedit /boot/grub/menu.lst
sudo -b gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=cdXX--X18 resume_offset=66050"
sudo update-grub -y
sudo update-initramfs -u

Может быть, это была ужасная идея, так как теперь я понимаю это.

В конце концов я нашел вопрос, связанный выше, и пошел сюда, но я не знаю, что делать.

РЕДАКТИРОВАТЬ 2 В данный момент, если я вхожу

...$ sudo swapon -s

Я абсолютно ничего не получаю

...$

4 ответа

Принудительный режим гибернации для выключения машины:

После долгих поисков ответа на этот вопрос, который фактически касался проблемы (не связанных), я нашел здесь подсказку, которая выполнила работу за меня:

Создайте файл в pm каталог конфигурации:

sudo vim /etc/pm/config.d/hibernate_mode

который устанавливает переменную HIBERNATE_MODE вот так:

HIBERNATE_MODE="shutdown"

После этого hibernate выключил машину по завершении, как и ожидалось. Объяснение того, что настройка HIBERNATE_MODE do находится в руководстве для pm-hibernate:

Метод по умолчанию для отключения системы при спящем режиме. Если не установлено, система будет использовать ядро ​​по умолчанию в качестве значения по умолчанию. Проверьте / sys / power / disk на допустимые значения. Значение по умолчанию будет заключено в [квадратные скобки].

Мой файл по умолчанию в этом файле был platform, Установка переменной выше shutdown переопределяет это и получает то, что мы хотим.

Связанная информация и советы по правильной работе спящего режима:

Что касается тех "связанных проблем", которые, похоже, есть у каждого с гибернацией, советами по быстрой отладке:

  1. Проверьте, что команда sudo pm-hibernate на самом деле что-то делает. Если нет, ни один из этих других советов не будет иметь никакого значения. Если это не работает, убедитесь, что 1) размер вашего раздела подкачки больше, чем у вашей оперативной памяти, и 2) безопасная загрузка отключена в вашем BIOS.

  2. Только после того, как эта команда сработает, посмотрите на интеграцию hibernate в вашу систему, как вам угодно. Несколько общих:

    • Добавьте спящий режим в меню Ubuntu: мне кажется, это лучший ответ. Официальная документация также имеет немного другую версию.
      Примечание: после того, как hibernate добавлен в меню Ubuntu, вам также может понадобиться исправить альтернативный вызов sudo systemctl hibernate, Очевидно, (по крайней мере, для Ubuntu 16.04) пункт меню Ubuntu вызывает sudo systemctl hibernate вместо sudo pm-hibernate, systemctl hibernate было исправлено для меня путем добавления следующего файла в файл /etc/systemd/sleep.conf:

      [Спать]
      HibernateMode = отключение

      Если файл еще не существует, вы можете его создать. Больше информации здесь.

    • Измените поведение кнопки питания (по умолчанию она отображается в интерактивном меню): чтобы изменить ее на режим гибернации или выключения, вам нужно изменить соответствующую запись gsettings. Многие другие ответы проходят через GUI, если это плавает на вашей лодке. Чтобы увидеть доступные варианты используйте gsettings range org.gnome.settings-daemon.plugins.power button-power

У меня была такая же проблема после обновления с 15.10 до 16.04:

  • Закрытие крышки ничего не делало
  • Приостановка вручную с помощью пункта меню в системном трее привела к половине приостановленного состояния с единственным выходом для сброса системы.

Я решил эти проблемы

  1. обновление ядра до 4.4.8 (после этого у меня сработало приостановление из меню)
  2. Добавление строки HandleLidSwitchDocked=suspend в /etc/systemd/logind.conf (который заставил крышку снова работать).

Я думаю, что обе проблемы являются ошибками, которые должны быть исправлены ( https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1574120).

Увидев ваше последнее изображение и EDIT 2, я могу понять, что Ubuntu не может найти раздел подкачки в вашей системе. Поэтому я предлагаю вам создать раздел подкачки, равный или превышающий размер вашей ОЗУ, и повторить попытку, запустив

sudo pm-hibernate

Вы можете создать раздел подкачки с помощью GParted, запустите его, чтобы установить его

sudo apt-get install gparted

Спящий режим отключен по умолчанию.

Попробуй это

sudo pm-hibernate

Если тест гибернации работает, вы можете продолжать использовать команду sudo pm-hibernate, когда хотите перейти в спящий режим.

Вы также можете включить режим гибернации в меню. Для этого используйте ваш любимый текстовый редактор для создания /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla. Добавьте следующее в файл и сохраните:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Подробнее о гибернации 16.04 по этой ссылке

Выключить

sudo shutdown -h now

Заново

sudo shutdown -r now
Другие вопросы по тегам