Пользователь
0,0
рейтинг
16 сентября 2010 в 14:08

Администрирование → Полнофункциональный RDP клиент — FreeRDP

Не секрет, что в современном мире без продуктов Microsoft практически не обойтись. Однако во многих случаях получается так, что гораздо эффективней использовать на рабочих компьютерах системы на базе GNU/Linux, а не Windows. Это значительно упрощает администрирование и сокращает расходы, предоставляя при этом пользователям гораздо больше легкодоступного функционала. Но что делать с теми приложениями, которые работают только под Windows и которым нет подходящего аналога в мире Linux? Поскольку обычно таких приложений единицы (иначе просто нету смысла ставить Linux на рабочий компьютер), то разумным выбором может стать использование терминальных серверов, работающих под серверными ОС от Microsoft. Кроме того, Linux лучше всего подходит для любых тонких клиентов, поскольку адекватных версий Windows для них просто не существует.

В любом случае необходимо уметь подключаться к терминальным серверам Windows. Для этого в MS был разработан свой протокол удалённого рабочего стола — RDP. Однако до недавнего времени для Linux существовал единственный открытый клиент для работы с этим протоколом — rdesktop. К сожалению, его развитие давно остановилось, и он испытывает огромные трудности при взаимодействии с современными версиями Windows.

Но недавно тихо и незаметно проект rdesktop был форкнут, в результате чего на свет появился новый открытый RDP клиент — FreeRDP. Первый же релиз этой программы разом исправил большинство известных проблем rdesktop, и проект продолжает активно развиваться. Почему-то появление столь полезного приложение обошли вниманием, поэтому я и решил опубликовать этот пост, чтобы хоть как-то исправить эту ситуацию и рассказать всем о существовании нормального RDP клиента для Linux. Под катом — описание возможностей FreeRDP и немного про отличную графическую оболочку Remmina для него.

FreeRDP


Официальный сайт проекта — www.freerdp.com

Там же можно найти описание возможностей текущей версии и планы на будущее. Основные отличия от rdesktop:
  • Произведён значительный рефакторинг кода. Пользовательский интерфейс полностью переписан и отделён от основной библиотеки, реализована система плагинов.
  • Код максимально приведён в соответствие со спецификацией RDP от Microsoft и подробно комментирован.
  • Переписана работа с клавиатурой — больше никаких проблем с раскладками.
  • Переписана работа с принтерами, звуком и другими пробрасываемыми устройствами и сервисами.
  • Исправлены проблемы с указателем и лицензиями при подключении к серверу терминалов Windows 2008.
  • Реализовано кеширование графики (bitmap caching), что позволяет значительно повысить производительность.
Поломанные и убранные возможность rdesktop:
  • В данный момент не реализована поддержка проброса COM портов и поддержка смарт-карт.
  • Убрана поддержка режима SeamlessRDP в пользу реализации RemoteApp, которой правда тоже пока что нет.

Remmina


Кроме того, один из самых удобных графических менеджеров подключений к удалённым рабочим столам Remmina с версии 0.8 перешёл на использование FreeRDP в качестве RDP клиента.

В версии 0.8 также реализована поддержка .rdp файлов Windows, все протоколы теперь являются отдельными плагинами, добавлена поддержка IPv6 и произведено много мелких улучшений и исправлений ошибок.

