Вопрос или проблема
Когда я закрываю крышку ноутбука, компьютер сразу же выключается и не включается снова. Мне нужно взять отвертку и отключить-изменить соединение аккумулятора, чтобы он снова включился.
Я действительно хочу, чтобы Linux игнорировал переключатель крышки.
Я уже попробовал много ответов на stack overflow, но ничего не сработало. Вот что я попробовал:
-
Вставьте
HandleLidSwitch=ignore
в/etc/systemd/logind.conf
-
systemd-inhibit --what=handle-lid-switch sleep 1d
-
cat /etc/systemd/logind.conf | grep -i lid
ничего не выводит -
Вставьте
IgnoreLid=true
в/etc/UPower/UPower.conf
-
systemctl unmask sleep.target suspend.target
-
/etc/acpi/lid.sh
не существует -
В
gconf-editor
, вapps > gnome-power-manager > buttons
, установитеlid_ac
иlid_battery
вnothing
Я перезагрузил свой компьютер после изменения этих конфигурационных файлов, чтобы убедиться, что все службы перезапускаются.
Как это возможно? Что я могу попробовать дальше, чтобы переключатель крышки игнорировался?
Я использую Ubuntu с Cinnamon.
Хорошо, на самом деле это довольно просто… но было действительно сложно это найти.
- Найдите узел для устройства крышки в
/proc/acpi/wakeup
:
grep LID /proc/acpi/wakeup
LID0 S3 *enabled platform:PNP0C0D:00
(узел — ‘PNP0C0D:00’)
- В качестве root-пользователя создайте файл
rc.local
(с содержимым ниже), который отключит устройство при загрузке. Сделайте этот файл исполняемым.
#!/bin/bash
echo PNP0C0D:00 > /sys/bus/acpi/drivers/button/unbind
Если вы используете systemd, он должен автоматически обнаружить это и выполнить при загрузке. Это полностью отключает переключатель и позволяет ноутбуку загружаться даже при закрытой крышке.
Вы можете прокрутить в самый низ этой страницы для дополнительной информации: https://dev1galaxy.org/viewtopic.php?id=2021
У меня была такая же проблема с моим ASUS transformer book (T302CA), но я не смог найти узел в дереве /proc/.
Мне наконец удалось найти его с помощью:
$ dmesg | grep -i lid
[ 2.475240] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
и отключить его с помощью:
echo 1 | sudo tee /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1/inhibited
Надеюсь, это поможет
Ответ или решение
Чтобы игнорировать действие переключателя крышки на ноутбуке с установленной операционной системой Linux, вам предстоит выполнить несколько шагов. Ниже приведена подробная инструкция, которая поможет решить указанную вами проблему.
Предпосылки
Ваш ноутбук автоматически отключается при закрытии крышки, и вы хотите отключить или игнорировать действие переключателя крышки. Вы уже пробовали изменить настройки в различных конфигурационных файлах без успеха. Давайте рассмотрим несколько методов, которые могут помочь вам справиться с этой проблемой более эффективно.
Шаг 1: Поиск устройства переключателя крышки
Сначала необходимо найти идентификатор устройства переключателя крышки в системе. Для этого выполните команду:
grep LID /proc/acpi/wakeup
Это должно выдать что-то вроде:
LID0 S3 *enabled platform:PNP0C0D:00
Идентификатор (в данном случае PNP0C0D:00
) важен для следующих шагов.
Шаг 2: Отключение устройства при загрузке
Теперь необходимо создать скрипт, который будет отключать устройство переключателя крышки при загрузке системы. Подойдите к этому шагу с правами суперпользователя.
-
Создайте файл
rc.local
, если он еще не существует:sudo nano /etc/rc.local
-
Вставьте в него следующий код (не забудьте добавить
#!/bin/bash
в начало файла):#!/bin/bash echo PNP0C0D:00 > /sys/bus/acpi/drivers/button/unbind
-
Сделайте файл исполняемым:
sudo chmod +x /etc/rc.local
Если ваша система использует systemd
, то этот файл должен выполниться автоматически при загрузке.
Шаг 3: Проверьте состояние
После выполнения изменений обязательно перезагрузите систему и проверьте, работает ли отключение переключателя крышки. Если все выполнено правильно, ваш ноутбук не должен отключаться при закрытии крышки.
Альтернативный метод: Ингибирование устройства
Если вышеописанный способ не сработал, вы можете попробовать другой метод, основанный на ингибировании устройства:
-
Сначала найдите путь к устройству с помощью команды:
dmesg | grep -i lid
-
Затем выполните следующую команду, чтобы ингилибировать устройство:
echo 1 | sudo tee /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1/inhibited
Заключение
Ваша проблема должна быть решена после выполнения приведенных выше инструкций. Отключив действие переключателя крышки, вы сможете использовать ноутбук, закрывая крышку, не опасаясь, что он выключится. Убедитесь, что вы выполняете все команды с правами суперпользователя и следуете всем инструкциям.
Если проблема сохраняется, возможно, стоит проверить обновления BIOS или системные настройки, так как некоторые настройки аппаратного обеспечения могут затрагивать поведение переключателя.
В случае возникновения дополнительных вопросов, не стесняйтесь обращаться за помощью на форумы поддержки Linux или конкретно к сообществу вашей дистрибуции.