...
Якорь | ||||
---|---|---|---|---|
|
В настройках на самой кассе необходимо отредактировать скрипт запуска 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-rzhavki.apkholding.ru |
Минимальный состав параметров для подключения к RDP RemoteApplication-ферме | |
---|---|
Количество бит на цвет - 16 или 32 | session bpp:i:32 |
Включить режим открытия удалённого приложения | remoteapplicationmode:i:1 |
Порт подключения к серверу RDP | server port:i:3389 |
Включить сглаживание скриптов | allow font smoothing:i:1 |
Полный адрес расположения удалённого приложения | full address:s:rdcb-rzhavki.apkholding.ru |
Имя удалённого приложения | remoteapplicationprogram:s:C:\Program Files (x86)\1cv8\common\1cestart.exe |
Строка запуска удалённого приложения с параметрами | remoteapplicationname:s:1C V8_DEV_PASHAEV_R_FL_UT_UKM |
Название коллекции удалённых приложений | remoteapplicationcmdline:s:ENTERPRISE /S"DEV-16-AS-001\V8_DEV_PASHAEV_R_FL_UT_UKM" /N"IntKassa" /P"kassa82" /RunModeOrdinaryApplication |
loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.RDS-Rzhavki-KKM |
Свежую версию xfreerdp можно взять на сайте:
https://ci.freerdp.com/job/freerdp-nightly-binaries/
Руководство по работе с 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