Я хочу перечислить, доступны ли в Ubuntu / Debian несколько дисплеев с использованием python3 (если дисплей подключен к Ubuntu с помощью VGA или HDMI) или когда обнаруживается подключенный внешний дисплей.
У меня нет никакой идеи сделать это, если у всех есть какой-либо способ, пожалуйста, помогите мне.
Вы должны быть в состоянии разобрать /var/log/Xorg.0.log
Дисплеи разделы начинаются с EDID для вывода
[ 11.189] (II) modeset(0): EDID for output eDP-1
[ 11.191] (II) modeset(0): EDID for output DP-1
[ 11.206] (II) modeset(0): EDID for output HDMI-1
[ 11.206] (II) modeset(0): EDID for output DP-2
[ 11.218] (II) modeset(0): EDID for output HDMI-2
[ 11.231] (II) modeset(0): EDID for output DP-1-1
[ 11.244] (II) modeset(0): EDID for output DP-1-2
[ 11.244] (II) modeset(0): EDID for output DP-1-3
В этом примере eDP-1 и DP-1-1 - это дисплей ноутбука, DP-1 и DP-1-2 - это один монитор над портом дисплея, а DP-2 и DP -1-3 другой. Вывод между каждой записью EDID представляет собой подробную информацию о мониторе:
[ 11.231] (II) modeset(0): Manufacturer: DEL Model: a07b Serial#: XXXXXXXX
[ 11.231] (II) modeset(0): Year: 2013 Week: 27
[ 11.231] (II) modeset(0): EDID Version: 1.4
[ 11.231] (II) modeset(0): Digital Display Input
[ 11.231] (II) modeset(0): 8 bits per channel
[ 11.231] (II) modeset(0): Digital interface is DisplayPort
Другой пример:
[ 6.893] (II) RADEON(0): EDID for output DisplayPort-0
[ 6.952] (II) RADEON(0): EDID for output HDMI-0
[ 6.983] (II) RADEON(0): EDID for output DVI-0
[ 6.998] (II) RADEON(0): EDID for output DVI-1
Как видите, соглашения об именах не согласованы, так как у моего ноутбука есть EDID для каждого порта и один для каждого экрана, где мой рабочий стол нет.
Вы можете искать системный файл / proc / fb. Это системный файл процедуры кадрового буфера, в котором обобщены ваши фактические видеоадаптеры.
Просто запустите этот системный файл в python3 и прочитайте результаты:
fd = open("/proc/fb", "r")
printf(fd.readline())
при условии, что у вас подключен только один адаптер:
$ cat /proc/fb
со следующим результатом :
0 svgadrmfb
Это результаты, которые вы получите!