Имя: Пароль:
1C
1С v8
Надстройка deployka не работает при отсутствии графики на сервере Linux
,
0 IvanLex
 
20.07.22
05:24
Есть сервер под управлением Linux с установленным 1С.
На сервере, для обновления конфигурации в ИБ скриптом установлено ПО OneScript.
Для ПО OneScript установлена надстройка deployka

При подключении к серверу по ssh при выполнении команды "deployka loadcfg" возникает ошибка:

При deployka loadcfg:
ОШИБКА - Получен ненулевой код возврата 255. Выполнение скрипта остановлено!
ОШИБКА - Информации об ошибке нет

При deployka dbupdate:
ИНФОРМАЦИЯ - Запускаю обновление конфигурации БД
ОШИБКА - Получен ненулевой код возврата 255. Выполнение скрипта остановлено!
ОШИБКА - Информации об ошибке нет

На сервере нет графики совсем, Иксы не установлены.

Есть рабочее место под управлением Linux с установленным 1С и установленным графическим окружением Cinnamon.
На этой машине при выполнении команд deployka loadcfg и deployka dbupdate ошибок нет, если команды выполняются из графической сессии.
Но если к этой же машине подключиться по ssh, то ошибка повторяется в точности так же. То есть команды выполняются только при активном графическом окружении.

Если подключиться к серверу по ssh в режиме форвардинга иксов, то команды так же не исполняются. Хотя другие команды (та же 1С, при форвардинге Иксов запускается корректно).

Не всегда есть возможность воспользоваться рабочим местом с установленным графическим окружением. И так же, из-за проявленной ошибки нет возможности использовать надстройку в скриптах автоматизации.

Есть ли какая либо возможность не сталкиваться с описанной ситуацией? Кто нибудь еще использовал надстройку deployka в скриптах, как можно избежать проявленной ошибки?
1 DEVIce
 
20.07.22
05:29
Очередная поделка прыщавого красноглазика не работает на Линух в окружении без графики? Хотя она вроде как и не нужна для ее работы? Никогда такого не было и вот опять. :))))
2 IvanLex
 
20.07.22
05:40
(1) И неужели нет способа решить проблему? Ведь графика в скриптах не нужна. Да и надстройка вроде бы разрабатывалась как раз для скриптов. Как же использовать скрипты, если им нужна графика?
3 Мультук
 
гуру
20.07.22
08:06
(0)

Чего-то я не понимаю. Вот deployka:
https://github.com/oscript-library/deployka

Она в исходниках. Бери и ковыряй. Исправляй, улучшай.
Пиши автору гневные письма со словам: - доколе, боярин...
4 IvanLex
 
20.07.22
08:10
(3) Если бы он еще отвечал...

Кроме того, сама deployka написана на внутреннем языке OneScript, и как я понимаю, сама deployka "невидимых" окон не строит. Скорее всего это OneScript так работает. Создает "невидимые" окна, в которых отрабатывает код надстройки.

Сам же OneScript написан на .net framework и в Linux исполняется при помощи mono.

Тут другой вопрос. Можно ли как то подавить вывод этих "невидимых" окон, или перенаправить их на фиктивный DISPLAY, что бы отсутствие графической сессии не приводило к ошибке?
5 Asmody
 
20.07.22
09:40
(0) Вообще-то dbupdate запускает конфигуратор. Это просто удобная обертка над пакетным режимом.
У тебя конфигуратор на сервере без графики запустится? Подозреваю, что нет
6 Chai Nic
 
20.07.22
09:42
Помню, какая-то версия Midnight Commander требовала в зависимостях графическую оболочку Gnome. Потому что какая-то гномовская библиотека там задействовалась, хотя mc чисто консольная утилита. Наверное и тут что-то подобное.
7 Asmody
 
20.07.22
09:53
есть еще vanessa-runner, он поновее, но он тоже поверх конфигуратора работает.

А вообще, 1С давно написала ibcmd, в которой есть
ibcmd infobase config load
ibcmd infobase config apply

https://its.1c.ru/db/v8320doc#bookmark:adm:TI000000910
8 IvanLex
 
20.07.22
11:58
(7) Спасибо за наводку. Попробую этот спрособ.
9 ansh15
 
20.07.22
16:11
(7) Там были нюансы на ряде платформ, просто не работало https://forum.infostart.ru/forum105/topic246986/
Починили или нет в 8.3.20-8.3.21 не смотрел.
10 IvanLex
 
22.07.22
11:42
(9) Не починили
11 ДедМорроз
 
22.07.22
22:05
Самое простое xvfb виртуальный xserver позволяет делать чудеса,а если к неиу еще и vnc подключить,то даже работать можно на машине,у которой только ssh доступ.