Скачать последние версии FreeRDP и Remmina можно с официальных сайтов:
Для пользователей Ubuntu также доступен PPA репозиторий от разработчика FreeRDP и Remmina с самыми последними версиями этих программ:
Вадим Неворотин @Malamut
карма
124,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (74)

  • 0
    Проект интересный, спасибо.
    Но очень жаль, что нет поддержки смарт-карт.
    • +2
      Я думаю, за ними не заржавеет. Не всё сразу, хотя конечно очень хочется чтобы было именно так.
      • 0
        И еще бы микрофон. Ну очень нужно.
    • 0
      Похоже, уже запилили. Во всяком случае, флаг для сборки — есть.

      emerge -pv freerdp
      
      [ebuild   R    ] net-misc/freerdp-1.1.0_pre20121004-r1  USE="X alsa channels client cups jpeg sse2 xv -debug -directfb -doc -ffmpeg -gstreamer -pulseaudio -smartcard -xinerama"
      
  • 0
    Жалко что убрали SeamlessRDP, прозрачность процесса пропала. Пойду погуглю RemoteApp, давно не интересовался этим — все работает (=
    • 0
      Да, мне тоже жалко. Тем паче что я настороженно отношусь к RemoteApp — в родной реализации MS постоянно скачет фокус между окнами и элементами, так что фактически пользоваться этой технологией в данный момент невозможно. А SeamlessRDP работает на ура.
      • 0
        Хорошо, не буду ждать что-то изменить. А то поймал себя на мысли что давно я ничего не ломал))
        • 0
          Не, ну если они реализуют нормальную поддержку RemoteApp, то это будет вообще киллер-фича. Тем паче что даже у MS это сделать не получается. Всё же SeamlessRDP немного костыль. Но пока увы, в FreeRDP нет ни того, ни другого.
  • 0
    как же сканеры ШК и фискальники? остаюсь на rdesktop!
    • 0
      Ну да, пока вот так. Но уж это-то я очень надеюсь скоро исправят, ибо всем нужно.
  • +5
    на конец-то проблема с раскладкой решена!!!
    • 0
      Ага, и с чёрным курсором и с лицензиями. Я сегодня на DC и терминальник зашёл — прям никак нарадоваться не мог.
    • 0
      проблема с раскладкой решалась своим файликом keymap и в rdesktop прекрасно
      • +2
        кстати, вот ссылка, если кому надо:
        www.altlinux.org/Rdesktop_keymap_fix

        для меня достаточно было только
        less 0x33 shift
        greater 0x34 shift
        остался только 1 глюк, который я заметил — после: в русской раскладке (шифт+6) ставился пробел
  • 0
    Ну а для MacOS X рекомендую CoRD.
    • 0
      если честно не юзал CorRD. А чем не устраивает Microsoftовский под mac?
      • +1
        CoRD круче, попробуйте, сами всё поймете. Чего только вкладки стоят.
      • 0
        Вкладки, скорость работы, банальный copy-paste просто работает :)
    • 0
      Попробовал CoRD — подключался к моему рабочему компьютеру секунд 40, так и не смог заставить вывести изображение во весь экран. Вернулся на родной Microsoft'овский.
      • 0
        Попробуйте последние версии — у меня подобных проблем нет
      • 0
        СoRD не поддерживает Network Level Authentication. Переключитесь в Windows на less secure и все работает очень хорошо.
        • 0
          В Windows XP разве настраиваются подобные параметры? В Vista и 7 точно помню, а насчет XP не в курсе.

          Может не вышло, потому что компьютер в домене за цисковским VPN'ом…
  • 0
    Вот спасибо так спасибо, а то придет ко мне 1С программистка и через rdesktop править что то начнет, так одни маты блин )
  • 0
    Вопрос на засыпку, он поддерживает NLA для RDP?
    • 0
      Пока нет, но по словам разработчика как раз сейчас идёт реализация поддержки.
  • 0
    Я так понимаю, что идея написать эту статью возникла на почве недавнего топика в списке рассылки Ubuntu.Ru?
    P.S. Спасибо за статью.
    • 0
      Именно так. Уж больно полезная это штука.
  • +2
    Щастье есть! Как же я задолбался с rdesktop и раскладками клавиатуры…
  • +1
    Может быть, кто-то подскажет: есть-ли решение задачи наоборот — сделать доступ по RDP с Винды (ХР и 7) на линуксовую машину, т.е. демон RDP. Я пока что нашёл только xrdp, но на него как раз с 7-ки не хочет заходить.
    • +1
      А обязательно по RDP?
      Есть же ж более другие решения…
      И не нужно весь экран рисовать, достаточно только окно приложения…
      И это в X-сы заложено изначально…

      И, если мне не изменяет мой склероз, то PuTTY это умеет…

      P.S. Сами мы не местные, из-под Win на *NIX не ходим…
      Нам и rdesktop хватало (с раскладками бороться обучены).

      P.P.S.
      За статью спасибо.
      (Тем более, что в репе ALT оно уже есть,
      а я-то и не заметил :) )
      • 0
        Привлекательность RDP тут в максимальной простоте для юзера. Для запуска X11 через putty, надо всё же произвести определённые действия, запустить сам putty, набрать ручками, что запускать… Задача — чтобы юзверь ткнул на ярлык и попал на линмашину, на терминальный сервак, где работал бы в своей среде. Пробованный VNC отторг пока что тем, что нету работы на весь экран (по крайней мере у моего клиента): стандартный виндовый RDP даёт полную иллюзию «своего» рабочего пространства, что в моём случае очень важно.
        • 0
          У нас такая вещь была реализована в универе — от пользователя требовалось запустить Х-сервер ярлыком с рабочего стола и залогиниться в систему. Как конкретно это было реализовано — не знаю.
        • 0
          Ну, в качестве решения, можно попробовать сделать ярлык putty для запуска на Linux хосте IceWM в качестве приложения…

          Думаю, и полный экран будет, и полная имитация работы с локальным «Рабочим столом»…

          Хотя, для этих целей идеально подходят тонкие клиенты с загрузкой по сети (LTSP)…

          Ну да вам виднее…
          Не буду генерировать идеи, не зная специфики вашей задачи…
        • 0
          Я tightvnc юзаю. Правда из Windows редко на Linux захожу. Но иногда бывает нужно в поездках.
        • 0
          Попробуйте XManager — это полновесный X-клиент под винду. Я сам им иногда пользуюсь. Но у него есть один минус — он коммерческий.
    • 0
      На счёт RDP не скажу, но можно запустить X-сервер на виндовой машине:
      Собственно я запускал Xming у себя на компе, подключался к удалённому компу по ssh через putty (опцию там указать надо — разрешить поддержку X-сервера), изменял монитор по умолчанию на удалённой машине и запускал KDE. Всё работало. На счёт скорости не скажу — дело было в локалке.
      Удобно то, что окна программ могут распологаться прямо среди локальных.
    • +1
      Я пользуюсь NoMachine NX (http://www.nomachine.com/), очень кльовая штука для Linux -> Linux, Win -> Linux. Работает быстро, безопасно (у него внутре ssh), легко пробрасывается через NAT-ы, фаерволы (а чаще всего уже открыто, потому как ssh).
  • 0
    хммм, я пользуюсь tsclient и пока проблем не вижу, есть в репе
    • +1
      tsclient — это всего лишь обёртка над rdesktop
      • 0
        затупил, кстати, попытался на 10.10 убунте фри этот поставить на 64битной, вроде собирается, но косяки лезут, куча гемороя
        остаюсь зимовать
        • 0
          Мб в PPA по ссылке появятся версии для 10.10. Я-то не собирал, но у меня i386 Lucid.
          • 0
            10.10-32b глюков не заметил
  • 0
    НЕТ — глюкам с клавой! Ура-ура!
  • 0
    А подключение через gateway так и не реализовали. Из-за этого приходится пользоваться виндой, установленной в виртуалке.
  • 0
    Пользуюсь krdc, вполне устраивает
    • –1
      Всё б ничего, да загнулся он уже давно.
      • 0
        $ pacman -Si kdenetwork-krdc | grep Версия
        Версия                : 4.5.1-1

        Правда?
        • 0
          Хм, моя инфа оказывается устарела года на 3. Бывает.
  • +4
    Спасибо за статью.

    Увидев заголовок статьи сначала подумал нахрена ещё один RDP-клиент, когда есть rdesktop.
    Решил попробовать.

    Вот некоторые результаты тестирования «на скорую руку»:

    FreeRDP работает быстрее, rdesktop (по крайней мере у меня).
    Очень понравился GUI к freeRDP. Он умеет сохранять настройки для разных серверов.
    С rdesktop'ом приходилось писать скрипт для бухов. Теперь просто поставлю им remmina.
    Кроме RDP Remmina умеет: NX, SSH и VNC — это не может не радовать.

    Не зря я сегодня под конец рабочего дня на хабр зашел! Каждый день узнаёшь что-то новое.
    • 0
      > Кроме RDP Remmina умеет: NX, SSH и VNC — это не может не радовать.

      По умолчанию в списке протоколов для подключения не вижу никакого NX, только RDP, SFTP, SSH, VNC, VNC — Incoming Cpnnection.
      Может вы для поддержки NX ставили какие-то дополнительные пакеты?
      • 0
        Может так?
        sudo apt-get install remmina-plugin-nx
      • 0
        ставил remmina-plugins. Мне его pacman посоветовал.
  • 0
    Попробовал запустить на нетбуке с экраном 1024x600. На экран не полностью влезает диалог добавления сервера. Отписал в их список рассылки, надеюсь к следующей версии сделают получше.
  • 0
    Вещь! Плюсы куда только можно!!! Не поленился и перебил весь свой удаленный зоопарк.
    Для ленивых пользователей Ubuntu версия коала и выше — установка в 3 строки :)
    sudo add-apt-repository ppa:llyzs/ppa
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5A0FA8F1
    sudo apt-get install remmina
    • +1
      Вторая строчка не нужна))) Достаточно первой. А третья не сработает без apt update. Так что правильно вот так:

      
      sudo add-apt-repository ppa:llyzs/ppa
      sudo aptitude update
      sudo aptitude install remmina-gnome remmina-plugin-rdp freerdp
      
      • 0
        > sudo aptitude install remmina-gnome remmina-plugin-rdp freerdp

        А разве просто «sudo aptitude install remmina» не вытянет всё остальное по зависимостям?
        • 0
          Вроде нет. -gnome — это доп. апплет, а -rdp — это плагин, который только в рекомендации входит, но у меня почему-то не поставился по зависимостям.
  • 0
    По-моему, здорово (-:
    Спасибо, даже и не догадывался о существовании этого. Работает очень шустро. Даже как-то удивился сначала.
    Ещё раз спасибо!
  • 0
    Еще неплохой клиент для линукса у 2X Software. Если использовать серверную надстройку то еще и полный Seamless получается.
    • 0
      А учитывая что сервер на три подключения бесплатный то для «чисто поадминить» подходит идеально.
  • 0
    Так… теперь бы его ещё в thinstation запихнуть… :)
  • 0
    попробовал, класс, спасибо =)
    в убунте классно смотрится когда хоткеями рабочие столы меняешь ) бац винда, херакс убунта ) просто будущее какое то, много операционок одновремено; )
    • +1
      Ну это не так круто как когда бесшовная интеграция и виндовые приложения на одном десктопе и таксбаре с линусовыми/маковыми.
  • 0
    В настройках подключения есть галка «Attach to console (Windows2003 or newer)», однако дополнительная консольная RDP-сессия (кроме двух админских RDP-сессий) есть в терминальных серверах только на базе Windows Server 2003 и Windows Server 2003 R2. А уже в Windows Server 2008 и Windows Server 2008 R2 нет дополнительной консольной сессии, там по умолчанию просто две административные RDP-сессии, но они вытесняемые (т.е. если обе заняты, то админом из клиента можно любую освободить, сделав ему принудительный Disconnect).

    Т.е. фраза «Windows2003 or newer» тут не совсем соответствует действительности.
    • 0
      Ну это понятно куда — к разрабам(у).
      • 0
        Я уже отрепортил и получил ответ, что в будущих релизах исправят формулировку.
  • 0
    Спасибо огромное за remmina! Попробовала использовать vnc плагин — умеет очень быстро работать за счёт худшего качества картинки. Раньше приходилось мучиться с vinagre.
  • 0
    спасибо за статью, remmina это здорово
  • 0
    А проброс USB-шных приводов CD/DVD он делает?
  • 0
    звук с клиента на удаленный комп кто-нибудь пробросил? т.е. звукозапись работает? Подключаюсь к Win7, через нового RDP-клиента от MS (6.1.7600) работает в обе стороны, через FreeRDP — на запись ошибка — нет устройства…
  • 0
    Программулина хорошая, но к сожалению, VMware Open View с ней не работает… Кстати, если кто юзает это чудо с FeeRDP, откликнитесь пожалуйста.
  • 0
    К поломанным возможностям нужно добавить поддержку rdp 4.0 (сервер терминалов NT).
    • 0
      Если нужно из rdesktop подключиться к серверу терминалов windows NT 4, то просто добавляем опцию "-4". А в xfreerdp такой опции просто нет, по-умолчанию используется 5 версия протокола, и он просто ничего не выдает при подключении к Windows NT 4.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.