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

14

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

Я использовал спящий режим 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

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

IMG:

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

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

...$ sudo swapon -s

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

...$
Энрико Мария Де Анжелис
источник
Может быть, это из-за BIOS. В моем BIOS я захожу в Управление питанием, и там должен быть вариант, что делать, когда приостановить. Обычно у меня S1, но дело в S3.
дата
Оставайтесь в темноте здесь, но вы должны изучить настройки BIOS и просмотреть их. Получите ваше руководство и проверьте его. В прошлом у меня было бесчисленное множество проблем, в качестве решения которых использовался переключатель BIOS.
Джонатан
1
Отменить очень плохую идею. Это было доказательством того, как заставить Ubuntu использовать пространство подкачки для гибернации. От /etc/initramfs-tools/conf.d/resumeимени root с помощью sudo удалите добавленную последнюю строку из и добавленные две строки возобновления etc/default/grub, запустите последние две строки, чтобы обновить grub и initrd. Удалить / файл подкачки. Беги sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target. Попробуйте любую из этих целей с sudo systemctl suspend. Что происходит?
emk2203
В конце концов я решил переустановить Ubuntu 15.10. Теперь гибернация снова работает. Возможно я установлю 16.04 на другой раздел. Когда я это сделаю, я буду ссылаться на этот вопрос и ответы.
Энрико Мария Де Анжелис

Ответы:

6

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

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

Создайте файл в pmкаталоге config:

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

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

HIBERNATE_MODE="shutdown"

После этого hibernate выключил машину по завершении, как и ожидалось. Объяснение того, что HIBERNATE_MODEделает установка , находится в руководстве для 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) sudo systemctl hibernateвместо меню вызывается опция меню Ubuntu sudo pm-hibernate. systemctl hibernateбыло исправлено для меня, добавив следующее содержимое в файл /etc/systemd/sleep.conf:

      [Sleep]
      HibernateMode = выключение

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

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

BT
источник
2

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

sudo pm-hibernate

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

sudo apt-get install gparted
DigiGoon
источник
2

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

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

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

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

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

penguinwizzard
источник
Решает ли это проблему только для подвески или также для спящего режима?
Энрико Мария Де Анжелис
0

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

Попробуй это

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
Джарвис
источник
Как я уже писал, sudo pm-hibernate очень хорошо работал до обновления с 15.10 до 16.04LTS. Так что проблема должна касаться версии 16.04LTS. Кроме того, возможно я сделал что-то очень неправильное, следуя инструкциям, не понимая их. Не могли бы вы помочь мне исправить эти проблемы?
Энрико Мария Де Анжелис