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

Я только что обновил свой 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, доступное здесь.

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

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

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

  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
    

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

Насколько я знаю, это не работает в 12.04. Каким-то образом они не включали поддержку гибернации, так как на некоторых машинах это было с ошибками.

Другие вопросы по тегам