Поддерживать работу Ubuntu Server на ноутбуке с закрытой крышкой?

Я решил использовать мой Eee PC 1001HA в качестве домашнего сервера. У меня он подключен через Wi-Fi к роутеру, работающему под управлением Ubuntu Server 12.04. Все отлично работает, кроме этой надоедливой проблемы:

когда я закрываю крышку, сервер ssh перестает работать и, я думаю, тоже wlan0.

Перепробовал биос и ничего, ни одного варианта про крышку. Мой wlan0 - это RaLink RT3090.

Пытался ls -lrt /var/log между производными крышки, но я не могу понять эти сатанинские журналы. Я могу поделиться ими при необходимости.

pm-powersave.log кажется, обновляется между движениями крышки. Так что я полагаю, что я должен отключить эту услугу "powersave". Я могу это сделать? Я не против, если сервер работает весь день.

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

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

10 ответов

Чтобы отключить вход в спящий режим, мне пришлось отредактировать /etc/systemd/logind.conf подать и изменить строку:

#HandleLidSwitch=suspend

в

HandleLidSwitch=ignore

Тогда делай

sudo service systemd-logind restart

Выключите экран ноутбука, когда он закрыт

Это работает для меня на новой установке Ubuntu Server LTS 18.04.1.

Ответ от @user386160 отлично работал, чтобы не дать моему ноутбуку заснуть. Но я обнаружил, что мой монитор оставался включенным, даже когда крышка была закрыта (или, как следствие, создавала ненужное тепло).

Вот дополнительные шаги, которые я предпринял, чтобы выключить монитор ноутбука, когда экран был закрыт:

sudo apt-get install acpi-support vbetool
sudo echo "event=button/lid.*" > /etc/acpi/events/lid-button
sudo echo "action=/etc/acpi/lid.sh" >> /etc/acpi/events/lid-button
sudo touch /etc/acpi/lid.sh
sudo chmod +x /etc/acpi/lid.sh
sudo nano /etc/acpi/lid.sh

Затем установите содержимое lid.sh файл к следующему:

#!/bin/bash

grep -q close /proc/acpi/button/lid/*/state

if [ $? = 0 ]; then
    sleep 0.2 && vbetool dpms off
fi

grep -q open /proc/acpi/button/lid/*/state

if [ $? = 0 ]; then
    vbetool dpms on
fi

Просто чтобы подтвердить, 14.04 LTS Server пользователь здесь, на Dell X100e.

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

Мгновенно в состоянии закрыть крышку, никаких проблем.

Просто опубликовать, чтобы подтвердить решение предыдущих постеров как единственное необходимое исправление. Нет необходимости (в настоящее время) делать что-либо еще в дополнение к этому.

Все перестает работать, потому что... ноутбук идет спать! (режим ожидания).

Чтобы остановить, просто отключите событие кнопки крышки ACPI.

редактировать /etc/acpi/event/lidbtn и закомментируйте две нижние строки:

  # / etc / acpi / events / lidbtn
  # Вызывается, когда пользователь закрывает или открывает крышку
  event = button [/] lid # закомментируйте это с # в начале
  action = / etc / acpi / lid.sh # то же самое здесь 

Перезагрузитесь, и так и должно быть.

Я использую 14.04 LTS с ASUS EEE.

Решение Стефана выше не сработало для меня. Однако этот ответ сработал.

Другой подход,

для меня на Ubuntu Server 20.10 изменение logind.conf не помогло (хотя я также делал это, не тестировал это решение без этих изменений в этом файле), и

маска sudo systemctl sleep.target suspend.target hibernate.targethybrid-sleep.target

-approach заставил systemd потреблять 100% моего процессора, но из этой справочной страницы https://manpages.ubuntu.com/manpages/cosmic/man5/systemd-sleep.conf.5.html мне удалось заставить его работать (нет перезагрузка или что-то еще), полностью отключив сон; В /etc/systemd/sleep.conf добавьте следующие строки

      AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

Хотя это может быть не вариант, если вы хотите иметь возможность приостановить его и т. Д. В какой-то другой ситуации, но, по крайней мере, это сработало для меня.

Помогло редактирование /etc/systemd/logind.conf, но не только с добавлением

HandleLidSwitch=ignore

Мне также пришлось добавить строки:

HandleLidSwitchDocked=ignore

и

LidSwitchIgnoreInhibited=no

Я думаю, что установка SUSPEND_METHODS="none" вариант в /etc/default/acpi-supportделает то же самое

Это сработало для меня - моя установка на Ubuntu Server также не имела /etc/acpi/event/lidbtn, но я установил пакет acpi-support, и он обнаружился.

Пакет устанавливает целый ряд других связанных с X11 пакетов, но не включает графический режим, не беспокойтесь.

Как только я прокомментировал последние две строки, как указано выше, мой ноутбук продолжал работать с закрытой крышкой.

Подход, который сработал для меня с Ubuntu Server 22.04 на MacBook Pro 7,1; отредактируйте файл login.conf и используйте команду setterm cli. Это также помогло отключить подсветку экрана и логотипа.

Отредактируйте файл: /etc/systemd/logind.conf Настройте эти два параметра:

      HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore

Также в терминале введите: setterm --blank 1 --powerdown 2

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