Горячее подключение HDMI не работает в Ubuntu
Я использую элементарную ОС Loki (ОС на основе Ubuntu) на Dell Inspiron 15 Gaming 7566. Хотя соединение HDMI работает и на моем экране, и на телевизоре, оно работает только тогда, когда я перезагружаю компьютер с подключенным HDMI и включенным устройством (поэтому мне нужно перезагрузить компьютер каждый раз подключаю новое устройство).
Я не использую никаких дополнительных драйверов, кроме тех, которые предварительно установлены в системе. Так что я могу с этим поделать или это просто аппаратная "проблема" моего ноутбука?
3 ответа
Только что решил эту проблему на Ubuntu 16.04 LTS на Dell Inspiron 13 с графикой Intel + NVIDIA. Взял меня больше года.
Я установил только ядро HWE и X-сервер HWE, как указано здесь: https://wiki.ubuntu.com/Kernel/LTSEnablementStack
sudo apt-get install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04
Больше не нужно перезагружать, чтобы подключить второй монитор.
Здесь hotplugtv
скрипт bash, который я написал для Ubuntu 16.04. Сообщается, что он работает и с Ubuntu 17.04.
#!/bin/bash
# NAME: hotplugtv
# PATH: /home/$USER/bin
# DESC: Update pulseaudio output device when HDMI TV plugged / unplugged
# CALL: called from /etc/udev/rules.d/99-hotplugtv.rules
# and /home/$USER/bin/lock-screen-timer
# DATE: Created Nov 26, 2016.
# NOTE: logs output using log-file
# UPDT: Dec 14, 2016 - Sometimes /sys/class/drm/card0 & sometimes /sys/class/drm/card1
# so use /sys/class/dmcard* instead.
# Dec 21, 2016 - Relocated to /home/$USER/bin for calling by lock-screen-timer
# Aug 06, 2017 - Convert from home grown log-file to universal logger command.
if [[ $(cat /sys/class/drm/card*-HDMI-A-1/status | grep -Ec "^connected") -eq 1 ]]; then
logger -t /home/rick/bin/log-hotplugtv "HDMI TV connected"
/bin/sleep 2;
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/";
sudo -u rick -E pacmd set-card-profile 0 output:hdmi-stereo;
else
logger -t /home/rick/bin/log-hotplugtv "HDMI TV disconnected"
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/";
sudo -u rick -E pacmd set-card-profile 0 output:analog-stereo;
fi
exit 0
ВАЖНО: Измените имя пользователя "rick" на ваше имя пользователя.
Чтобы вызвать этот скрипт из udev
во время событий горячей замены создайте файл /etc/udev/rules.d/99-hotplugtv.rules
содержащий:
ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", RUN+="/home/rick/bin/hotplugtv"
+ Изменить /home/rick/bin/
на путь, где вы разместили hotplugtv
скрипт.
Я нахожусь на Arch и имею ту же самую проблему на Dell 7566. Обходной путь, который работает для меня, должен:
- загрузка с (любым) подключенным дисплеем (без этого следующий шаг не работает),
- Я могу отключить дисплей, и когда я подключаю его (или другой) обратно, я просто кладу свой ноутбук в спящий режим (когда его еще нет) и просыпаюсь, и дисплей работает!
Этот сценарий работает для двух моих дисплеев HDMI дома и на работе. Тем не менее, он не работает для старого дисплея, подключенного через HDMI-VGA (он работает только после перезагрузки), и это сводит меня с ума...