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>\n\t тыркните точку и нажмите ОК" --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″]

Share

You may also like...

22 комментария

  1. пользователи, для них придумывал.

  2. Guest:

    bogidaich, потому что ремина твоя в последней бубунте 12.04 LTS безнадёжно виснет через раз. А ей как известно, из всех гуёв достойной альтернативы нет. И раз уже она косячит, то, остаётся только чистый консольный freerdp под Unix. А ему в свою, очередь других альтернатив вообще нет (rdesktop морально устарел)! Да и… не надо!
    Короче… FreeRDP всех рулит и без гуя! *DANCE*  *THUMBS UP* 
     
    Автору статьи большущий респект! *DRINK*

    •  Спасибо.

       rdesktop  — использовал его раньше…пока не увидел freerdp

      а в  rdesktop  косяки с клавой были полнейшие….прихожилось или пересобирать или брать дебиановский пакет

      У меня масса наработок по нему….но неохото даже выкладывать енто Г

      хотя у знакомого на suse стоит rdesktop  доволен 

  3. Guest:

    Пример ярлыка запуска для рабочего стола Ubuntu Desktop 12.04 LTS + Classic Gnome 3.4.1 (apt-get install gnome-session-fallback):

    На рабочем столе создаём пустой текстовый файл «RDP.desktop»
    Заполняем его содержимым:

    [Desktop Entry]
    Name=RDP
    Exec=xfreerdp -f -g 1280×948 -u user -p password —plugin cliprdr 31.31.31.31:3389
    Icon=/usr/share/icons/hicolor/48×48/status/aptdaemon-upgrade.png
    Terminal=false
    Type=Application
    Name[ru_UA]=RDP
    Comment[ru_UA]=Выход из полноэкранного режима: CTRL+ALT+ENTER

    Далее, в свойствах, вкладка Права, Выполнение: Разрешить исполнение файла как программы (ставим галочку)
    На выходе получаем RDP подключение серверу по IP 31.31.31.31 в полноэкранном режиме с рабочим буфером обмена.
    Если автор статьи подскажет ещё какие-то комбинации клавишь для xfreerdp кроме CTRL+ALT+ENTER и ALT+F4, буду весьма признателен! *THUMBS UP*
    Очень было бы здорово не выходя из полноэкранного режима переключаться между несколькими окнами xfreerdp.

  4. Guest:

    PS
    Обратите внимание на раскладку в моём примере ярлыка ru_UA
    Очевидно в большинстве случаев актуальна будет локаль ru_RU!

  5. ttys:

    для lubuntu ярлычёк сделал так:
    1c8.desktop
    [Desktop Entry]
    Encoding=UTF-8
    Type=Application
    Name=1c82
    Name[ru]=1c82
    Exec=/usr/bin/xfreerdp -u uzver -g 1280×975 —plugin rdpdr —data printer:Canon-MF5800-UFRII-LT — 1crdp.local
    Comment[ru]=
    Icon=preferences-desktop-remote-desktop
    почему так?, пото му что надо нескольео рдп юзпть и есть кнопка свернуть 😀

  6. винду надо настраивать чтобы звук заработал.
    в серверной версии как минимум надо пару галок поставить в свойствах сервера терминалов + включить службу аудио.

    по теме вебкамеры не пробовал, но думаю если прокинуть как обычное usb устройство должно заработать. 
    хотя не факт 

    • xfreerdp -u $userlogin -p $userpass —no-bmp-cache —ignore-certificate -d $domen -a 16 -g 1400×1055 —plugin rdpsnd —plugin drdynvc —data audin — —no-tls $serverip

      я так подключаюсь и работает
      правда звук идёт с опоздание, заметил при общении по скайпу с соседом 

      • ttys:

        вчера звонил другану у него мобильный интернет, так вот у него звук запаздывал и картинка тоже  😀

  7. ttys:

    Внимание! не наткнитесь на мои грабли:
    без флага —no-osb жутко тормозит блядский «1с » ]:->

    • отключение кеширования графики и правда бодрит freerdp

      также рекомендую для защиты от артефактов использовать заклинание
      —no-bmp-cache
      )

  8. ttys:

    рекомендую заменить:
    mkdir /home/user/Рабочий\ стол/obmen/
    на
    mkdir ~/Рабочий\ стол/obmen/

  9. ttys:

    повырубал нафик 😀
    —no-osb —no-bmp-cache —disable-menu-animations —disable-wallpaper
     

  10. ttys:

    по поводу скайпа не ясно, нах его юзать в терминале?  =-O
    sudo apt-add-repository «deb http://archive.canonical.com/ $(lsb_release -sc) partner»
    sudo apt-get update && sudo apt-get install -y skype
     

  11. Правильно я понял, что пытаетесь пробросить приложение да ещё чтобы была возможность сохранить на машинку линукс?

    и при сохранении файла выпадает ошибка?

    если так, то логи в студию

     Еще может кто подскажет можно ли ассоциацию файлов через freеrdp наладить. 

    а вот это уже интересно ! задумка хорошая, запускать екселевский файлик и чтобы вызывалось сразу с сервера приложение. проще конечно сделать сервер терминалов и всё. но идея хорошая. надо подумать =)  

  12. master:

    Есть комп с дэбианом. запускаю с консоли «xfreerdp-a 16 -u master -d domen -g 1024x768 --plugin rdpsnd --plugin drdynvc --data audin -- 192.168.2.100".  звук есть и на вход и на выход. рядом на тонком клиенте на thinstation 5.1 подключаюсь на тот же сервер с теми же параметрами, звук только воспроизводится. устройства на сервере появляются и на вход и на выход. в чём может быть проблема?

  13. Сергей:

    Подскажите, можно ли настроить проброс звукового устройства с сервера без звуковой карты на линукс машину?
    В виндах такое прокатывает, при этом на терминальном сервере появляется устройство  «удалённое аудио».
    Настроек со стороны клиента под виндой не требуется. Главное — настроить терминальный сервер — в свойства RDP-tcp на закладке «параметры клиента» снять галочку  «воспроизведение звука и видео».

  14. Santon:

    Так никто и не победил глюкавость?

  15. ZRX:

    Добрый день.

    Стоит сервак Win2008 R2
    Подключаюсь по команде:

    xfreerdp -u user -p pass 10.8.0.22 —plugin rdpdr —data printer:HP —

    Принтер не появляется.

  16. Stas:

    Стоит Win2008R2, поднят терминальный сервер.
    Все клиенты цепляются с тачек Ubuntu + freerdp.
    Админ периодически юзерам помогает в сложной ситуации, цепляется к их сессии через «Удаленное управление»…
    Так вот, как только админ цепляется, у юзеров зависает экран, и через 2-4 сек выкидывает из терминальной сессии.

    Раньше юзали rdesktop, и таких проблем небыло.
    Как исправить этот баг?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *