Разработки
May 26, 2022

Создаем ярлык приложения remoteapp через xfreerdp в Astra Linux

Коллеги говорили, что remoteapp для Linux- это проблема. Это не совсем так :)

В ряде случаев установить negotiate-подключение к remoteapp\ts невозможно, поэтому тут будет рассматриваться запрос логина и пароля

  1. Устанавливаем Zenity (это пока самое простое и доступное в Astra Linux)
  2. Создаем скрипт запуска приложения (см. код ниже)
  3. Предоставляем права на запуск или делаем ярлык для запуска
  4. Запускаем и радуемся :)
#!/bin/sh
LOGIN=$USER
ENTRY=`zenity --password --username`
TSFARMNAME="<имя фермы тс>"  
APPNAME="<имя приложения>"
case $? in 
         0)
                USR=$(echo "`echo $ENTRY | cut -d'|' -f1`")
                PWD=$(echo "`echo $ENTRY | cut -d'|' -f2`")
                notify-send -t 10000 -i preferences-web-browser-shortcuts "Запускаем приложение $APPNAME для пользователя $LOGIN"
                xfreerdp /app:"||$APPNAME" /v:$TSFARMNAME /floatbar:sticky:on,default:visible,show:fullscreen /sec:nla /cert:ignore /u:$USR /p:$PWD +clipboard
                notify-send --icon preferences-web-browser-shortcuts "Приложение $APPNAME закрыто"
                ;;
         1)
                echo "Stop login.";;
        -1)
                echo "An unexpected error has occurred.";;
esac

UPD:

В Astra Linux получили нормальное средство диалогов.

#!/bin/sh
LOGIN=$USER
TSFARMNAME="<имя фермы тс>"  
APPNAME="<имя приложения>"
ENTRY=`fly-dialog --preloginpassword $LOGIN`
case $? in 
         0)
                USR=$(echo "`echo $ENTRY |awk 'NR==1`")
                PWD=$(echo "`echo $ENTRY |awk 'NR==2`")
                notify-send -t 10000 -i preferences-web-browser-shortcuts "Запускаем приложение $APPNAME для пользователя $LOGIN"
                xfreerdp /app:"||$APPNAME" /v:$TSFARMNAME /floatbar:sticky:on,default:visible,show:fullscreen /sec:nla /cert:ignore /u:$LOGIN /p:$PWD +clipboard
                notify-send --icon preferences-web-browser-shortcuts "Приложение $APPNAME закрыто"
                ;;
         1)
                echo "Stop login.";;
        -1)
                echo "An unexpected error has occurred.";;
esac

UPD2:

Товарищ в комментариях добавил справедливое замечание.

Ниже откорректированный "простой" вариант запуска приложения Wordpad на терминальном сервере Windows для Astra Linux

xfreerdp /u:$USER /d:$(echo $USER_DOMAIN_LOGIN) /v:<ИМЯ_СЕРВЕРА> /cert-ignore /p:$(fly-dialog --password "Введите пароль" --title "REMOTEAPP") /app:"||WordPad"