FreeRDP примеры подключения

решил сделать для себя пометку. Может кому ещё пригодится.

Во всех примерах будут использоваться:

  • разрешение экрана = 16 bit
  • разрешение экрана = 1024×768

, а также переменные:

  • user_linux — имя пользователя в Linux
  • user_windows — имя пользователя на сервере терминалов в Windows
  • domen — имя вашего домена
  • 10.10.10.10 — ip-адрес сервера

 

Подключаем общий буфер обмена:

xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin cliprdr 10.10.10.10

Монтируем рабочий стол из linux в терминал windows:

xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin rdpdr --data disk:desktop:/home/user_linux/Рабочий стол/ -- 10.10.10.10

Подключаемся на порт отличный от стандартного (3398), например 7777:

xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin cliprdr 10.10.10.10:7777

или

xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin cliprdr -t 7777 10.10.10.10

Подключаем usb-flash на сервер терминалов:

xfreerdp -a 16 -u user_windows -d domen -g 1024x768 --plugin rdpdr --data disk:ufb-flash:/media -- 10.10.10.10

Пробрасываем звук с linux машины в терминал и обратно:

xfreerdp-a 16 -u user_windows -d domen -g 1024x768 --plugin rdpsnd --plugin drdynvc --data audin -- 10.10.10.10

Принтер в терминал:

xfreerdp-a 16 -u user_windows -d domen -g 1024x768 --plugin rdpdr --data printer:HP_LJ_1120 -- 10.10.10.10

Я пользуюсь следующими возможностями FreeRDP:

  • разрешение экрана = 16 bit
  • разрешение экрана = 1024×768
  • буфер обмена
  • проброс всех принтеров
  • по-умолчанию английская раскладка
  • Отключенное TLS шифрование
  • Пробрасываем в терминал рабочий стол и usb-флешки в виде подключенных дисков

Вот пример:

xfreerdp -a 16 -u user_windows -d domen -g 1024x768 -z --ignore-certificate -k 0x00000409  --plugin rdpdr --data disk:desktop:/home/xaxatyxa/Рабочий стол/ disk:usf-flash:/media/ printer -- --plugin cliprdr --plugin drdynvc --data audin -- --no-tls 10.10.10.10

В ходе экспериментов родился скрипт:

#!/bin/bash
mkdir /home/user/Рабочий стол/obmen/
lastlogin=$(cat ~/login.txt)
userlogin=$(zenity --entry --text='Введите Ваш логин:' --entry-text=$lastlogin --title='ВНИМАНИЕ')
echo $userlogin > ~/login.txt
userpass=$(zenity --entry --text='Введите Ваш пароль:' --hide-text --title='ВНИМАНИЕ')
serverip=$(zenity --list --radiolist --title "ВНИМАНИЕ" --text "<b>Выберите рабочий сервер</b>nt тыркните точку и нажмите ОК" --column "" --column "" --column "список серверов" TRUE "192.168.15.8" "office" FALSE "192.168.15.9" "analit" FALSE "192.168.15.4" "model" FALSE "192.168.15.113" "Buhgalter" --height 250 --hide-column 2)
if [[ "$serverip" == "192.168.15.4" ]]; then
        xfreerdp -u $userlogin -p $userpass --ignore-certificate -d vnt -a 32 -g 1400x1055 --plugin rdpsnd --plugin drdynvc --data audin -- --no-tls $serverip
else
        zenity --question --text=${userlogin}',запускаем в полном экране?' --title='РЕЖИМ РАБОТЫ ТЕРМИНАЛА'
        if [ $? -eq 0 ]; then
                xfreerdp -f -u $userlogin -p $userpass --ignore-certificate -d 'vnt' -a 16 --plugin rdpdr --data disk:user:/home/user/Рабочий стол/obmen/ --plugin rdpsnd --plugin drdynvc --data audin -- --no-tls $serverip
        else
                X_RES=$(xrandr | sed -n 's/.{0,}current ([0-9]{1,}) x [0-9]{1,}.{0,}/1/g;p;q')
                Y_RES=$(xrandr | sed -n 's/.{0,}current [0-9]{1,} x ([0-9]{1,}).{0,}/1/g;p;q')
                let "X_RES -= 10"
                let "Y_RES -= 30"
                xfreerdp -u $userlogin -p $userpass --ignore-certificate -d vnt -a 32 -g ${X_RES}x${Y_RES} --plugin rdpdr --data disk:user:/home/user/Рабочий стол/obmen/ --plugin rdpsnd --plugin drdynvc --data audin -- --no-tls $serverip
        fi
fi

[download id=»86″ format=»1″]



2012-04-20T22:50:34
Ubuntu — дружелюбный linux