2

Я хочу выяснить, почему графические таблицы активны, только если они подключены при запуске Xorg (и перестают работать со спамом Xorg.0.log если я его снова подключаю).

Насколько я знаю, работы Xorg по горячему подключению, основанные на udev, каким-то образом остаются связанными с udev после запуска.

  • Где детали этого? Какой механизм связи Xorg с udev? Прямое сокетное соединение? D-Bus?
  • Какие сообщения искать в журналах udev или Xorg на предмет отсутствия связи между udev и Xorg?
  • Как вручную запустить повторное перечисление Xorg устройств ввода?

1 ответ1

1

Он использует механизмы, представленные libudev.

Копаясь в исходном коде Xorg, мы видим в udev.c, что он вызывает udev_monitor_new_from_netlink .

Затем, изучая исходный код udev, мы видим в libudev-monitor.c, что эта функция в конечном итоге создает сокет netlink.

Я не знаю простого способа "понюхать" сокеты netlink; но, возможно, в udev есть пример кода, который вы можете скомпилировать и запустить, чтобы подписаться на один и тот же источник событий и отобразить подробную информацию.

В вашей ситуации я бы попробовал это:

  • я могу отключить / повторно подключить другие устройства ввода? (например, любая USB-мышь или клавиатура)
  • что я вижу в логах udev при отключении / повторном подключении планшета?

И, кстати, какие сообщения спамятся в журналах Х?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .