поток информации от системного сервиса к пользовательскому сервису

поток информации от системного сервиса к пользовательскому сервису

Я пытаюсь абстрагироваться от некоторых файлов /dev/input, чтобы системы уровня пользователя могли знать, когда используется сенсорный экран, а когда — сенсорная панель (без доступа к необработанным данным мыши).

Для этого я хочу создать корневую системную службу, которая отслеживает изменения в файлах /dev/input и публикует сообщения «в настоящее время используется сенсорная панель» или «в настоящее время используется сенсорный экран», которые могут быть получены некорневыми службами сеансов (например, чтобы служба в /etc/systemd/user/ могла использовать эту информацию).

Возможные методы, которые пришли мне в голову:

  1. Пусть корневая служба управляет файлом, за обновлениями которого могут следить некорневые службы.
  2. Публикация через какую-либо шину, например dbus (я раньше не работал с dbus, но, похоже, системная шина и шина сеанса изолированы)

Какие здесь рекомендуются шаблоны? Я вообще не особо работал с процессами -> процессами в Linux, но я думаю, что должен быть какой-то чистый способ сделать что-то вроде этого.

правка: Я ищу именно поток «один ко многим», в отличие от именованных каналов, которые, похоже, работают по принципу «один к тону».

Связанный контент