Установка и настройка агента Оркестратора 1.26.7.x на РЕД ОС 8.0.3 и выше (MATE и KDE)
Это руководство описывает установку и настройку машины робота под управлением РЕД ОС 8.0.3 и выше в пределах версии 8.x с графическим окружением MATE или KDE для работы с агентом Оркестратора версии 1.26.7.x.
Агент Оркестратора запускает роботов с помощью su, используя пароль пользователя робота. Для запуска, остановки и обновления самого агента достаточно прав обычного пользователя. Это позволяет использовать агент в среде с ограниченными привилегиями. Начальная настройка ОС и системных разрешений выполняется администратором.
Используемые имена и каталоги
В примерах используются следующие обозначения:
| Имя или путь | Назначение |
|---|---|
primo-rpa-admin | Пользователь с административными привилегиями для начальной настройки ОС, учётных записей и каталогов |
primo-rpa | Общая группа агента и роботов; упоминается в /etc/sudoers.d/primo-rpa-agent и appsettings.ProdLinux.json |
agent | Учётная запись агента Оркестратора; упоминается в /etc/sudoers.d/primo-rpa-agent и appsettings.ProdLinux.json |
robot1 | Пример учётной записи робота |
/opt/Primo/Agent | Каталог установки агента; упоминается в конфигурации sudo и файле службы агента |
/opt/Primo/AgentData | Каталог данных агента; указывается в appsettings.ProdLinux.json |
/opt/LTools | Каталог роботов; указывается в appsettings.ProdLinux.json |
Имя администратора, группы и пользователя агента могут отличаться. При изменении приведённых имён и путей необходимо согласованно скорректировать ссылки на них в соответствующих файлах и командах.
Внимание. Потребление ЦПУ, ОЗУ и дискового пространства зависит от графического окружения, фона рабочего стола, разрешения и глубины цвета экрана. сеанс KDE Plasma требует приблизительно в 2,5 раза больше ОЗУ, чем MATE. Изображение на рабочем столе расходует больше памяти, чем сплошной фон. Для глубины цвета 24 или 32 бита потребление памяти может быть приблизительно в четыре раза выше, чем при 16 битах. Чем больше ресурсов требует один сеанс, тем меньше роботов можно одновременно запускать на одной машине.
1. Действия при установке РЕД ОС
-
На экране ВЫБОР ПРОГРАММ выберите базовое окружение Рабочая станция с графическим окружением (MATE) или Рабочая станция с графическим окружением (KDE).

