...
Настройки выхода во внешние приложения осуществляются в файле /home/ukm5/mint/bin/conf/applications/external_apps/external_apps.conf, conf (права - 644), размещенном непосредственно на кассе. В данном файле хранятся названия кнопок и скриптов для запуска приложений, а также их параметры. :
Блок кода | ||||
---|---|---|---|---|
| ||||
launcherPossition = 1400 # Очередность расположения кнопки на экране name = "Внешние приложения" # Надпись на кнопке (может быть длиной от 1 до 30 символов) app_list : [ { name : "cutecom", # Название кнопки на экране "Внешние приложения" command : """start_cutecom.sh""" # Полное имя скрипта с его расположением (при параметре isExclusive = true указываем только название скрипта в папке /home/ukm5/mint/bin/ext_apps/) isExclusive = true # Запуск скрипта с выключением кассового модуля и последующим его запуском (по умолчанию -– false, если отсутствует - тоже false) } { name : "xterm", # Название кнопки на экране "Внешние приложения" command : """/home/ukm5/mint/bin/ext_apps/start_xterm.sh""" # Полное имя скрипта с его расположением } { name : "freerdp", # Название кнопки на экране "Внешние приложения" command : """start_xterm.sh""" # Полное имя скрипта с его расположением (при параметре isExclusive = true указываем только название скрипта в папке /home/ukm5/mint/bin/ext_apps/) isExclusive = true # Запуск скрипта с выключением кассового модуля и последующим его запуском (по умолчанию -– false, если отсутствует – тоже false) } - тоже false) } ] ] |
Написание скриптов запуска внешних приложений полностью возлагается на пользователя. Все внешние скрипты должны располагаться в папке /home/ukm5/mint/bin/ext_apps/ и иметь права запуска 755. Возможно и иное размещение, но в таком случае, скрипты не должны выключать кассовое ПО.
Логи пишутся в папку /home/ukm5/mint/bin/logs/: лог запуска скрипта пишется в application.log, работа и ошибки самого скрипта – в service-имя_скрипта.log.
Горячие клавиши:
- ALT+TAB – переключение между открытыми приложениями;
- Right ALT+F4 – закрытие активного приложения в фокусе.
Настройка и запуск протокола RDP
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
#!/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.
...