среда, 5 октября 2016 г.

Терминальный сервер Debian 8 LXDE + xRDP + X11-RDP


Актуальная версия здесь.

По сути это не самостоятельная статья, а описание того как довести первоисточник до рабочего состояния для связки Debian + LXDE + XRDP+X11-RDP, если бы не столкнулся с нюансами, не стал бы писать заметку.

Объясняю выбор именно такой связки: Ubuntu ставит, просто невообразимое количество всяких свистелок-перделок, с которыми можно мириться на десктопе, но которые совершенно не уместны на сервере, какое бы мощное железо не было одно ненужное приложение допустим запущенное 30-ю пользователями откушает изрядный кусок ресурсов, LXDE самое легкое окружение, на мой взгляд, как минимум легче Xfce, про аргументы в пользу XRDP+X11-RDP подробно описаны другими авторами, для меня было достаточно того, что FreeNX больше не поддерживается.

Приступим:

Система предполагается уже установленной, я ставил минимально возможное: базовую систему, LXDE, системные утилиты.
Ставим xrdp как и в статье:
sudo apt-get install xrdp


Стартуем:
sudo /etc/init.d/xrdp start

Ставим пакеты для сборки X11-RDP:
sudo apt-get install subversion gcc libice-dev pkg-config zlib1g-dev cvs autoconf
sudo apt-get install libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev xfonts-base

Отличие от описанной установки:
sudo apt-get install build-essential xorg-dev

без них сборка прерывается, в Ubuntu все было нормально без них.
Далее все по тексту из статьи:
mkdir Install
cd Install
mkdir X11rdp
cd X11rdp
svn co svn://server1.xrdp.org/srv/svn/repos/main/x11rdp_xorg71
mkdir /usr/local/X11rdp
cd x11rdp_xorg71
sh buildx.sh /usr/local/X11rdp

Теперь сделаем символьные ссылки для xRDP
ln -s /usr/local/X11rdp/bin/X11rdp /usr/local/bin
ln -s /usr/share/fonts/X11 /usr/local/X11rdp/lib/X11/fonts

В /etc/xrdp/xrdp.ini Добавляем новую секцию 
 [xrdp0]
name=sesman-X11rdp
lib=libxup.so 
username=ask 
password=ask 
ip=127.0.0.1 
port=-1

В /etc/xrdp/sesman.ini
выставляем максимальное количество подключений (по умолчанию 10)
секция [Sessions], параметр 'MaxSessions'.

Все пересобирать xRDP не нужно.
Все должно нормально работать, единственное,для решения вопроса переключения
раскладок клавиатуры я поставил пакет gxkb и добавил его в автозапуск сессии
пользователей:
sudo apt-get install gxkb
cp /usr/share/applications/gxkb.desktop /etc/xdg/autostart

вот и вся настройка, дальше настраиваем функционал, для которого сервер поднимался.

Это позднее дополнение: 

столкнулся с тем, что по приходу утром на работу,
обнаружил полностью нагруженные процессоры сервера,
анализ показал что работают множественные хранители экрана.
Рещение:
заменяем дефолтный рандомный выбор хранителя на черный экран - правим
/etc/X11/app-defaults/XScreenSaver-nogl
меняем опции mode и timeout

теперь по умолчанию у пользователя через час простоя будет просто тухнуть экран,
не нагружая систему, значение mode off почему то не имеет глобального действия и поэтому,
если для какого то пользователя, вышеуказанное поведение хранителя не подходит,
необходимо в сеансе пользователя в терминале выполнить:
xscreensaver-demo и отключить хранитель экрана:

В каталоге пользователя создастся файл .xscreensaver со значением mode off.

2 комментария:

  1. mkdir Install
    cd Install
    mkdir X11rdp
    cd X11rdp
    svn co svn://server1.xrdp.org/srv/svn/repos/main/x11rdp_xorg71
    mkdir /usr/local/X11rdp
    cd x11rdp_xorg71
    sh buildx.sh /usr/local/X11rdp

    Репозитарий не действителен использовал
    svn co https://github.com/Magister/x11rdp_xorg71
    и после
    sh buildx.sh /usr/local/X11rdp
    sh: 0: Can't open buildx.sh

    Попробовал подключится по RDP ввожу логин пароль то сразу сеанс обрывается

    ОтветитьУдалить
    Ответы
    1. Насколько необходимо использовать такую старую версию Debian?

      Удалить