-
На экране СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ создайте пользователя с административными правами. Далее он обозначен как
primo-rpa-admin.
Далее настройте репозитории, установите дополнительное ПО и создайте пользователей.
1.1. Подключение репозиториев
Подключите репозитории Base и Updates. Настройка локальных зеркал описывается в отдельной статье «Создание локального репозитория».
Важно. Локальные репозитории необходимо выгружать на компьютере с доступом в Интернет. Рекомендуется выделить отдельную машину под управлением РЕД ОС 8.0.x для сервера репозиториев.
Для машины с доступом в Интернет содержимое /etc/yum.repos.d/RedOS-Base.repo может выглядеть следующим образом:
[base]
name=RedOS - Base
baseurl=https://repo3.red-soft.ru/redos/8.0/$basearch/os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT
enabled=1Пример содержимого /etc/yum.repos.d/RedOS-Updates.repo:
[updates]
name=RedOS - Updates
baseurl=https://repo3.red-soft.ru/redos/8.0/$basearch/updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT
enabled=1Проверьте доступность репозиториев:
sudo dnf repolistВ выводе команды должны присутствовать репозитории base и updates.
1.2. Установка дополнительного ПО
Чтобы на рабочем столе робота не появлялись уведомления об автоматическом обновлении ПО, удалите dnfdragora:
sudo dnf -y remove dnfdragoraУстановите пакеты, необходимые для работы агента:
sudo dnf -y install xorg-x11-server-Xvfb tigervnc-server expect dos2unixЕсли окружение MATE не было установлено вместе с ОС, выполните:
sudo dnf groupinstall mate-desktopЕсли окружение KDE не было установлено вместе с ОС, выполните:
sudo dnf groupinstall kde-desktop-environmentВнимание. Дополнительное ПО, необходимое непосредственно для работы роботов, устанавливается согласно документации на соответствующее ПО роботов. Приведённый набор пакетов не заменяет эти требования.
2. Подготовка учётных записей и каталогов
Команды в этом разделе выполняет пользователь primo-rpa-admin с помощью sudo, если не указано иное.
2.1. Создание общей группы
Создайте группу для агента Оркестратора и роботов:
sudo groupadd primo-rpa2.2. Создание учётной записи агента
Создайте пользователя agent:
sudo useradd -g primo-rpa -m -s /bin/bash agentПри необходимости задайте пароль:
sudo passwd agentПример результата:
Изменение пароля пользователя agent.
Новый пароль: ***
Повторите ввод нового пароля: ***
passwd: данные аутентификации успешно обновлены.2.3. Создание учётной записи робота
Создайте пользователя robot1:
sudo useradd -g primo-rpa -m -s /bin/bash robot1Установите пароль:
sudo passwd robot1Пример результата:
Изменение пароля пользователя robot1.
Новый пароль: ***
Повторите ввод нового пароля: ***
passwd: данные аутентификации успешно обновлены.Войдите на машине робота в графический сеанс под учётной записью robot1, чтобы инициализировать графическое окружение.
Для снижения расхода памяти рекомендуется отключить фон рабочего стола. Для этого используйте: ПКМ на рабочем столе → Параметры внешнего вида → Фон → Без фона рабочего стола.
Определите разрешение экрана, на котором проверялись действия робота (поиск изображений, щелчки и другие действия). Такое же разрешение укажите для пользователя робота в Оркестраторе. Откройте Пуск → Параметры → Экраны.
Рекомендация. При настройке пользователя робота в Оркестраторе (пользователя РДП) для экономии памяти выбирайте минимально необходимую глубину цвета — 24 или 16 бит.
2.4. Создание каталогов
Создайте каталоги агента, его данных и роботов:
sudo mkdir -p /opt/Primo/Agent /opt/Primo/AgentData /opt/LToolsНазначьте владельца и группу:
sudo chown -R agent:primo-rpa /opt/Primo/Agent /opt/Primo/AgentData /opt/LToolsРазрешите группе запись:
sudo chmod -R g+w /opt/Primo/Agent /opt/Primo/AgentData /opt/LTools2.5. Настройка журналов
Поскольку служба агента работает от имени пользователя без административных привилегий, настройте доступ к системным журналам:
sudo install -m 2755 -g systemd-journal -o root -d /var/log/journal/
sudo systemctl restart systemd-journald2.6. Настройка прав sudo
Настройте файл /etc/sudoers.d/primo-rpa-agent так, чтобы он содержал следующие правила:
agent ALL=(root) NOPASSWD: /usr/sbin/reboot
agent ALL=(root) NOPASSWD: /usr/bin/systemd-run -G --uid=agent --gid=primo-rpa --property=EnvironmentFile=/dev/shm/agent-*-env /opt/Primo/Agent/launch-as-user.expectПервая строка разрешает пользователю agent выполнять /usr/sbin/reboot от имени root без ввода пароля для перезагрузки машины агента.
Вторая строка разрешает пользователю agent запускать /usr/bin/systemd-run от имени root с указанными аргументами, чтобы запускать сеансы роботов с помощью systemd.
Внимание. Других строк, кроме комментариев, в файле
/etc/sudoers.d/primo-rpa-agentбыть не должно!
2.7. Настройка брандмауэра
Установка и настройка брандмауэра описаны в руководстве РЕД ОС.
Для доступа к API агента Оркестратора откройте порт 5002/tcp:
sudo firewall-cmd --zone=public --add-port=5002/tcp --permanent
sudo firewall-cmd --reload2.8. Настройка SELinux
Если на машине робота используется SELinux, установите режим permissive. В файле /etc/selinux/config укажите:
SELINUX=permissiveВнимание. В режиме
enforcingподсистема SELinux блокирует запуск роботов!
3. Установка агента Оркестратора
Внимание. Все команды в разделах 3 и 4 выполняются от имени пользователя
agent, если не указано иное. Для работы со службой применяется пользовательский экземплярsystemd.
3.1. Распаковка файлов агента
Подготовьте архив Agent-linux.zip в каталоге /srv/samba/shared/install и обеспечьте пользователю agent доступ на чтение.
Распакуйте файлы агента:
unzip /srv/samba/shared/install/Agent-linux.zip -d /opt/Primo/AgentНазначьте права на исполнение:
chmod a+x /opt/Primo/Agent/Primo.Orchestrator.Agent /opt/Primo/Agent/LTools.Orchestrator.Agent.Runner /opt/Primo/Agent/launch-as-user.expect3.2. Регистрация службы и настройка автозапуска
Создайте каталог пользовательских служб:
mkdir -p ~/.config/systemd/userСкопируйте файл службы:
cp /opt/Primo/Agent/Primo.Orchestrator.Agent.user.service ~/.config/systemd/user/Primo.Orchestrator.Agent.serviceВключите автозапуск службы:
systemctl --user enable ~/.config/systemd/user/Primo.Orchestrator.Agent.serviceВключите поддержку длительной работы пользовательских служб:
loginctl enable-linger agentПеречитайте конфигурацию пользовательских служб:
systemctl --user daemon-reload3.3. Настройка параметров агента
В файле /opt/Primo/Agent/appsettings.ProdLinux.json проверьте имена пользователя и группы и путь к данным агента. Соответствующий фрагмент конфигурации:
"Agent": {
"UserName": "agent",
"GroupName": "primo-rpa",
"DataPath": "/opt/Primo/AgentData"
}Проверьте параметры команд в том же файле. Для MATE используйте следующий путь к графической сессии:
"AgentCommands": {
"Reboot": "/usr/sbin/reboot",
"Session": "/usr/bin/mate-session"
}Для KDE значение параметра Session должно быть следующим:
"Session": "/usr/bin/startplasma-x11"Остальные параметры объекта AgentCommands остаются без изменений, если не требуется иное по конфигурации вашей установки.
3.4. Разрешение подключения Оркестратора к агенту
Для просмотра графического сеанса пользователя и управления им укажите разрешённые источники подключения к агенту в appsettings.ProdLinux.json:
"EnabledOrigins": [
"https://192.168.61.183:44392",
"https://redos8-orch-26:44392"
]Важно. Вместо приведённых IP-адреса и имени хоста укажите адреса вашего Оркестратора.
3.5. Настройка расширенного журналирования
Для запуска графической сессии и робота используется программа LTools.Orchestrator.Agent.Runner, поставляемая вместе с агентом. Её конфигурационный файл — /opt/Primo/Agent/appsettings.Runner.json.
В файле предусмотрены следующие параметры:
"MinimumLevel": {
"Default": "Warning",
"Override": {
// "LTools.Orchestrator.Agent.Runner.XServerLogger": "Information",
// "LTools.Orchestrator.Agent.Runner.RobotSessionLogger": "Information"
}
}Для расширенной диагностики запуска графической сессии раскомментируйте XServerLogger. Для диагностики запуска сеанса графического окружения и робота — RobotSessionLogger. Журналы по умолчанию располагаются в /opt/Primo/Agent/Logs.
Для записи журналов Agent.Runner в отдельные файлы по пользователям роботов задайте имя файла в конфигурации следующим образом:
"Args": {
"path": "/opt/Primo/Agent/Logs/Robot-runner-.txt",
"retainedFileCountLimit": "20"
}Подстрока Robot в пути к файлу заменяется именем пользователя робота.
4. Запуск, остановка и ручное обновление агента
Внимание. Все команды этого раздела выполняет пользователь
agent.
4.1. Управление службой
Запуск службы:
systemctl --user start Primo.Orchestrator.AgentПросмотр состояния:
systemctl --user status Primo.Orchestrator.AgentПросмотр журнала:
journalctl --user -u Primo.Orchestrator.AgentОстановка службы:
systemctl --user stop Primo.Orchestrator.Agent4.2. Ручное обновление агента
Внимание. Ручное обновление агента Оркестратора допускается только при остановленной службе агента.
Убедитесь, что архив Agent-linux.zip находится в /srv/samba/shared/install и доступен для чтения пользователю agent. Остановите службу командой из раздела 4.1.
Обновите файлы агента, сохранив текущие настройки:
unzip -o -u /srv/samba/shared/install/Agent-linux.zip -d /opt/Primo/Agent -x appsettings.ProdLinux.json appsettings.json appsettings.Runner.jsonВосстановите права на выполнение:
chmod a+x /opt/Primo/Agent/Primo.Orchestrator.Agent /opt/Primo/Agent/LTools.Orchestrator.Agent.Runner /opt/Primo/Agent/launch-as-user.expectПосле завершения обновления службу можно запустить командой из раздела 4.1.
5. Сценарии настройки запуска робота
Возможности этого раздела,, доступны в версиях агента 1.25.7.8+ и 1.26.6+, включая рассматриваемую ветку 1.26.7.x.
5.1. Порядок запуска
Все сценарии выполняются от имени пользователя робота.
- С помощью
systemd-run/su -запускаетсяstart-0-runner.sh, содержащий команду запускаAgent.Runner. Программа подготавливает и запускает сервер X Window и сеанс для работы робота. - После успешного запуска X Window программа
Agent.Runnerзапускаетstart-1-session.sh, содержащий команды настройки и запуска графической оболочки (например, MATE в РЕД ОС илиfly-wmв Astra Linux). - После успешного запуска графической оболочки выполняется
start-2-robot.sh, содержащий команду запуска процесса робота с аргументами.
На каждом из этих этапов предусмотрена проверка существования и запуска (при наличии) дополнительных пользовательских сценариев настройки.
5.2. Сценарии настройки этапов запуска
Все пути ниже указываются относительно домашнего каталога пользователя робота, то есть ~/.config/robot/.
| Сценарий | Когда выполняется | Состояние среды | Куда записывается консольный вывод |
|---|---|---|---|
pre-runner.sh | Перед запуском Agent.Runner | X Window не запущен, графический сеанс недоступен; доступен низкоуровневый сеанс systemd | /var/log/syslog |
post-runner.sh | После завершения Agent.Runner | X Window остановлен, графический сеанс недоступен; доступен низкоуровневый сеанс systemd | /var/log/syslog |
pre-session.sh | Перед запуском графической оболочки | X Window запущен, графический сеанс ещё недоступен; доступен низкоуровневый сеанс systemd | Журнал Agent.Runner |
post-session.sh | После завершения графической оболочки | X Window ещё запущен, графический сеанс недоступен; доступен низкоуровневый сеанс systemd | Журнал Agent.Runner |
pre-robot.sh | Перед запуском робота | X Window запущен, графический и низкоуровневый сеансы доступны | Журнал Agent.Runner |
post-robot.sh | После завершения робота | X Window ещё запущен, графический и низкоуровневый сеансы доступны | Журнал Agent.Runner |
Условие выполнения: соответствующий файл должен существовать и иметь право на исполнение.
5.3. Пример использования pre-robot.sh
В некоторых случаях для корректной работы окна загрузки файла в браузере необходим процесс xdg-desktop-portal-kde. Чтобы запустить его до старта робота, файл ~/.config/robot/pre-robot.sh может содержать следующие команды:
#!/bin/sh
/usr/lib/x86_64-linux-gnu/libexec/xdg-desktop-portal-kde