Alterator-manager: различия между версиями
Мария (обсуждение | вклад) (→Пример) |
Мария (обсуждение | вклад) (категория) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''Alterator | [[Category:Sisyphus]] | ||
[[Category:Alterator_на_D-Bus]] | |||
{| style="border:1px solid #AAA; background:#F9F9F9; width:200px; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint | |||
|- | |||
|[[Image:stub.png]] | |||
|- | |||
| '''Данная страница находится в [[:Категория:Неоконченные страницы|разработке]]'''.<br /><small style="line-height:1.1em;">Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.</small> | |||
|} | |||
<noinclude>[[Категория:Неоконченные страницы|{{PAGENAME}}]]</noinclude> | |||
'''Alterator Manager''' — это сервис для управления операционной системой через D-Bus. Его функционал реализуется в модулях, а интерфейс описывается в специальных конфигурационных файлах. | |||
Является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]]. | Является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]]. | ||
== | = Установка = | ||
Команды установки Alterator Manager | |||
<pre> | |||
# apt-get update | |||
# apt-get install alterator-manager | |||
</pre> | |||
Alterator | = Запуск = | ||
Alterator Manager может быть запущен в двух режимах — обычном и пользовательском: | |||
<syntaxhighlight lang="bash">$ systemctl start alterator-manager.service</syntaxhighlight> | <syntaxhighlight lang="bash">$ systemctl start alterator-manager.service</syntaxhighlight> | ||
Строка 15: | Строка 33: | ||
/usr/libexec/alterator/. Конфигурационные файлы — это glibовские key-value файлы, они должны иметь расширение .backend для обычного режима работы и .user.backend для пользовательского. На их основе формируется интроспекция для D-Bus и правила polkit (только в обычном режиме). | /usr/libexec/alterator/. Конфигурационные файлы — это glibовские key-value файлы, они должны иметь расширение .backend для обычного режима работы и .user.backend для пользовательского. На их основе формируется интроспекция для D-Bus и правила polkit (только в обычном режиме). | ||
= Спецификация = | |||
[https://gitlab.basealt.space/alt/alterator-manager/-/blob/master/docs/README-ru.md?ref_type=heads Документация] представлена на странице проекта. | [https://gitlab.basealt.space/alt/alterator-manager/-/blob/master/docs/README-ru.md?ref_type=heads Документация] представлена на странице проекта. | ||
= Пример = | |||
Создадим example.backend | Создадим example.backend | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Строка 24: | Строка 42: | ||
Type = Backend | Type = Backend | ||
Module = executor | Module = executor | ||
Name = | Name = example | ||
Interface = | Interface = example | ||
#Interface = ru.basealt.alterator. | #Interface = ru.basealt.alterator.example //Интерфейс можно задать полным именем. | ||
thread_limit = 5 | thread_limit = 5 | ||
action_id = org.freedesktop.test | action_id = org.freedesktop.test | ||
[hexdump] | |||
[ | execute = hexdump -C {param} | ||
execute = | stdout_strings = enabled | ||
stdout_strings_limit = 7000000 | |||
thread_limit = 3 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 45: | Строка 61: | ||
* Объект /ru/basealt/alterator/example | * Объект /ru/basealt/alterator/example | ||
* Интерфейс ru.basealt.alterator.example | * Интерфейс ru.basealt.alterator.example | ||
[[Файл:d-feet_AM_example.png|Дерево D-Bus]] | |||
Метод hexdump возвращает массив строк из stdout. Выполним метод hexdump. | Метод hexdump возвращает массив строк из stdout. Выполним метод hexdump. | ||
[[Файл:Hexdump_run.png|Выполнение метода hexdum]] | |||
Таким образом, можно сформировать backend для какого-либо приложения с API на D-Bus. | Таким образом, можно сформировать backend для какого-либо приложения с API на D-Bus. |
Текущая версия от 10:53, 18 июля 2024
Alterator Manager — это сервис для управления операционной системой через D-Bus. Его функционал реализуется в модулях, а интерфейс описывается в специальных конфигурационных файлах.
Является компонентом новой реализации проекта Альтератор, Alterator на D-Bus.
Установка
Команды установки Alterator Manager
# apt-get update # apt-get install alterator-manager
Запуск
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.