Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Успешный выход во внешние системы на базе Windows, осуществляемый через протокол RDP, требует выполнения трех обязательных условий:

      1.Выход во внешние приложения должен быть разрешен настройками кассового сервера. На сервере Windows должен быть настроен доступ по RDP. КЛИЕНТ

      2. На кассе должны быть установлены необходимые драйверы На кассовом сервере должны быть выполнены необходимые настройки.

      3. На сервере Windows должны быть в наличии нужные драйверы.  На кассе должен находиться готовый скрипт запуска приложения xfreeRDP, включая реквизиты для входа, а также файл подключения с RDP-фермы.

Якорь
1
1
Настройки на кассовом сервере

...

Лог запуска пишется в файл /home/ukm5/mint/bin/logs/application.log. - ГДЕ ОН ЖИВЕТ?

Пример удачного запуска скрипта RDP:

...

languagescala
themeRDark
linenumberstrue

...

Живет на касссе
работа и ошибки самого скрипта – в service-имя_скрипта.log.

Якорь
register
register
Настройки на кассе

В настройках на самой кассе необходимо отредактировать скопировать скрипт запуска RDP start_freerdp_example.sh: и сделать из него свой, подобный, например

Блок кода
languagebash
themeMidnight
linenumberstrue
#!/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 или 32session bpp:i:32
Порт подключения к серверу RDPserver port:i:3389
Включить сглаживание скриптовallow font smoothing:i:1
IP- или доменный адрес сервера RDPfull address:s:rdcb-rzhavkiexample.apkholdingdomain.ru


Минимальный состав параметров для подключения к RDP RemoteApplication-ферме
Количество бит на цвет - 16 или 32session bpp:i:32
Включить режим открытия удалённого приложенияremoteapplicationmode:i:1
Порт подключения к серверу RDPserver port:i:3389
Включить сглаживание скриптовallow font smoothing:i:1
IP- или доменный адрес сервера RDPfull 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 во внешней системе

...