Как автоматически перейти из Suspend в Hibernate?

В любом KDE 4 + есть приложение под названием «Системные настройки».

Вы найдете раздел «Ярлыки и жесты». Вы найдете все возможные действия и сможете назначить любую клавиатуру любому жесту и даже создать свои собственные.

Не бойтесь его, он очень прост в использовании, и вы можете установить " основные ярлыки "и" альтернативные ярлыки ", поэтому вам даже не нужно удалять оригинал:)

44
задан 7 April 2011 в 03:31

64 ответа

На всякий случай, когда что-то пойдет не так во время pm-hibernate , я предпочел бы приостановить работу компьютера, а не запускать его. Поэтому вы можете использовать:

  ... / usr / sbin / pm-hibernate ||  / usr / sbin / pm-suspend ...  
4
ответ дан 13 August 2018 в 17:09

Чтобы объяснить, как это работает (это похоже на Windows) простыми словами: машина не просыпается из режима ожидания, когда батарея разряжается, чтобы сохранить состояние машины в разделе подкачки, она экономит все на немедленно замените раздел в режиме ожидания, и когда батарея разрядится, он восстановится после этого, загрузив состояние из раздела подкачки (как это было бы в случае спячки).

AFAIK linux будет / должен использовать гибридный режим ожидания / спящий режим вместо «нормального» режима ожидания, если он знает, что он работает для вашего оборудования. Также возможно, что в настоящее время это отключено из-за слишком большого количества ошибок или чего-то еще ...;)

Если вам нравится экспериментировать, возможно, вы можете увидеть, сможете ли вы получить хорошие результаты с помощью pm-suspend -hybrid .

Если следующее говорит, что вам повезло, то в теории поддерживается гибридная приостановка в вашей системе:

  pm-is-supported -  -suspend-hybrid & amp; & amp;  эхо "тебе повезло"  
12
ответ дан 13 August 2018 в 17:09
  • 1
    Единственный апостроф в вашей команде оболочки может вводить в заблуждение и запутывать ... пожалуйста, избегайте этого. – ayan4m1 11 November 2010 в 21:49
  • 2
    Bah, вот что происходит, когда вы редактируете командную строку, встроенную в другой текст, не думая об этом как о командной строке ... Спасибо и amp; Исправлена. – JanC 12 November 2010 в 07:44
  • 3
    Нет проблем, да, поняли о разных хардфелях для двух процессов. – ayan4m1 12 November 2010 в 09:40

Вот обновленная версия ответа Derek Pressnall , которая работает с systemd и включает в себя предложение Элиа Кагана , просто поместите его в систему / usr / lib / systemd / -sleep / delayed_hibernation.sh и сделать его исполняемым:

  #! / bin / bash hibernation_timeout = 1800 # 30 минут, если ["$ 2" = "suspend"];  затем curtime = $ (date +% s), если ["$ 1" = "pre"];  затем echo -e "[($ curtime) $ @] \nПри выполнении pre-suspend hook ..." & gt; & gt; gt;  /tmp/delayed_hibernation.log echo "$ curtime" & gt;  /var/run/delayed_hibernation.lock rtcwake -m no -s $ hibernation_timeout elif ["$ 1" = "post"];  затем echo -e "[($ curtime) $ @] \nВыпуск post-suspend hook ..." & gt; & gt; gt;  /tmp/delayed_hibernation.log sustime = $ (cat /var/run/delayed_hibernation.lock), если [$ (($ curtime - $ sustime)) -ge $ hibernation_timeout];  затем echo -e «Автоматическое обнаружение возобновления, спящий режим. \n" & gt; & gt; & gt; & gt;  /tmp/delayed_hibernation.log systemctl hibernate ||  systemctl suspend else echo -e «Обнаружено ручное возобновление, очистка аварийного сигнала RTC. \n" & gt; & gt; & gt; & gt;  /tmp/delayed_hibernation.log rtcwake -m no -s 1 fi rm /var/run/delayed_hibernation.lock fi fi  
3
ответ дан 13 August 2018 в 17:09
  • 1
    Это работало отлично в течение нескольких месяцев в 15.10, но что-то около 16.04 предотвращает его спящий режим, хотя сценарий все еще работает. – Sean 23 April 2016 в 20:44
  • 2
    @Sean вы пробовали обходной путь в этой теме ? – Niccolò Maggioni 24 April 2016 в 14:00
  • 3
    Спасибо, что указал мне в правильном направлении. Я создал службу systemd (/etc/systemd/system/delayed-hibernation.service), которая ссылалась на сценарий выше, а затем модифицировала /etc/systemd/system/suspend.target, чтобы потребовать delay-hibernation.service. – Sean 25 April 2016 в 01:02

Вас может заинтересовать s2both . Он предоставляется пакетом uswsusp в Ubuntu 10.10. Он приостанавливается на диск, но вместо выключения система вместо этого помещает его в S3, который является режимом питания, обычно связанным с опцией «Приостановить» в Ubuntu. pm-suspend-hybrid - еще один инструмент, который пытается сделать то же самое.

Чтобы автоматизировать работу с крышкой, ознакомьтесь со следующим руководством, которое позволяет вам запускать произвольный скрипт при захвате события крышки:

http://ubuntuforums.org/showthread.php?t=1076486

Если вы случайно есть ThinkPad, manpage для tpctl ссылается на аргумент, - pm-sedation-hibernate-from-suspend-timer , который, кажется, обеспечивает функцию, ищу. Я бы предостерег вас от попытки использовать это на оборудовании, отличном от ThinkPad.

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

6
ответ дан 13 August 2018 в 17:09

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

Похожие вопросы: