Как переименовать устройства для графического вывода, такие как VGA0

Вопрос или проблема

На моем ноутбуке имена графических выходов меняются в зависимости от того, какой чип активирован в BIOS. Это приводит к проблемам в некоторых скриптах, где указаны выходы, такие как VGA-0 или LVDS-0.
Поэтому я хочу переименовать графические выходы, аналогично тому, как можно задать постоянные имена для сетевых устройств с помощью udev.

Но я не могу найти ничего, что объясняло бы, как это сделать, или возможно ли это вообще.

В /sys я мог найти такие имена ядра, как:

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DVI-D-1
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1

в то время как xrandr сообщает имена как DVI1 и VGA1.
Поэтому их нужно где-то переименовывать(?)
Когда я вызываю udevadm info на одном из этих устройств, я получаю много информации, но не имена, используемые xrandr и другими X инструментами.

Так возможно ли создать правило udev для переименования выходов, и если да, то как?
Имена вообще задаются udev?

Имя выхода задается драйвером графической карты. Затем оно передается через X в xrandr. Я полагаю, что они основываются на имени устройства ядра, но нет единой стандартной схемы, которая используется.

thinkwiki документирует некоторые из вариаций.

Ответ или решение

Переименование графических выходов, таких как VGA0, является довольно сложной задачей из-за того, что их имена задаются драйверами графических карт и передаются через систему X в такие инструменты, как xrandr. Эти имена не управляются напрямую с помощью udev, как это делается для сетевых устройств. В данном случае они зависят от аппаратной конфигурации и драйвера, используемого для вашей графической карты, что может привести к их изменению в зависимости от активированного в BIOS чипа.

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

Альтернативные подходы:

  1. Скрипт для присвоения псевдонимов:
    Вы можете создать скрипт, который будет автоматически запускаться при старте системы и настраивать выходные устройства с помощью xrandr, присваивая им удобные вам псевдонимы. Это решение требует ручного определения текущих названий устройств и их преобразования в заданные вами метки.

  2. Изменение настроек рабочей среды:
    Некоторые графические рабочие среды, такие как KDE или GNOME, могут предлагать интерфейсы для управления подключенными дисплеями. Возможно, вы сможете использовать встроенные инструменты настройки для их переименования.

  3. Конфигурация Xorg:
    Если вы используете Xorg, можно попробовать настроить конфигурационные файлы, чтобы попытаться зафиксировать определённые параметры дисплеев. Однако это также может потребовать ручной корректировки при изменении аппаратных конфигураций.

Заключение:

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

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

Оцените материал
Добавить комментарий

Капча загружается...