Ubuntu 16.04 не вимикається після призупинення або сплячки


14

Насправді моє запитання може бути ідентичним цьому на цьому форумі (а також і в іншому місці ); насправді питання те саме, але я його все одно задаю, тому що я можу дати більше інформації та тому, що я спробував якесь рішення, знайдене в Інтернеті (можливо, погіршилося).

Раніше я перезимував Ubuntu 15.10 (закриваючи кришку). Тепер, коли я оновив його до 16.04 (я вважав, що це добре, оскільки ця версія є LTS, на відміну від 15.10), я більше не можу використовувати сплячку (ні підвіску!): Якщо я спробую використовувати її, Ubuntu не працює ' t вимикається, просто екран стає чорним, світлодіодний індикатор увімкнено, і я не можу зробити нічого іншого, крім відключення його вручну (довге натискання кнопки живлення). Коли я знову включаю його, я бачу наступні рядки

введіть тут опис зображення

тоді 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

Тільки перший частково працював і лише один раз: частково я маю на увазі, що після жорстокого припинення сеанс відновився.

Тоді я спробував виконати цю пропозицію . Я не розумів коментарів, написаних після команд, тому я буквально ввів команди такими, якими вони є (думаючи, що помилка на зразок "ця команда / папка не існує" сталася б, якби щось замінити в командах ):

EDIT

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:

Врешті-решт я знайшов питання, пов'язане вище, і поїхав сюди , але не знаю, що робити.

EDIT 2 На даний момент, якщо я ввійду

...$ sudo swapon -s

Я нічого не отримую

...$

Можливо, це через BIOS. У моєму BIOS я переходжу до Управління живленням і повинен бути варіант, що робити при зупинці. Зазвичай моя є S1, але S3 - річ.
dat tutbrus

Тут постукуйте в темряві, але вам слід вивчити налаштування BIOS і перейти до них. Дістаньте свою інструкцію та перегляньте її. У мене в минулому було безліч проблем, які мали рішення BIOS-комутатора.
Джонатан

1
Скасуйте дуже погану ідею. Це було підтвердженням того, як змусити Ubuntu використовувати місця для обміну для сну. Як root з sudo, видаліть доданий останній рядок із /etc/initramfs-tools/conf.d/resumeта додані дві строфи резюме 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_MODEробиться, є в посібнику для вечора сплячки :

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

У моєму файлі за замовчуванням був такий platform. Встановивши змінну вище, щоб shutdownзмінити це, і отримаємо те, що ми хочемо, щоб відбулося.

Пов’язана інформація та поради, як зробити сплячку для правильної роботи:

Щодо тих "пов’язаних питань", схоже, всі мають поради зі сплячки та швидкі поради щодо налагодження:

  1. Перевірте, що команда sudo pm-hibernateнасправді щось робить. Якщо ні, жоден із цих інших порад не матиме жодного значення. Якщо це не працює, переконайтеся, що 1) розмір вашого розділу swap більше, ніж у вашої оперативної пам’яті, і 2) захищене завантаження відключено у вашому BIOS.

  2. Тільки після того, як ця команда спрацює, погляньте на інтеграцію сплячого режиму у вашу систему як завгодно. Кілька поширених:

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

      [Сон]
      HibernateMode = вимкнення

      Якщо файл ще не існує, його можна створити. Більше інформації тут .

    • Змініть поведінку кнопки живлення (за замовчуванням вона відображається в інтерактивному меню): щоб змінити її в режим глибокого сну або вимкнення, потрібно змінити пов'язаний з цим запис. Дуже багато відповідей проходять через графічний інтерфейс, якщо це пливе ваш човен. Щоб переглянути доступні опції, скористайтесяgsettings range org.gnome.settings-daemon.plugins.power button-power


2

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

sudo pm-hibernate

Ви можете створити розділ swap за допомогою GParted, запустіть це, щоб встановити його

sudo apt-get install gparted

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 ).


Чи вирішило це проблему лише для зупинки, а також для сплячки?
Енріко Марія Де Анджеліс

0

Hibernate вимкнено за замовчуванням.

Спробуйте це

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. Крім того, можливо, я зробив щось дуже неправильне, слідуючи інструкції, не розуміючи їх. Чи можете ви допомогти мені у виправленні цих проблем?
Енріко Марія Де Анджеліс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.