Система не спит; экран мигает на несколько секунд и больше ничего не происходит


8

Я только что обновил свой Ubuntu 11.10 до 12.04. У меня проблема с гибернацией в моем новом 12.04.

Я запускаю следующую команду

sudo pm-hibernate

но моя система не находится в спящем режиме, т.е. моя система не выключается; скорее, экран просто мигает в течение нескольких секунд и возобновляет предыдущее состояние.

Как исправить эту проблему и включить спящий режим в моей системе?


Вы проверили свои настройки BIOS
Mitch

2
@izx Я тоже так думал ... но если подумать, разве не должно sudo pm-hibernateработать даже до того, как гибернация будет включена в 12.04? Это рекомендуемый способ проверить это перед включением ... не так ли? Что мне не хватает?
Элия ​​Каган

@EliahKagan - Ты абсолютно прав - я прыгнул слишком быстро. sudo pm-hibernateдолжен работать независимо от настроек polkit.
Иш

Ответы:


6

Что-то в конфигурации вашего оборудования несовместимо с методологией спящего режима ядра. К сожалению, это трудно устранить, если только у аварийного агента не очень похожая система.

Вместо этого вы можете попробовать альтернативный режим гибернации 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, нажмите Enter, введите свой пароль.
  • Вы должны увидеть экран блокировки на секунду, а затем экран прогресса гибернации 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
    • Затем перезагрузите.


Вы должны упомянуть эту ссылку: askubuntu.com/questions/178712/… в ответ, если у пользователя недостаточно свопа.
Кири

4

Это сработало для меня. В консоли запустите:

sudo apt-get install uswsusp 

Затем вы можете попытаться приостановить работу вашего компьютера с помощью:

sudo s2ram

или в спячке с

sudo s2disk

Если это работает для вас, просто перезагрузите компьютер, и вы сможете перейти в спящий режим позже, используя обычную кнопку (в правом верхнем углу на Unity Desktop и выбрав Hibernate).

Я сделал краткое руководство по этой и другим вопросам для Dell XPS 13 Developer Edition, доступное здесь .


Просто и хорошо работает. Однако есть опечатка, имя пакета uswsusp. Кроме того, спящий режим не работал с первой попытки: он выключился, а затем загрузился нормально. Могу поспорить, что это традиционная вещь «перезагрузка для обновления конфигурации».
Norswap

вау, это просто, гибернация работала на моем Dell Latitude E6400 с бета-версией Ubuntu 14.04.
Андреа Зонка

У меня не было никаких проб с гибернацией еще в 8.04. Я уверен, что многие опытные пользователи работают без сбоев.
userDepth

1

У меня была эта проблема раньше. Если ваш раздел подкачки меньше, чем объем памяти, который вы хотите сохранить на жестком диске во время гибернации, вы можете получить эту проблему.

Вы можете изменить размер раздела подкачки или использовать файл подкачки (это гораздо проще, если у вас нет свободного места для изменения размера раздела подкачки).

Вот как это сделать:

  1. Откройте окно терминала (нажмите Ctrl+ Alt+ Tили выберите Приложения> Стандартные> Терминал ) или войдите на удаленный сервер с помощью клиента ssh.

  2. Создать файл хранилища

    Введите следующую команду, чтобы создать файл подкачки 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 блоков ввода блоков.
  3. Безопасный файл подкачки

    В целях безопасности установите правильное разрешение для файла, введя:

    sudo chmod 0600 /swapfile1
    

    Всемирно читаемый файл подкачки - это огромная локальная уязвимость. Приведенная выше команда гарантирует, что только пользователь root может читать и записывать в файл.

  4. Установить область подкачки Linux

    Введите следующую команду, чтобы настроить область подкачки Linux в файле:

    sudo mkswap /swapfile1
    

    Пример выходов:

    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
    
  5. Включить файл подкачки

    Наконец, чтобы /swapfile1немедленно активировать пространство подкачки, введите:

    sudo swapon /swapfile1
    
  6. Обновление /etc/fstabфайла Чтобы активировать /swapfile1после перезагрузки системы Linux, добавьте запись в /etc/fstabфайл. Откройте этот файл с помощью текстового редактора, такого как vi:

    sudo vi /etc/fstab
    

    Добавьте следующую строку:

    /swapfile1 none swap sw 0 0
    

    Сохраните и закройте файл. В следующий раз, когда Linux перезагрузится, он автоматически включит новый файл подкачки.

  7. Как проверить, что своп активирован или нет?

    Просто используйте freeкоманду:

    free -m
    

Вот ссылка, откуда я получил этот учебник: Добавить файл подкачки


Файл подкачки не должен быть включен, /etc/fstabи это не нужно, чтобы включить его.
Занна

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.