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


53

Я получаю настройку веб-сервера дома на старом настольном компьютере AMD 2400+. У меня установлена ​​и работает Ubuntu 11.04, но через некоторое время я больше не могу найти сервер. Когда я подхожу к клавиатуре и нажимаю клавишу, все снова волшебным образом работает.

Я просмотрел BIOS и не вижу включенных функций энергосбережения. Есть ли что-то подобное в Ubuntu? Это можно отключить?

У меня не установлен графический интерфейс. Это только консоль.

Ответы:


53

В Ubuntu 16.04 LTS я успешно использовал следующее для отключения suspend:

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

И это, чтобы снова включить его:

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

От man systemctl:

mask NAME...  
           Mask one or more units, as specified on the command line. This
           will link these unit files to /dev/null, making it impossible to
           start them. This is a stronger version of disable, since it
           prohibits all kinds of activation of the unit, including
           enablement and manual activation. Use this option with care. This
           honors the --runtime option to only mask temporarily until the
           next reboot of the system. The --now option may be used to ensure
           that the units are also stopped. This command expects valid unit
           names only, it does not accept unit file paths.

 unmask NAME...
           Unmask one or more unit files, as specified on the command line.
           This will undo the effect of mask. This command expects valid
           unit names only, it does not accept unit file paths.

Как бы я проверил, маскированы ли они уже или нет? (А что делает maskили unmaskделает в любом случае? Никогда не слышал о них раньше.)
ArtOfWarfare

@ArtOfWarfare From man systemctl" Маскировать один или несколько юнитов, как указано в командной строке. Это свяжет эти файлы юнитов с / dev / null, делая невозможным их запуск. Это более сильная версия disable, так как она запрещает все виды Активация устройства, включая включение и ручную активацию. Используйте эту опцию с осторожностью. Это позволяет использовать опцию --runtime только для временного маскирования до следующей перезагрузки системы. Опция --now может использоваться для обеспечения того, чтобы устройства были также остановлено. Эта команда ожидает только допустимые имена модулей, она не принимает пути к файлам модулей. "
Сентиман

@Centimane - Спасибо. Так как бы я на самом деле проверил, были ли они уже maskизданы или нет? Очевидно, я мог бы попытаться просто запустить их и посмотреть, что произойдет, но это потенциально может вызвать побочный эффект перевода моего компьютера в спящий режим (что было бы ... плохо ... у него возникают проблемы с пробуждением, поэтому я хочу просто убедитесь, что он никогда не спит.)
ArtOfWarfare

@ArtOfWarfare вы можете просто проверить /etc/systemd/system/ссылку на/dev/null
Centimane

@ArtOfWarfare или systemctl show -p FragmentPath [service]. FragmentPathСвойство сообщает вам , где systemdдумает , что блок файл жизнь. Служба в маске скажет/dev/null
Сентиман

19

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

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

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

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

Терминал

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

Смотреть в: /apps/gnome-power-manager/timeout

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

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


Как мне это сделать на консоли? У меня не установлен графический интерфейс.
Майк Уиллс

@Mike Wills Обновлено, так как у вас нет gui
Джейсон Айверсон

1
Опять же, у меня нет гнома или чего-либо из этого. Это чистая консоль.
Майк Уиллс

5
Современный способ командной строки:gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout '0' && gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout '0'
dess

2
@десса очень полезна. Спасибо! Вы должны опубликовать свой ответ в ответе, чтобы другие могли его увидеть.
Калу

12

Правильный ответ для этого находится здесь :

Вы пытались добавить параметры ядра acpi=off apm=offв GRUB_CMDLINE_LINUX_DEFAULTin /etc/default/grub?

Затем запустите sudo update-grubи перезагрузите компьютер.


3
Хотя добавление этих параметров в мою конфигурацию grub не acpi=offпозволило моей машине перейти в спящий режим, следует отметить, что настройка имеет много других эффектов . Ключевым для меня является то, что он также отключает гиперпоточность.
PicoutputCls

@PicoutputЗаказывает, что ссылка, которую вы связываете, гласит, что acpi=ht «почти полностью деактивирует систему ACPI; будут использоваться только компоненты, необходимые для гиперпоточности»
pzkpfw

Вся система становится очень медленной, если я установлю acpi = off
GummyBear21

7

Пожалуйста, попробуйте просмотреть эти ссылки - cyberciti.biz и Arch форумы

Это выдержка из ссылки на cyberciti.biz :

По умолчанию ядро ​​Linux будет использовать опцию сохранения экрана, чтобы отключить его, вам нужно ввести эту команду (она отключает функции энергосбережения монитора VESA):

$ setterm -powersave off -blank 0

Если он возвращает вас с ошибкой, которая выглядит следующим образом: не может (не) установить режим энергосбережения

Вам необходимо выключить систему X Window и запустить команду выше. Лучше добавьте следующие две команды в файл ~ / .xinitrc:

setterm -blank 0 -powersave off -powerdown 0
xset s off

7

Ни одно из этих описанных решений не помогло мне. Ноутбук все еще собирался спать. Использование параметра командной строки Grub Linux в acpi = off приводило к невозможности загрузки ноутбука. Я наконец нашел это решение.

sudo vi /etc/default/acpi-support # and then set SUSPEND_METHODS="none"
sudo /etc/init.d/acpid restart

Основываясь на оригинальном решении от Стефана, здесь: Поддержите ли Ubuntu Server на ноутбуке с закрытой крышкой?


3

В дополнение к опциям systemctl mask / unmask, я также использую следующее для включения / выключения режима приостановки для рабочего стола Gnome.

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'

или же

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

Я нашел их, изучив настройки, показанные командами, перечисленными в разделе Как вывести ВСЕ dconf / gsettings, чтобы я мог сравнить их между двумя разными машинами?


0

Я нашел Light Locker, так как у меня Ubuntu 14.04.2 с LXDE (Lubuntu) Desktop; если у вас есть этот рабочий стол, вы можете изменить настройки по умолчанию и управлять монитором через него. В противном случае вам может понадобиться установить gconf-editor через терминал, если у вас его нет. Light Locker находится в разделе «Настройки» в главном меню.


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