Горячее подключение HDMI не работает в Ubuntu

3906
Petr Mensik

Я использую элементарную ОС Loki (ОС на основе Ubuntu) на Dell Inspiron 15 Gaming 7566. Хотя соединение HDMI работает и на моем экране, и на телевизоре, оно работает только тогда, когда я перезагружаю компьютер с подключенным HDMI и включенным устройством (поэтому мне нужно перезагрузить компьютер каждый раз подключаю новое устройство).

Я не использую никаких дополнительных драйверов, кроме тех, которые предварительно установлены в системе. Так что я могу с этим поделать или это просто аппаратная "проблема" моего ноутбука?

2
У меня такая же проблема на Ubuntu 16.04 и 17.04. Решения пока нет. Любая помощь очень ценится. user0815 6 лет назад 0
@ user0815 Другой [Спросите пользователя Ubuntu] (https://askubuntu.com/questions/874506/hdmi-monitor-not-detected-by-laptop-after-unplugging-and-plugging-back-in/876684#876684) имел проблемы с горячим подключением HDMI. Вы можете просмотреть эту ссылку и весь сайт. Вы получите 100 связанных баллов за то, что только присоединились к сайту, и сможете сразу же оставлять комментарии. WinEunuuchs2Unix 6 лет назад 0

2 ответа на вопрос

0
majlan

Я нахожусь на Arch и имею ту же самую проблему на Dell 7566. Обходной путь, который работает для меня, должен:

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

Этот сценарий работает для двух моих HDMI-дисплеев дома и на работе. Тем не менее, он не работает для старого дисплея, подключенного через HDMI-VGA (он работает только после перезагрузки), и это сводит меня с ума ...

0
WinEunuuchs2Unix

Вот 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=="1", RUN+="/home/rick/bin/hotplugtv" 

Перейдите /home/rick/bin/на путь, где вы разместили hotplugtvскрипт.

В моем случае статус никогда не устанавливается на подключенный, даже если кабель HDMI подключен. Таким образом, я думаю, что сценарий мало чем поможет. user0815 6 лет назад 0
@ user0815 Я немного погуглил, и за несколько лет появилось много сообщений об ошибках с горячей заменой Nvidia. Вы используете Nvidia? WinEunuuchs2Unix 6 лет назад 0