вторник, 3 сентября 2013 г.

Организация RDP-сервера на базе Debian/Ubuntu

Итак, собсна, сабж...

Огромнейшее спасибо Kevin Cave за труды! Его скрипт очень автоматизирует установку и настройку RDP-сервера на базе Debian/Ubuntu.
Далее предлагаю вольный перевод статьи (оригинала) для тех, кто не очень дружит с буржуйским...

Качаем мега-скрипт:

$sudo apt-get install -y git
$git clone https://github.com/scarygliders/X11RDP-o-Matic.git
$cd X11RDP-o-Matic

Данный скрипт скачивает, собирает и устанавливает пакеты xrdp_0.7.0-1_<arch>.deb и x11rdp_0.7.0-1_<arch>.deb 

Запускаем инсталятор:

$sudo ./X11rdp-o-matic.sh --justdoit

!В случае ошибок сборки, докачиваем необходимые пакеты и запускаем инсталятор снова!

Параметры запуска скрипта:

--help : показать справку.

--justdoit : произвести полную компиляцию и установку всех пакетов по-умолчанию,
без вмешательства пользователя (Рекомендуется).

--nocpuoptimize : не изменять скрипт компиляции X11rdp для использования
более одного ядра процессора (если установлена, для сборки используется только одно ядро,
в противном случае - все доступные ядра процессора будут задействованы).

--nocleanup : не удалять исходники X11rdp / xrdp после установки (по-умолчанию удаляются).

--noinstall : не выполнять установку необходимых пакетов, а просто собрать их.

--nox11rdp  : собрать только xrdp, без "обертки" x11rdp (не рекомнедую, в связки очень достойно работают).

--bleeding-edge : использовать нестабильные репозитории исходных кодов.

Запускаем скрипт настройки клиентов:

$sudo ./RDPsesconfig

RDP-сервер готов!!! Для подключения, в принципе, можно использовать любой клиент с поддержкой RDPv5. Я рекомендую: Remmina (кроссплатформенный), KRDC

Стандартные виндузятные клиенты тоже подходят...

12 комментариев:

  1. Спасибо.

    Только не понял, вижу что собирается под текущего пользователя ivan,
    а у меня два пользователя на компе (ivan, petr)

    Мне что, для petr снова компиляцию делать?

    ОтветитьУдалить
  2. Под каждого юзверя собирать не надо. После установки от юзера с root правами - RDP-сервер будет доступен всем юзверям системы. Под конкретного юзверя только необходимо выполнить настройку: sudo ./RDPsesconfig.sh

    ОтветитьУдалить
  3. Добрый день. Скачался скрипт - есть папка в дом.каталоге создалась , но при запуске скрипта $sudo ./X11rdp-o-matic.sh --justdoit ниччего не проиходит - ошибок не выводит . Ubuntu 12.04 -386

    ОтветитьУдалить
    Ответы
    1. Установите доп. пакеты:
      $sudo apt-get install build-essential checkinstall automake automake1.9 git git-core libssl-dev libpam0g-dev zlib1g-dev libtool libx11-dev libxfixes-dev pkg-config flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev

      Удалить
  4. Есть ли проблемы с переключением языков, печати ВСЕХ букв и символов и как дела с пробросом сканеров штрихкода и фискальников?

    ОтветитьУдалить
    Ответы
    1. Переключение языков работает только в session-Xrdp, устанавливать обязательно скриптом.
      Причем для проброса переключения расскладки пришлось внести в скрипт Xsession строку
      setxkbmap -layout "us,ru" -option "grp:ctrl_shift_toggle", после этого заработало нормально

      Удалить
    2. У меня проблем с переключением нет. Если использовать remmin`y в полноэкранном режиме и включить в настройках "захват клавиатуры" - все сочетания клавиш работают нормально. Сканер штрихкода (usb) передает сигнал на контроллер клавы, значит проблем не должно быть (но не пробовал). Фискалка тоже должна завестись, СOM-устройства пробрасываютя.

      Удалить
    3. @ALAH, забыл сказать, у меня схема win2deb, пользуюсь стандартным mstsc, потому что в компании куча тонких клиентов (winCE) они кроме RDP и CITRIX, ничего не умеют.
      А клавиатура по VNC нормально работает (в планах есть перепрошить на lin)?
      На сервере:
      vncserver :5
      на клиенте
      vncviewer ipserv:5905

      Удалить
  5. Спасибо большое за пост и инструкции. Вопрос: что делать, если после успешного выполнения всей описанной процедуры и перезагрузки Ubuntu клиент не конектиться к серверу? Похоже, что никто не слушает на нужном порту. В данном скрипте выполняется инсталляция и автозапуск сервиса, или это нужно делать отдельно? Спасибо.

    ОтветитьУдалить
    Ответы
    1. По сути, скрипт создает и устанавливает 2 пакета: xrdp и x11rdp.
      После установки в /etc/init.d должен появится скрипт запуска/остановки rdp сервера. Т.е. /etc/init.d/xrdp start|stop|restart|status

      Удалить
  6. Огромное спасибо!
    Если бы нашёл раньше, то сэкономил бы пару дней рабочего времени.

    ОтветитьУдалить
  7. $git clone https://github.com/scarygliders/X11RDP-o-Matic.git требует авторизации!!!

    ОтветитьУдалить