Как навсегда отключить сон / приостановку?

23

Тонко сломанный - хуже, чем откровенно сломленный ...

Задний план:

  1. Я уже отключил режим ожидания в Системных настройках -> Питание.

  2. Параметр «Приостановить» по-прежнему отображается в меню передач (не то, чтобы я ожидал, что он исчезнет), а кнопка «Сон (луна)» на клавиатуре по-прежнему вызывает приостановку.

  3. Варианты в # 1, как уже указывали другие, слишком просты, чтобы ошибиться один раз в месяц или около того.

  4. Похоже, что 1% платформ правильно приостанавливается, потому что какой-то инженер-драйвер где-то забыл проверить, что регистр пространства PCIe или IO восстанавливается после пробуждения. Так что это хуже, чем сломано: после пробуждения все выглядит нормально, только это не так. И, надеюсь, ни один из этих поврежденных регистров не будет влиять на надежность в ползучем виде, например, конфигурация ECC или глубина FIFO хранилища. Но они обычно делают, в той или иной форме, что, например, является одной из причин, почему ошибки в драйверах графической подсистемы продолжаются бесконечно, спустя годы после того, как они дебютируют на рынке («графический чип X зависает через час после возобновления приостановки бла-бла-бла») ).

  5. Должен быть автоматизированный тест, чтобы увидеть, какие регистры меняются в течение цикла ожидания, но лишь немногие поставщики имеют такой тест. Тест несколько усложняется тем фактом, что некоторые регистры должны измениться, например, таймеры. И что еще хуже, иногда вам приходится читать регистры в определенном порядке или с определенной степенью детализации, или сначала записывая индекс чтения в другом месте. Таким образом, этот процесс нельзя централизовать в таком удобном месте в отрасли, как офисы Canonical. Это действительно и действительно безнадежно, если PCIe не будет переопределен таким образом, чтобы упростить сравнение, чего не будет.

  6. Магический набор тестов в # 5 никогда не будет написан из-за хаотичного состояния разработки драйверов. Отсюда и отсутствие этого, мой вопрос.

  7. Я настолько отчаялся, что не возражаю против взлома / etc / what_suspend_file, но было бы неплохо, если бы существовал "вежливый" способ сделать это, например, этот несуществующий флажок в Системных настройках -> Питание, которое говорит "навсегда отключить" приостановить, потому что это было непродуманным с первого дня ".

  8. NB: Я не говорю о гибернации здесь, которая не должна страдать от вышеуказанных проблем, потому что она включает цикл питания. Хотя в принципе восстановление регистров из постоянного хранилища может иметь аналогичные проблемы.

Veiokej
источник
3
Вы пробовали ответить здесь: askubuntu.com/a/154821/72576 ?
Jobin
Краудсорсинговая версия # 5 может работать. Просто требуется достаточно людей, желающих перевести сон в 5 минут или около того, и отправлять отчеты об ошибках. Как вы заметили, это зависит от аппаратного обеспечения: но многим машинам и людям повезло, и сон - это хорошо.
Брайс

Ответы:

6

На Ubuntu 16. * попробуйте это.

Перейти к:

  • Системные настройки

Нажмите на:

  • Яркость и замок

  • Выключите экран, когда не активен

  • Установите «Никогда»

Надеюсь, это поможет :)

oddCat
источник
4

Согласно Debian Wiki , вы также можете отключить его через systemd следующим образом:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Хотя я сделал это на своей машине, я не могу подтвердить ее эффективность. Не хватает смелости, чтобы попробовать это намеренно.

Джакар
источник
3

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

sudo -H gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

Прокрутите вниз. Проверьте, существует ли следующая информация, и если нет, добавьте ее:

[Disable suspend]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

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

Вы также можете запустить эту команду, чтобы компьютер не спал:

gsettings set org.gnome.desktop.session idle-delay 0
Душан Милошевич
источник
1
Это кажется логичным для этого, но я попробовал это, и это не работает в моей среде 14.04. Но я думаю, что вы на правильном пути, потому что в этом файле я вижу похожий код для отключения гибернации.
Veiokej
5
Эта процедура больше не работает в 14.04+ выпусках. Смотрите эту альтернативную процедуру: askubuntu.com/questions/452908/how-to-disable-suspend-in-14-04
lrosa
2

С dconf Editor перейдите к:

org.gnome.settings-daemon.plugins.power

Вы найдете много вариантов, касающихся сна и приостановки.

Жан-Мари
источник
Выглядит многообещающе, но пока ничего не изменится: dconf read / org / gnome / settings-daemon / plugins / power / lid-close-battery-action 'nothing' dconf read / org / gnome / settings-daemon / plugins / power / lid-close-ac-action 'none' dconf read / org / gnome / settings-daemon / plugins / power / idle-dim false
Veiokej
-2

графический интерфейс пользователя

Вы смотрели на:

Система -> Настройки -> Управление питанием

На вкладке «Питание от сети» переведите компьютер в спящий режим, если он не активен: «Никогда»

Терминал

Можете ли вы открыть "gconf-editor"?

Заглянуть: /apps/gnome-power-manager/timeout

Попробуйте установить sleep_computer_acв0

Я не уверен, если что-то еще нужно изменить.

Посмотрите также здесь .

Korkel
источник
В моем окружении 14.04 такого меню нет. На самом деле у меня нет этого файла, но я не думаю, что мне захочется возиться с тайм-аутами управления питанием или, с другой стороны, отключить оптовое управление питанием (если на самом деле нет способа отключить только приостановку).
Veiokej
Это также не присутствует в 16.04.
MERose
no / apps / gnome-power-manager / timeout в gconf-editor
markackerman8-gmail.com