
Я пытаюсь абстрагироваться от некоторых файлов /dev/input, чтобы системы уровня пользователя могли знать, когда используется сенсорный экран, а когда — сенсорная панель (без доступа к необработанным данным мыши).
Для этого я хочу создать корневую системную службу, которая отслеживает изменения в файлах /dev/input и публикует сообщения «в настоящее время используется сенсорная панель» или «в настоящее время используется сенсорный экран», которые могут быть получены некорневыми службами сеансов (например, чтобы служба в /etc/systemd/user/ могла использовать эту информацию).
Возможные методы, которые пришли мне в голову:
- Пусть корневая служба управляет файлом, за обновлениями которого могут следить некорневые службы.
- Публикация через какую-либо шину, например dbus (я раньше не работал с dbus, но, похоже, системная шина и шина сеанса изолированы)
Какие здесь рекомендуются шаблоны? Я вообще не особо работал с процессами -> процессами в Linux, но я думаю, что должен быть какой-то чистый способ сделать что-то вроде этого.
правка: Я ищу именно поток «один ко многим», в отличие от именованных каналов, которые, похоже, работают по принципу «один к тону».