...
Успешный выход во внешние системы на базе Windows, осуществляемый через протокол RDP, требует выполнения трех обязательных условий:
1.Выход во внешние приложения должен быть разрешен настройками кассового сервера. На сервере Windows должен быть настроен доступ по RDP. КЛИЕНТ
2. На кассе должны быть установлены необходимые драйверы На кассовом сервере должны быть выполнены необходимые настройки.
3. На сервере Windows должны быть в наличии нужные драйверы. На кассе должен находиться готовый скрипт запуска приложения xfreeRDP, включая реквизиты для входа, а также файл подключения с RDP-фермы.
Якорь | ||||
---|---|---|---|---|
|
...
Лог запуска пишется в файл /home/ukm5/mint/bin/logs/application.log. - ГДЕ ОН ЖИВЕТ?
Пример удачного запуска скрипта RDP:
...
language | scala |
---|---|
theme | RDark |
linenumbers | true |
...
Живет на касссе
работа и ошибки самого скрипта – в service-имя_скрипта.log.
Якорь | ||||
---|---|---|---|---|
|
В настройках на самой кассе необходимо отредактировать скопировать скрипт запуска RDP start_freerdp_example.sh: и сделать из него свой, подобный, например
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/bin/bash MINT_DIR="/home/ukm5/mint/bin" # Папка исполняемых файлов УКМ5 кассы NAME=$(tail $MINT_DIR/.ext_app) # Имя скрипта LOGFILE=$MINT_DIR/logs/service-$NAME.log # Лог файл LOGIN='Admin' # Логин пользователя Windows PASSWORD='One1' # Пароль пользователя Windows IP_ADDR='' # IP адрес или доменное имя подключения RDP PORT='3389' # Порт подключения RDP RDPFILE='/home/ukm5/mint/bin/ext_apps/1c.rdp' # Файл подключения RDP с Windows RDP фермы #COM_01='/serial:COM1,/dev/ttyS0,Serial,permissive' # Пример проброса COM порта #COM_07='/serial:COM7,/dev/ttyACM0,Serial,permissive' # Пример проброса USB-COM порта (работает на основании драйвера в ubuntu, сканер работает плохо) COM_1='' # COM порты COM_2='' # COM_3='' # COM_4='' # COM_5='' # COM_6='' # COM_7='' # COM_8='' # COM_9='' # #PRINTER_00='/printer' # PRINTER='' # Принтер result() # Функция выхода из скрипта при критической ошибке запуска { if [ $? -ne 0 ]; then echo "ERROR" exit 1 fi } result_with_restart() # Функция перезапуска кассового модуля при завершении скрипта с ошибкой { if [ $? -ne 0 ]; then echo "ERROR" echo echo "==== starting mint service" systemctl start mint result echo "==== mint service started" echo echo "==== starting UI" export DISPLAY=:0 su ukm5 -c "$MINT_DIR/start_chrome.sh >/dev/null 2>&1 &" echo "==== UI started" exit 1 fi } echo "==== $0 started $(date) ===========" # Запуск RDP echo echo "==== stopping mint service" # Останавливаем mint systemctl stop mint result_with_restart echo "==== mint service stopped" echo echo "==== starting freerdp" # Запускаем RDP export DISPLAY=:0 #/opt/freerdp-nightly/bin/xfreerdp /u:$LOGIN /p:$PASSWORD /v:$IP_ADDR:$PORT /cert-ignore $COM_1 $COM_2 $COM_3 $COM_4 $COM_5 $COM_6 $COM_7 $COM_8 $COM_9 $PRINTER /multitouch /f +compression >> $LOGFILE /opt/freerdp-nightly/bin/xfreerdp $RDPFILE /u:$LOGIN /p:$PASSWORD /cert-ignore >> $LOGFILE #без multitouch - 1С с ними не работает result_with_restart echo "==== UI started" echo echo "==== starting mint service" # Запускаем mint после выхода/дисконнекта RDP systemctl start mint result echo "==== mint service started" echo echo "==== $0 completed $(date) =========" exit 0 |
Приложение xfreerdp позволяет подключаться по разным параметрам, также есть возможность использовать файл формата .rdp.
Минимальный состав параметров для подключения к RDP-ферме | |
---|---|
Количество бит на цвет – 16 или 32 | session bpp:i:32 |
Порт подключения к серверу RDP | server port:i:3389 |
Включить сглаживание скриптов | allow font smoothing:i:1 |
IP- или доменный адрес сервера RDP | full address:s:rdcb-rzhavkiexample.apkholdingdomain.ru |
Минимальный состав параметров для подключения к RDP RemoteApplication-ферме | |
---|---|
Количество бит на цвет - 16 или 32 | session bpp:i:32 |
Включить режим открытия удалённого приложения | remoteapplicationmode:i:1 |
Порт подключения к серверу RDP | server port:i:3389 |
Включить сглаживание скриптов | allow font smoothing:i:1 |
IP- или доменный адрес сервера RDP | full address:s:rdcb-rzhavkiexample.apkholdingdomain.ru |
Полный адрес расположения удалённого приложения | remoteapplicationprogram:s:C:\Program Files (x86)\1cv8\common\1cestart.exe |
Имя удалённого приложения | remoteapplicationname:s:1C V8_DEV_PASHAEV_R_FL_UT_UKM - НОРМАЛЬНО В ОТКРЫТОМ ДОСТУПЕ?XXX |
Строка запуска удалённого приложения с параметрами | remoteapplicationcmdline:s:ENTERPRISE /S"DEV-16-AS-001\V8_DEV_PASHAEV_R_FL_UT_UKM" /N"IntKassa" /P"kassa82" /-001\V8_DEV_XXX"/RunModeOrdinaryApplication |
Название коллекции удалённых приложений | loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.RDS-Rzhavki-KKM |
...
sample |
Руководство по работе с xfreerdp и описание всех параметров располагается здесь:
https://wiki.yola.ru/_media/freerdp/freerdp-user-manual.pdf
Описание всех параметров файла формата .rdp можно найти по адресу:
https://docs.microsoft.com/ru-ru/windows-server/remote/remote-desktop-services/clients/rdp-files
Настройки на сервере Windows во внешней системе
...