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

У меня Ubuntu 16.04 на моем ноутбуке Acer Aspire 7750G подключен к внешнему монитору с отключенным встроенным экраном. У меня также есть внешняя клавиатура и мышь, подключенные к ноутбуку.


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

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

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


Я пытался включить все /sys/bus/usb/devices/usb*/power/wakeup

Я пытался установить HandleLidSwitch=ignore в /etc/systemd/logind.conf

Я пытался установить IgnoreLid=true в /etc/UPower/UPower.conf


Как я могу разбудить свой ноутбук, когда крышка закрыта?


РЕДАКТИРОВАТЬ

Это может быть полезно знать. Хотя я не могу разбудить ноутбук с закрытой крышкой, что-то происходит, когда я нажимаю клавишу на клавиатуре. Если я, находясь в подвешенном состоянии с закрытой крышкой, нажимаю клавишу на кейборде, светодиоды на ноутбуке мигают один раз, и я слышу, как вентиляторы заводятся. Примерно через 0,5 сек он останавливается. Если я нажму клавишу еще раз, ничего не произойдет. Если затем открыть крышку и разбудить ноутбук, нажав ESC на встроенной клавиатуре, я увижу, что в поле пароля на экране входа в систему есть сохраненный символ. Это означает, что на самом деле есть подключение к клавиатуре и нажатие клавиши регистрируется, когда ноутбук подвешен с закрытой крышкой, но он не разбудит ноутбук.

3 ответа

Этот ответ может быть полезным:

Вы не упоминаете, является ли ваша клавиатура проводной или беспроводной. Основные шаги:

grep . /sys/bus/usb/devices/*/power/wakeup

И затем (при условии, что возвращено 8 портов) используйте:

sudo su
echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup
exit

Смотрите принятый ответ для всех шагов.

Если вы механически удаляете магнит из рамки дисплея (по крайней мере, в случае с Acer ES1-533, и я полагаю, что это применимо к большинству ноутбуков), которое вызывает действие, которое определяет, открыта или закрыта крышка ноутбука, ваша проблема уйдет...

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


Вот и я наконец дошел до сути. Это поведение связано с ядром. Вы можете обновить ядро ​​с версии LTS до последней поддерживаемой версии.

Скорее всего, у вас ядро ​​Linux 4.4, а доступно 4.15. Вы можете установить его с помощью этой команды или dist-upgrade что немного сложно в вашем случае.

sudo apt install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04

Узнайте больше о LTS Enablement Stack

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

Вы все еще можете попробовать начать новый сеанс с другого TTY, когда крышка закрыта, чтобы увидеть, просыпается ли монитор (ctrl + alt + F2). Если это так, вы можете создать макрос горячей клавиши для запуска этого скрипта, чтобы вручную сбросить режим отображения.

#!/bin/bash
xrandr --output HDMI2 --auto

Я по-прежнему предлагаю обновлять ваше ядро или весь дистрибутив всякий раз, когда это возможно, так как это может решить многие другие потенциальные проблемы с аппаратным и программным обеспечением.


Сложный способ

Вы можете либо обновить свою версию с 16.04 до 17.04, а затем 18.04, что займет несколько часов, или заставить систему загрузить версию Candite с сервера обновлений.

Для этого нужно набрать sudo do-release-upgrade -d до 26.7.2018 и отбросить -d если вы планируете обновить после этой даты.

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