Alterator-manager: различия между версиями

Материал из ALT Linux Wiki
(категория)
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
'''Alterator-manager''' — это сервис для управления операционной системой через D-Bus. Его функционал реализуется в модулях, а интерфейс описывается в специальных конфигурационных файлах.
[[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-manager может быть запущен в двух режимах — обычном и пользовательском:
= Запуск =
 
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 = first2
Name = example
Interface = second
Interface = example
#Interface = ru.basealt.alterator.second //Интерфейс можно задать полным именем.
#Interface = ru.basealt.alterator.example //Интерфейс можно задать полным именем.
thread_limit = 5
thread_limit = 5
action_id = org.freedesktop.test
action_id = org.freedesktop.test


 
[hexdump]
[make_ls2]
execute = hexdump -C {param}
execute = ls -al {param}
stdout_strings = enabled
 
stdout_strings_limit = 7000000
[make_ls3]
thread_limit = 3
execute = ls -al {param}
 
</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


Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

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

Дерево D-Bus


Метод hexdump возвращает массив строк из stdout. Выполним метод hexdump.

Выполнение метода hexdum

Таким образом, можно сформировать backend для какого-либо приложения с API на D-Bus.