Alterator-manager: различия между версиями
Мария (обсуждение | вклад) м (разметка) |
Мария (обсуждение | вклад) мНет описания правки |
||
Строка 10: | Строка 10: | ||
<noinclude>[[Категория:Шаблоны|{{PAGENAME}}]]</noinclude> | <noinclude>[[Категория:Шаблоны|{{PAGENAME}}]]</noinclude> | ||
'''Alterator | '''Alterator Manager''' — это сервис для управления операционной системой через D-Bus. Его функционал реализуется в модулях, а интерфейс описывается в специальных конфигурационных файлах. | ||
Является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]]. | Является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]]. | ||
Строка 16: | Строка 16: | ||
= Запуск = | = Запуск = | ||
Alterator | Alterator Manager может быть запущен в двух режимах — обычном и пользовательском: | ||
<syntaxhighlight lang="bash">$ systemctl start alterator-manager.service</syntaxhighlight> | <syntaxhighlight lang="bash">$ systemctl start alterator-manager.service</syntaxhighlight> |
Версия от 14:11, 25 июня 2024
Alterator Manager — это сервис для управления операционной системой через D-Bus. Его функционал реализуется в модулях, а интерфейс описывается в специальных конфигурационных файлах.
Является компонентом новой реализации проекта Альтератор, Alterator на D-Bus.
Запуск
Alterator Manager может быть запущен в двух режимах — обычном и пользовательском:
$ systemctl start alterator-manager.service
или
$ systemctl --user start alterator-manager.service
В первом случае сервис запускается с полномочиями суперпользователя (root) и регистрирует имя (ru.basealt.alterator) на системной шине D-Bus. Во втором случае сервис запускается от обычного пользователя и регистрирует имя на сессионной шине D-Bus. После запуска происходит считывание конфигурационных файлов из /usr/share/alterator/backends/ и загрузка модулей из /usr/libexec/alterator/. Конфигурационные файлы — это glibовские key-value файлы, они должны иметь расширение .backend для обычного режима работы и .user.backend для пользовательского. На их основе формируется интроспекция для D-Bus и правила polkit (только в обычном режиме).
Спецификация
Документация представлена на странице проекта.
Пример
Создадим example.backend
[Alterator Entry]
Type = Backend
Module = executor
Name = example
Interface = example
#Interface = ru.basealt.alterator.example //Интерфейс можно задать полным именем.
thread_limit = 5
action_id = org.freedesktop.test
[hexdump]
execute = hexdump -C {param}
stdout_strings = enabled
stdout_strings_limit = 7000000
thread_limit = 3
В этом примере мы получаем вывод (stdout) запускаемой команды массивом строк, но вывод мы можем получать и в виде массива байт.
Запустим наш сервис и посмотрим на дерево D-Bus:
- Объект /ru/basealt/alterator/example
- Интерфейс ru.basealt.alterator.example
Метод hexdump возвращает массив строк из stdout. Выполним метод hexdump.
Таким образом, можно сформировать backend для какого-либо приложения с API на D-Bus.