panel-management(1)
| PANEL-MANAGEMENT(1) | Команды пользователя | PANEL-MANAGEMENT(1) |
NAME
panel-management - управление интерактивными панелями Promethean и NexTouch
SYNOPSIS
panel-management [команда] [-p тип] [-n номер] [-c команда] [-v значение] [-f] [--autostart] [--no-autostart] [--autostart-all] [--no-autostart-all] [--nextouch-ip адрес]
DESCRIPTION
panel-management управляет интерактивными панелями Promethean и NexTouch. Она умеет отправлять команды по сети, выводить пронумерованный список доступных команд, настраивать сетевой интерфейс для работы с панелью, управлять автозапуском утилиты, а также открывать графический интерфейс.
При запуске без аргументов программа открывает графический интерфейс с таблицей доступных команд и помещает значок в системный трей. При сворачивании окно скрывается в трей; при закрытии окна программа завершается. Правый клик по значку в трее открывает меню с пунктами «Показать окно», «Выбор источника», «Сменить тип панели», «Добавить в автозапуск» / «Убрать из автозапуска» и «Выход».
При запуске хотя бы с одним аргументом программа работает в консольном режиме и разбирает аргументы с помощью модуля argparse(3). Консольный режим не зависит от графической подсистемы и полностью работает по ssh, в том числе команды setup и setup с флагами автозапуска.
ARGUMENTS
- help, list, setup, run
- Команда для выполнения. Обязательна при запуске с аргументами. Одно из значений:
- help
- Вывести краткую справку в стандартный вывод и завершить работу. Тип панели указывать не нужно.
- list
- Вывести пронумерованный список доступных команд для выбранного типа панели. Если -p не указан, печатает `Укажите тип панели.' и завершает работу с кодом 0.
- setup
- Настроить сетевой интерфейс для работы с панелью Promethean либо управлять автозапуском утилиты. Управление автозапуском (флаги --autostart/--no-autostart/--autostart-all/--no-autostart-all) доступно для обоих типов панелей. Настройка сети без флагов автозапуска — только для Promethean (-p 0).
- Без флагов автозапуска команда настраивает сеть. Она работает без интерактивного ввода: находит два Ethernet-интерфейса (обычный и USB-эзернет, имя которого содержит u), и если у USB-интерфейса нет соединения, создаёт его с именем Android и адресом 192.168.254.253/24. Если оба интерфейса уже имеют соединения, ничего не меняется. Результат печатается в стандартный вывод. При указании -f существующее соединение Android удаляется и создаётся заново.
- С флагом --autostart команда включает автозапуск для текущего пользователя с активной X-сессией: создаёт файл ~/.config/autostart/panel-management.desktop с правами 0644 и владельцем-пользователем. Если утилита запущена от root, целевой пользователь определяется через get_current_user_on_x(3); если активной X-сессии нет, команда ничего не делает и сообщает об этом.
- С флагом --no-autostart команда выключает автозапуск для текущего пользователя: в пользовательский файл ~/.config/autostart/panel-management.desktop записывается строка Hidden=true. Это перекрывает системный автозапуск по спецификации XDG и гарантирует, что автозапуск не сработает, даже если системный файл появится позже. Пользовательский файл не удаляется.
- С флагом --autostart-all команда включает автозапуск для всех пользователей устройства: создаёт файл /etc/xdg/autostart/panel-management.desktop с правами 0644 и владельцем root. Требует прав root.
- С флагом --no-autostart-all команда выключает автозапуск для всех пользователей: удаляет /etc/xdg/autostart/panel-management.desktop. Требует прав root.
- Все четыре флага автозапуска взаимоисключающие и не запускают настройку сети. Требования к настройке сети см. в разделе NOTES.
- run
- Отправить команду на панель. Требует либо -c, либо -n. Для команд, требующих числового параметра (яркость, громкость и т. п.), необходимо также указать -v.
OPTIONS
- -p, --panel-type тип
- Тип панели. Одно из значений:
- 0 — Promethean
- 1 — NexTouch
- Обязателен для всех команд, кроме help.
- -n, --number номер
- Номер команды для выполнения на панели (позиция команды в списке, который выводит list). Используется с командой run.
- -c, --cmd команда
- Строка команды для выполнения на панели. Используется с командой run.
- -v, --value значение
- Числовой параметр для команд, которые его требуют (яркость, громкость и т. п.). Обязателен для команд из фиксированного набора; для остальных команд указание -v приводит к ошибке. Используется с командой run.
- -f, --force
- Для команды setup: принудительно перенастроить Android-интерфейс (id Android, адрес 192.168.254.253/24), даже если соединение уже существует. Указание -f с любой другой командой приводит к ошибке.
- --autostart
- Для команды setup: включить автозапуск для текущего пользователя с активной X-сессией. Создаётся файл ~/.config/autostart/panel-management.desktop с содержанием Exec=panel-management --tray. Файл принадлежит пользователю, права 0644. Строка Hidden в файл не пишется — её отсутствие означает, что автозапуск активен. Если утилита запущена от root, имя целевого пользователя определяется через get_current_user_on_x(3); при отсутствии активной X-сессии команда ничего не делает и печатает сообщение. Указание --autostart с любой другой командой, кроме setup, приводит к ошибке.
- --no-autostart
- Для команды setup: выключить автозапуск для текущего пользователя. В файл ~/.config/autostart/panel-management.desktop записывается строка Hidden=true. Это перекрывает системный автозапуск для данного пользователя по спецификации XDG и гарантирует, что автозапуск не сработает, даже если системный файл появится позже. Пользовательский файл не удаляется. Указание --no-autostart с любой другой командой, кроме setup, приводит к ошибке.
- --autostart-all
- Для команды setup: включить автозапуск для всех пользователей устройства. Создаётся файл /etc/xdg/autostart/panel-management.desktop с правами 0644 и владельцем root. Требует прав root: при запуске не от root команда завершается с сообщением об ошибке, ничего не меняя. Указание --autostart-all с любой другой командой, кроме setup, приводит к ошибке.
- --no-autostart-all
- Для команды setup: выключить автозапуск для всех пользователей устройства. Удаляется файл /etc/xdg/autostart/panel-management.desktop. Требует прав root. Если файла нет, команда завершается успешно и печатает соответствующее сообщение. Указание --no-autostart-all с любой другой командой, кроме setup, приводит к ошибке.
- --tray
- Служебный флаг. Запускает утилиту в графическом режиме сразу свёрнутой в трей, без показа главного окна. Если в конфиге сохранён тип панели, диалог выбора типа панели не показывается; иначе показывается обычный диалог, и после выбора окно остаётся видимым. Используется в файле автозапуска; вручную вызывать не требуется.
- --nextouch-ip адрес
- IP-адрес панели NexTouch (не OPS-модуля). Обязателен для всех команд NexTouch, кроме list и help. Адрес проверяется как строгий IPv4 в точечной нотации (четыре октета 0–255, без ведущих нулей) и дополнительно через IPy(3) до отправки команды; при некорректном адресе программа завершается с ошибкой.
- -h, --help
- Показать краткую справку, сгенерированную argparse(3), и завершить работу. Это встроенная справка argparse, а не команда help.
EXAMPLES
- Показать список команд для панели Promethean:
- panel-management list -p 0
- Отправить команду номер 5 с параметром 75 на панель Promethean:
- panel-management run -p 0 -n 5 -v 75
- Отправить конкретную команду на панель NexTouch:
- panel-management run -p 1 --nextouch-ip 192.168.1.10 -c 6B303173503230300D
- Настроить сетевой интерфейс для панели Promethean (по ssh, без вопросов):
- panel-management setup -p 0
- Принудительно перенастроить Android-соединение:
- panel-management setup -p 0 -f
- Включить автозапуск для текущего пользователя с X-сессией (по ssh от root):
- panel-management setup -p 0 --autostart
- Выключить автозапуск для текущего пользователя:
- panel-management setup -p 0 --no-autostart
- Включить автозапуск для всех пользователей устройства (только root):
- sudo panel-management setup -p 0 --autostart-all
- Выключить автозапуск для всех пользователей устройства:
- sudo panel-management setup -p 0 --no-autostart-all
EXIT STATUS
- 0
- Успешное выполнение. Также возвращается командой list без -p и командой help.
- 2
- Некорректные аргументы командной строки: сообщение выдаёт либо argparse(3), либо внутренняя проверка аргументов.
- другое
- setup при настройке сети возвращает код завершения nmcli(1); ненулевое значение означает, что настроить сеть не удалось. При работе с автозапуском ненулевой код возврата означает, что команда не смогла выполнить действие (нет прав, не найден пользователь с X-сессией, ошибка записи файла).
FILES
- promethean_commands
- Список команд для панелей Promethean. Каждая непустая строка имеет вид код;перевод[;коды]. Необязательное третье поле — литерал словаря Python, сопоставляющий сырые ответы панели человекочитаемым сообщениям.
- nexttouch_commands
- Список команд для панелей NexTouch. Формат тот же, но без описания команд на английском для NexTouch.
- ~/.config/panel-management/config.ini
- Пользовательский конфиг. Хранит выбранный тип панели (panel_type) и IP-адрес NexTouch (nextouch_ip). Создаётся автоматически при первом выборе типа панели в графическом интерфейсе или при добавлении утилиты в автозапуск. Используется при запуске с флагом --tray, чтобы не показывать диалог выбора типа панели.
- /etc/xdg/autostart/panel-management.desktop
- Системный файл автозапуска для всех пользователей устройства. Создаётся командой panel-management setup -p 0 --autostart-all от имени root. Содержит строку Exec=panel-management --tray. Права 0644, владелец root:root.
- ~/.config/autostart/panel-management.desktop
- Пользовательский файл автозапуска. Создаётся командой panel-management setup -p 0 --autostart или из меню трея. Переопределяет системный файл по спецификации XDG. Команда panel-management setup -p 0 --no-autostart записывает в этот файл строку Hidden=true, что отключает автозапуск для пользователя независимо от наличия системного файла.
NOTES
Утилита отправляет команды Promethean по UDP на 192.168.254.254:8903 и слушает ответы на 192.168.254.253:8904. Команды NexTouch отправляются по TCP на порт 4660 панели, указанной в --nextouch-ip, с использованием nc(1).
- Для работы
- setup при настройке сети требуется:
- как минимум два Ethernet-интерфейса, видимых для nmcli(1);
- nmcli и работающий NetworkManager;
- sudo для применения изменений (в консольном режиме);
- pkexec для применения изменений (в графическом режиме).
- Если найдено меньше двух интерфейсов, команда печатает сообщение об ошибке и завершается, ничего не меняя. Флаги автозапуска не требуют ни nmcli, ни интерфейсов.
- Автозапуск действует на пользователя, у которого запущена
- графическая сессия X. При запуске команды от root целевой пользователь определяется через get_current_user_on_x(3). Если активной X-сессии нет, пользовательские флаги (--autostart, --no-autostart) ничего не делают и печатают сообщение.
- Панели NexTouch нельзя настраивать командой
- setup; используйте list и run. Это проверяется программой до выполнения любой команды.
- Признаком Android-интерфейса считается наличие символа
- u в имени устройства (USB-эзернет, например enp0s20f0u3). Это не универсальное правило, но оно надёжно работает на типовых конфигурациях МосТех.
- Одновременно может работать только один экземпляр утилиты в графическом
- режиме. Повторный запуск (например, вручную при уже запущенном автозапуске) выводит сообщение и завершается.
SEE ALSO
AUTHOR
Команда разработки МосТех
| 2026 | panel-management 2.2 |
