Как мне успешно перейти в спящий режим Ubuntu 16.04?
Я испробовал почти все решения в Интернете, но ни одно из них не помогло. Я нашел мою проблему почти полностью похожей на эту
Подробно останавливаясь на моем собственном комментарии к ответу kelvinelove, файл, который он предлагает редактировать, не существовал в моей системе (новая Ubuntu 16.04). Вместо этого я сделал это:
sudo nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
Ищите эти разделы (они правы друг другом):
[Отключите, в спящем режиме по умолчанию в upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=no
[Отключите, в спящем режиме по умолчанию в вошедшем] Identity=unix-user:* Action=org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; ResultActive=no
Измените ResultActive=no на ResultActive=yes для них обоих.
Править: Gunnar указал, что этот файл перезаписывается, если определенный пакет обновляется, таким образом, в зависимости от Ваших намерений это наиболее вероятно не лучшее решение.
Источник: http://www.zedt.eu/tech/linux/enable-hibernation-xubuntu-16-04/
Я думаю, как включить, в спящем режиме для 16,04 ответов, известен всем, как описано в Ubuntu Wiki (См. ниже при необходимости в шагах). Но вещи, которые нуждаются в проверке, не полны, я думаю. По крайней мере, это - то, что я нашел.
От моих собственных тестов, я, по крайней мере, нашел одну дополнительную проверку, которую необходимо выполнить. Я не нашел об этом нигде в Интернете.
Вот некоторые проверки -
Проверка, что Вы не используете никакой btrfs разделы. Да . От моего теста я нашел, что, если Вы имеете btrfs разделы, быть в спящем режиме не будет работать. Удаление или изменение типа раздела к ext4
не помогли мне. Я должен был удалить btrfs-tools
пакет.
sudo apt-get purge btrfs-tools
Вы могли бы хотеть проверить другие новые типы раздела, которые не хорошо тестируются. Не удаляя пакет, помещая в черный список драйвер мог бы также работать, но я не протестировал это.
Также необходимо проверить, что у Вас есть раздел подкачки, достаточно большой для содержания содержания RAM. Если Ваша RAM составляет 4 ГБ, подкачка должна быть по крайней мере 4 ГБ шириной (Еще необходимо выделить немногих МБ для сейфа).
, Это включает эти шаги
, Создают файл как корень в /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
sudo -i nano /etc/polkit-1/localauthority/50-local.d/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.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
Сохранило файл путем нажатия Ctrl - O . Выход с Ctrl - Перезапуск X
polkitd
демон
sudo systemctl restart polkitd.service
Это должно включить, в спящем режиме.
Можно использовать
sudo pm-hibernate
, чтобы проверить, в спящем режиме ли работы над системой (, это будет в спящем режиме компьютер ).
, Если это не работает, проверьте, является ли Ваш размер подкачки, по крайней мере, столь же большим как Ваша RAM.
Для добавления опции к меню параметров можно создать конфигурационный файл. Откройте окно терминала и выполните эту команду:
sudo nano /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.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
Затем сохраняют изменения и закрывают нано и перезагружают систему для создания, в спящем режиме доступные, появляются на "Электропитании".
Ссылка: , Как я в спящем режиме свой компьютер? в официальной документации для Надежды Ubuntu 16.04.
это работает. Это работало на меня после попытки всех других опций.
which psql
дает мне /home/jingw222/anaconda3/bin/psql
. Но тогда интересно what' s отличающийся между этим psql
хождение с анакондой и postgresql.
– James Wong
17 October 2017 в 19:33
Во-первых, я действительно рекомендую протестировать, если машина поддерживает спящий режим, потому что причина, почему спящий режим отключен по умолчанию, состоит в том, потому что это иногда имеет неприятные результаты на некоторых машинах. Протестируйте свою машину путем открытия терминала ( Ctrl + Высокий звук + T ) и затем ввода sudo pm-hibernate
машина должна быть в спящем режиме. Разбудите свою машину после спящего режима и наблюдайте, неправильно себя ведет ли это или если это обычно действует. Если Вы страдаете от какой-либо ненормальности после спящего режима, то я советую не продолжить следующую процедуру. Однако, если это работает просто великолепно, продолжите активировать спящий режим путем выполнения этого:
sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Редактирование открытый файл и добавляют это строки:
[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
После этого перезапустите свою машину, и после входа в систему, необходимо видеть, что опция спящего режима прибавила меню питания на верхнем правом углу настроек.
systemctl
и получая его работающий в жестких случаяхДля меня, pm-hibernate
всегда сбои. После некоторых тонких настроек я смог быть в спящем режиме с помощью интерфейса systemd (init система в 16,04 и выше). Мне также удалось получить его работающий над 17,04 с файлом подкачки. Это тематическое исследование может быть полезно для других с проблемами.
Первая попытка:
sudo systemctl hibernate
Если это перестало работать, начните диагностировать: в быть в спящем режиме состоянии (HTD или ACPI S4) состояние машины записано в диск так, чтобы никакое питание не было необходимо для сохранения его. Состояние записано или в раздел подкачки или в файл подкачки.Примечание: если использование Btrfs НЕ пытается использовать файл подкачки, поскольку это может вызвать повреждение файловой системы
Ваш раздел подкачки или файл подкачки, возможно, должны быть тем же размером как RAM для разрешения спящего режима, но существует хороший шанс, Вы сможете быть в спящем режиме, если это будет, по крайней мере, 2/5 размер RAM, согласно странице Wiki Arch, так попробуйте другие шаги сначала перед увеличивающимся размером подкачки.
Если Ваша проблема состоит в том, что Вы получаете чистить ботинок вместо ожидаемого резюме, как минимум, скорее всего, необходимо установить параметр начальной загрузки для нахождения образа диска
Найдите свой раздел подкачки:
grep swap /etc/fstab
для меня это возвращается (частичный вывод)
# swap was on /dev/mmcblk0p3 during installation
где /dev/mmcblk0p3
раздел состоит в том, чтобы указать
Добавьте параметр начальной загрузки:
sudoedit /etc/default/grub
К запуску строки GRUB_CMDLINE_LINUX_DEFAULT
добавить resume=/dev/YourSwapPartition
к разделу в кавычках (заменяют раздел, который Вы определили ранее). Используя мой пример:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/mmcblk0p3"
Любое время Вы изменяете этот файл, необходимо работать sudo update-grub
или изменения не будут иметь никакого эффекта.
Теперь необходимо перезагрузить. Затем можно попытаться быть в спящем режиме путем выдачи команды:
sudo systemctl hibernate
Для возобновления нажмите кнопку питания, и система загрузится.
Если у Вас все еще есть проблемы, начните отлаживать.
Я включаю свой случай ниже как пример, но подробная информация об отладке S состояния может быть найдена в этом блоге и также этом.
Установите еще некоторые параметры начальной загрузки для получения большей информации. Удалить quiet
и splash
и добавьте initcall_debug
и no_console_suspend
который заставит init системные вызовы быть распечатанными к консоли, таким образом, можно будет наблюдать то, что идет не так, как надо. Я установил это:
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/mmcblk0p3 no_console_suspend initcall_debug"
Который помог мне видеть то, что шло не так, как надо на резюме от спящего режима.
В моем случае после резюме я потерял WiFi, и ядро ясно было расстроено как большинство команд (например, читающий что-либо из /sys
, перезагрузка модулей или любого systemctl
команда), не работал бы - процесс, будет казаться, запустится и просто зависнет (все это было бы возвращено к нормальному после перезагрузки, конечно). Наблюдая систему очень медленно закрытие и читающий все сообщения отладки, я заметил, что было много проблем с "brcm", таким образом, я предположил, что мой модуль драйвера беспроводного устройства Broadcom был виноват. Конечно же, я скорректировал свою процедуру спящего режима для разгрузки модуля сначала:
sudo modprobe -r brcmfmac
sudo systemctl hibernate
на резюме я повторно вставляю модуль
sudo modprobe brcmfmac
И все работало отлично. Я также должен поместить в черный список btsdio
модуль, который, кажется, является несовместимым с brcmfmac
Еще раз со справкой от страницы Wiki Arch и некоторого дополнительного лужения, мне удалось заставить спящий режим работать над 17,04 с файлом подкачки. Это потребовало дополнительного параметра начальной загрузки, resume_offset=n
где n является первым числом под physical_offset
в выводе sudo filefrag -v /swapfile
:
$ sudo filefrag -v /swapfile
Filesystem type is: ef53
File size of /swapfile is 1425873920 (348114 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 32767: 34816.. 67583: 32768:
1: 32768.. 63487: 67584.. 98303: 30720:
....
Поэтому дополнительный параметр начальной загрузки в моем случае resume_offset=34816
. Все еще необходимо установить параметр начальной загрузки для раздела для возобновления от. Это будет корневым разделом (или независимо от того, что делят Ваш файл подкачки, расположен на), Мои параметры теперь:
GRUB_CMDLINE_LINUX_DEFAULT="no_console_suspend initcall_debug resume=/dev/mmcblk1p2 resume_offset=34816"
Где /dev/mmcblk1p2
мой корневой раздел (Ваш, более вероятно, будет чем-то как /dev/sda2
).
Во время резюме я видел, что изображение загрузилось успешно, но в моем случае (просто пример - YMMVAPD) затем еще некоторые драйверы (i2c_designware
) бросил некоторые ошибки, и я получил замораживание полной системы на резюме. Спящий режим работает, если я разгружаю те модули в дополнение к brcmfmac
, но система быстро становится неприменимой без тех модулей. Я поэтому сделал своего рода сценарий, чтобы разгрузить ошибочные модули и сразу повторно вставить их на резюме:
# remove buggy modules
modprobe -r brcmfmac i2c_designware_platform i2c_designware_core &&
# hibernate
echo disk > /sys/power/state
# reinsert
modprobe i2c_designware_core i2c_designware_platform brcmfmac
Когда я хочу быть в спящем режиме, я работаю sudo bash script
. Это работает отлично.
Используйте systemd, установите параметр начальной загрузки для резюме от подкачки, определите ошибочные драйверы и разгрузите их перед спящим режимом инициирования. Если система не может долгое время работать без тех модулей, или необходимо разгрузить несколько, может быть легче использовать простой сценарий для инициирования спящего режима.
Необходимо вручную включить его с небольшим усилием. Это было отключено по умолчанию.
http://ubuntuhandbook.org/index.php/2014/04/enable-hibernate-ubuntu-14-04/
Затем если это не работает, который это, мог бы быть 4.4.0 проблемами ядра, и Вам, возможно, придется обновить ядро.
Существуют некоторые очень хорошие ресурсы здесь для помощи, Вы разобраться в некоторых более общих в спящем режиме проблемы в соответствии с Ubuntu.
В моем случае, под управлением Ubuntu 16.10 на Lenovo u300s, для в спящем режиме для работы правильно, я должен был сделать следующее:
Редактирование /etc/default/grub
для включения следующей строки:
GRUB_CMDLINE_LINUX_DEFAULT = "всплеск подавляют шумы pci=nomsi RESUME=UUID=92781adb-f2a6-4f15-88fc-e1ce801291dd"
, РЕЗЮМЕ отсылает к Вашему определенному файлу подкачки UUID. В частности, на моей машине установка pci=nomsi
была ключом.
Всего наилучшего
Для меня это работает, чтобы установить hibernate
пакет, перезагрузка и затем работать sudo hibernate-disk
. Я уверен, что это возможно добавить его к меню, но не стоит времени для меня.
openssh-server
необходимы точно? Почему can' t я просто имею sshd
выполнение и затем использую порт вперед на порте 22?
– AJJ
17 October 2017 в 15:47
(Я задал подобный вопрос, просящий внимание на находящиеся в systemd ответы, совместно использовав мое решение здесь для людей после этого вопроса),
Это решение прибывает из тем Fedora (они переключились на systemd только что, таким образом, существует больше материала там).
В моем случае (новые 16.04.1 установки на машине, которая всегда поддерживала спящий режим), называя устаревшее sudo pm-hibernate
казалось, не сделал ничего и актуального подхода systemd, systemctl hibernate
, возвратился бы:
Failed to hibernate system via logind: Sleep verb not supported
Оказывается, что безопасная начальная загрузка была преступником: установка 16.04 Вас спрашивают, что Вы хотите сделать с нею (который является новой вещью насколько я могу вспомнить), и я сохранил ее НА, не давая ее, очень думал.
На моей машине с безопасной начальной загрузкой НА, cat /sys/power/disk
отвеченный:
[disabled]
После перезагрузки и запрещающий безопасную начальную загрузку в настройках BIOS (они являются определенными для машины, но обычно довольно простыми) я попробовал a cat /sys/power/disk
и добрался:
[platform] shutdown reboot suspend
который выглядит лучше. И действительно вызов systemctl hibernate
результаты в успешном в спящем режиме/тают последовательность.
Кроме того, после этого я видел спящий режим, доступный как опция в различных местах графического интерфейса без потребности любого polkit
взлом. Таким образом, это кажется этим systemd
на самом деле предполагал от /sys/power/disk
то, что система не смогла быть в спящем режиме.
ITSM LAB1
и ее подпапок группе ceo
.
– Yaron
17 October 2017 в 18:29
Эта инструкция работала на мою установку Ubuntu 18.04.
sudo apt install hibernate
Это установит, в спящем режиме и другие зависимости, которые необходимы для спящего режима grep swap /etc/fstab
(fing UUID) sudoedit /etc/default/grub
В строке, GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск" добавляют UUID подкачки. Строка похожа на этот GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск resume=UUID подкачки" sudo update-grub
sudo systemctl hibernate
. Если все работает, хорошо добавляют запись меню. sudo gedit /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.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
скопированный от https://Перезапуск askubuntu.com/a/819891/712203
При попытке перевести систему в режим гибернации (глубокий сон, при котором ОЗУ записывается на диск) возникла следующая ошибка
$ sudo systemctl hibernate
Failed to hibernate system via logind: Sleep verb not supported
. Следующие шаги решают проблему (протестировано на Thinkpad X1 Carbon 7th Gen, Ubuntu 19.10). Большинство из них заимствовано из здесь .
Создайте файл подкачки размером с RAM или больше. Здесь необходимо выполнить несколько шагов, а именно:
a. Отключить своп.
$ sudo swapoff -a
б. Создайте файл размером больше или равным ОЗУ. У меня 16 ГБ, поэтому:
$ sudo dd if = / dev / zero of = / swapfile bs = 1G count = 16
16 + 0 записей в
16 + 0 записей
17179869184 байта (17 ГБ, 16 ГиБ) скопировано, 19,3685 с, 887 МБ / с
с. Установите правильные разрешения для файла:
$ sudo chmod 600 / swapfile
d. Сделайте файл подкачки:
$ sudo mkswap / swapfile
Настройка пространства подкачки версии 1, размер = 16 ГиБ (17179865088 байт)
без метки, UUID = 3b2e6f0c-ce12-4a84-9044-d99bfba059ea
e. Включите подкачку и проверьте, правильно ли он установлен:
$ sudo swapon / swapfile
$ cat / proc / swaps
Имя файла Тип Размер Используемый приоритет
/ swapfile файл 16777212 0-2
ф. Чтобы своп загружался после перезагрузки, мы должны добавить его в / etc / fstab
. Таким образом, выполните следующую команду, чтобы открыть файл:
$ sudo gedit / etc / fstab
И обновите его, добавив последнюю строку, как показано ниже. Обратите внимание, что я также прокомментировал свой исходный своп, поскольку он мне не нужен.
/ dev / mapper / vgubuntu-root / ext4 errors = remount-ro 0 1
# / загрузка была на / dev / nvme0n1p2 во время установки
UUID = d265e7c4-1a4f-49c4-af29-fea2543490d7 / boot ext4 по умолчанию 0 2
# / boot / efi был на / dev / nvme0n1p1 во время установки
UUID = 0004-FB5F / boot / efi vfat umask = 0077 0 1
# / dev / mapper / vgubuntu-swap_1 нет подкачки sw 0 0
/ swapfile нет swap sw 0 0
г. Выполните перезагрузку и выполните эту команду, чтобы увидеть, появляется ли своп:
cat / proc / swaps
Имя файла Тип Размер Используемый приоритет
/ swapfile файл 16777212 0-2
Теперь пора обновить личинку. а. Запустите эту команду, чтобы открыть grub:
$ sudoedit / etc / default / grub
б. Найдите место монтирования root, выполнив следующую команду.
$ mount | grep "/"
/ dev / mapper / vgubuntu-root для / типа ext4 (rw, relatime, errors = remount-ro)
с. Итак, разум установлен на / dev / mapper / vgubuntu-root
. Найдите UUID этого местоположения, запустив:
$ sudo blkid
/ dev / mapper / nvme0n1p3_crypt: UUID = "AZrE57-dlNc-BiUr-RrTF-SdT2-luVK-vrliNq" TYPE = "LVM2_member"
/ dev / mapper / vgubuntu-root: UUID = "2331fe68-3e7a-4937-9cfa-74fc7a4b79f6" TYPE = "ext4"
/ dev / nvme0n1p1: UUID = "0004-FB5F" TYPE = "vfat" PARTLABEL = "Системный раздел EFI" PARTUUID = "09813156-6b7a-4fc2-b644-a8c6b7d40abf"
/ dev / nvme0n1p2: UUID = "d265e7c4-1a4f-49c4-af29-fea2543490d7" TYPE = "ext4" PARTUUID = "64f5da2f-71d3-4f02-9b1e-3e12d7f6c445"
/ dev / nvme0n1p3: UUID = "201acba5-ff20-46ee-9000-34efefef3fbe" TYPE = "crypto_LUKS" PARTUUID = "16858e70-eb08-4de8-b944-50689cad9d9f"
/ dev / sda1: LABEL = "ST64GB" UUID = "624AB7B308FE9F38" TYPE = "ntfs" PTTYPE = "dos"
/ dev / mapper / vgubuntu-swap_1: UUID = "af3b29a2-ba6b-44de-89dd-072f4233aaf9" TYPE = "swap"
UUID в этом случае - 2331fe68-3e7a-4937-9cfa-74fc7a4b79f6
. Сохраните этот UUID.
d. Далее нам нужно найти смещение файла подкачки. Выполните эту команду:
$ sudo filefrag -v / swapfile
Тип файловой системы: ef53
Размер файла / swapfile - 17179869184 (4194304 блока по 4096 байт)
ext: логическое_смещение: физическое_смещение: длина: ожидается: флаги:
0: 0 .. 32767: 835584 .. 868351: 32768:
1: 32768 .. 49151: 868352 .. 884735: 16384:
2: 49152 .. 81919: 886784 .. 919551: 32768:
...
Мы ищем pysical_offset первого блока. В приведенном выше случае это будет 835584
. Сохраните и этот номер.
е. Сейчас нам нужно обновить личинку. Выполните следующую команду:
$ sudoedit / etc / default / grub
Обновите следующее содержимое. Мы обновляем GRUB_CMDLINE_LINUX_DEFAULT
и добавляем GRUB_RECORDFAIL_TIMEOUT = 0
.
# Если вы измените этот файл, запустите "update-grub" потом, чтобы обновить
# /boot/grub/grub.cfg.
# Полную документацию по параметрам в этом файле см .:
# info -f grub -n 'Простая конфигурация'
GRUB_DEFAULT = 0
GRUB_TIMEOUT_STYLE = скрыто
GRUB_TIMEOUT = 0
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "тихое возобновление заставки = UUID = 2331fe68-3e7a-4937-9cfa-74fc7a4b79f6 resume_offset = 835584"
GRUB_CMDLINE_LINUX = ""
# Предотвращение появления grub при загрузке при выходе из спящего режима
GRUB_RECORDFAIL_TIMEOUT = 0
ф. После обновления файла grub выполните эту команду:
$ sudo update-grub
Так и должно быть. Теперь вы можете перевести систему в спящий режим, запустив
$ sudo systemctl hibernate