Система не спит; экран мигает на несколько секунд и больше ничего не происходит
Я только что обновил свой Ubuntu 11.10 до 12.04. У меня проблема с гибернацией в моем новом 12.04.
Я запускаю следующую команду
sudo pm-hibernate
но моя система не находится в спящем режиме, т.е. моя система не выключается; скорее, экран просто мигает в течение нескольких секунд и возобновляет предыдущее состояние.
Как исправить эту проблему и включить спящий режим в моей системе?
4 ответа
Что-то в конфигурации вашего оборудования несовместимо с методологией спящего режима ядра. К сожалению, это трудно устранить, если только у аварийного агента не очень похожая система.
Вместо этого вы можете попробовать альтернативный режим гибернации TuxOnIce ( wikipedia).
- TuxOnIce ( wiki | homepage) является альтернативой встроенной в ядро технологии гибернации и должна быть совместимой с более широким спектром оборудования, более надежной и более гибкой.
- Он легко устанавливается, а если он у вас не работает, так же легко удаляется.
Для этого требуется установить собственное ядро TuxOnIce, но приведенные ниже инструкции должны упростить его. Если вы никогда не открывали терминал раньше, вы можете захотеть сделать это сейчас:-)
0. Требования
Единственным требованием для TuxOnIce является то, чтобы ваш раздел подкачки был как минимум таким же большим, как объем памяти (RAM), который у вас есть. Вы можете проверить это:
Запустите терминал с помощью Ctrl + Alt + T
Тип
free -m
и вы должны увидеть что-то вроде этого:общее количество использованных свободных общих буферов в кеше Память: 1024 731 260 0 0 190 -/+ буферы / кэш: 540 451 Обмен: 1536 6 1530
Число после
Swap:
(например, 1536) должно быть больше, чем число послеMem:
(например, 1024)Если это не так, и ваш раздел подкачки меньше вашей памяти, вы должны либо изменить размер и увеличить размер раздела подкачки, либо настроить TuxOnIce для использования специального файла подкачки. Это выходит за рамки этого ответа, но если вы зададите другой вопрос и упомянете его в комментариях, я отвечу и объясню, как это сделать.
1. Установка ядра TuxOnIce
Запустите терминал с помощью Ctrl + Alt + T
- Скопируйте и вставьте следующее в терминал. Это добавляет TuxOnIce PPA и устанавливает собственное ядро и заголовки.
sudo apt-add-repository ppa: tuxonice / ppa -y
и как только ppa добавляется:sudo apt-get update sudo apt-get установить tuxonice-userui linux-generic-tuxonice -y sudo apt-get установить linux-headers-generic-tuxonice -y
- Теперь перезагрузите компьютер.
Ubuntu теперь должен запускаться с ядром TuxOnIce. Если есть какие-либо проблемы, удерживайте нажатой клавишу Shift при запуске, и вы получите меню Grub. Используйте клавиши со стрелками, чтобы перейти к
Previous Linux Versions
, нажмите ввод и снова нажмите ввод, чтобы вернуться к рабочему ядру.2. Тестирование функциональности гибернации.
Откройте некоторые приложения, которые вы обычно используете, например Firefox, Thunderbird, LibreOffice и т. Д.
- Снова откройте терминал, нажав Ctrl + Alt + T.
- Тип
sudo pm-hibernate
, нажмите ввод, введите свой пароль. Вы должны увидеть экран блокировки на секунду, а затем экран прогресса гибернации TuxOnIce, как показано ниже:
- Если TuxOnIce работает, ваш компьютер выключится.
- Запустите его снова и подождите. TuxOnIce должен возобновить работу с той точки, в которой вы находились в спящем режиме, включая все окна, которые вы открывали в позиции, которую вы открыли.
Если все это сработало, перейдите к шагу 3, который позволяет включить Hibernate на панели инструментов.
3. Включение гибернации с панели инструментов
Нажмите Alt + F2, введите ниже и затем нажмите ввод:
gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Вставьте ниже, нажмите Ctrl + S, чтобы сохранить и Ctrl + Q, чтобы выйти из редактора:
[Включить спящий режим по умолчанию] Идентичность = Unix-пользователь:* Действие =org.freedesktop.upower.hibernate ResultActive= да
Перезапустите, и вы должны увидеть опцию Hibernate, как показано ниже:
4. Удаление TuxOnIce
Если TuxOnIce у вас не работает или вы просто хотите удалить его, запустите терминал и введите:
sudo apt-get удалить tuxonice-userui linux-generic-tuxonice linux-generics-generic-tuxonice -y
и не забудьте отключить опцию Hibernate в меню с помощью:
sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Затем перезагрузите.
Это сработало для меня. В консоли запустите:
sudo apt-get install uswsusp
Затем вы можете попытаться приостановить работу вашего компьютера с помощью:
sudo s2ram
или в спячке с
sudo s2disk
Если это работает для вас, просто перезагрузите компьютер, и вы сможете перейти в спящий режим позже, используя обычную кнопку (в правом верхнем углу на Unity Desktop и выбрав Hibernate).
Я сделал краткое руководство по этой и другим вопросам для Dell XPS 13 Developer Edition, доступное здесь.
У меня была эта проблема раньше. Если ваш раздел подкачки меньше, чем объем памяти, который вы хотите сохранить на жестком диске во время гибернации, вы можете получить эту проблему.
Вы можете изменить размер раздела подкачки или использовать файл подкачки (это гораздо проще, если у вас нет свободного места для изменения размера раздела подкачки).
Вот как это сделать:
Откройте окно терминала (нажмите Ctrl+Alt+T или выберите Приложения> Стандартные> Терминал) или войдите на удаленный сервер с помощью клиента ssh.
Создать файл хранилища
Введите следующую команду, чтобы создать файл подкачки 512 МБ (1024 * 512 МБ = 524288 размер блока):
sudo dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
Пример выходов:
524288+0 records in 524288+0 records out 536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
if=/dev/zero
означает чтение из /dev/zero файла./dev/zero
это специальный файл, который содержит нулевые символы для создания файла хранилища/swapfile1
,of=/swapfile1
означает запись файла хранения в/swapfile1
,bs=1024
означает чтение и запись 1024 байта за раз.count=524288
означает копировать только 523288 блоков ввода блоков.
Безопасный файл подкачки
В целях безопасности установите правильное разрешение для файла, введя:
sudo chmod 0600 /swapfile1
Всемирно читаемый файл подкачки - это огромная локальная уязвимость. Приведенная выше команда гарантирует, что только пользователь root может читать и записывать в файл.
Установить область подкачки Linux
Введите следующую команду, чтобы настроить область подкачки Linux в файле:
sudo mkswap /swapfile1
Пример выходов:
Setting up swapspace version 1, size = 524284 KiB no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
Включить файл подкачки
Наконец, чтобы активировать
/swapfile1
поменяйте местами сразу, введите:sudo swapon /swapfile1
Обновить
/etc/fstab
файл для активации/swapfile1
после перезагрузки системы Linux добавьте запись в/etc/fstab
файл. Откройте этот файл с помощью текстового редактора, такого как vi:sudo vi /etc/fstab
Добавьте следующую строку:
/swapfile1 none swap sw 0 0
Сохраните и закройте файл. В следующий раз, когда Linux перезагрузится, он автоматически включит новый файл подкачки.
Как проверить, активирован ли своп или нет?
Просто используйте
free
команда:free -m
Вот ссылка, откуда я получил этот учебник: Добавить файл подкачки
Насколько я знаю, это не работает в 12.04. Каким-то образом они не включали поддержку гибернации, так как на некоторых машинах это было с ошибками.