Проблемы с Wine, когда запущенная windows-программа вылетает вместе с терминальной сессией, вроде как решена с приходом Wine 1.5.13 и выше.
Для устранения проблем с libcairo2 надо вручную накладывать патчи на исходники FreeNX и пересобирать, готовые пакеты с уже включенным патчем на сайте Этерсофта доступны только для Ubuntu 12.10.
С PASSDB вообще у меня весело получилось: пока настраивал, всё прекрасно работало, принёс готовый сервер к клиенту - и ни фига не пашет.
Плюс моё описание, которое я написал ещё в 2009 году по настройке терминального сервера FreeNX, уже не актуально, в новых версиях всё поменялось.
В качестве замены FreeNX я пока пробую связку Xrdp + X11rdp, которая позволяет организовать RDP-сервер на Линуксе, а затем заходить на него при помощи любого RDP-клиента.
В интернете много описаний по установке и настройке этого сервера, но приведу свою инструкцию.
ШАГ 1: компиляция X11RDP
1) устанавливаем пакеты для компиляции X11rdp:
Код: Выделить всё
sudo apt-get install subversion gcc libice-dev pkg-config zlib1g-dev cvs autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev xfonts-base
2) скачиваем исходники X11rdp из SVN под профилем пользователя (не root'а!):
Код: Выделить всё
svn co svn://server1.xrdp.org/srv/svn/repos/main/x11rdp_xorg71
текущая версия ревизии - 299
3) создаём каталог, где будут находиться все скомпилированные компоненты (владельцем каталога обязательно должен быть root!):
Код: Выделить всё
sudo mkdir /opt/X11rdp
4) переходим в каталог с исходниками и компилируем:
Код: Выделить всё
cd ~/x11rdp_xorg71
time sudo sh buildx.sh /opt/X11rdp
Компиляция в зависимости от мощности компьютера может занять от 30 минут до 2 часов.
5) создаём симлинк в каталоге /usr/bin:
Код: Выделить всё
sudo ln -s /opt/X11rdp/bin/X11rdp /usr/bin/X11rdp
Чтобы не компилировать систему каждый раз, рекомендую после компиляции создать готовый DEB-пакет. Как это сделать, можно почитать здесь
При сборке DEB-пакета рекомендую поставить в зависимости пакеты libice6, libpam0g, libssl1.0.0, libx11-6, libxfixes3, xfonts-base, zlib1g.
На этом первая часть закончена, каких-либо настроек X11rdp не требуется
ШАГ 2: компиляция XRDP:
В большинстве источников рекомендуется скачать XRDP из GIT'а и скомпилировать вручную.
Я же рекомендую скачать исходники XRDP версии не ниже 0.6.0 из репозиториев своей системы и собрать deb-пакет. Во-первых, это более правильный метод, а во-вторых, меньше геморроя с настройками.
Исходники для Ubuntu
Исходники для Debian'а
Если в репозиториях вашей системы уже есть пакет XRDP версии 0.6.0 и выше, то переходите сразу к пункту 5 этого шага.
В более старых версиях XRDP 0.5.0 и 0.5.2 возможна проблема с русской клавиатурой.
Итак, приступим:
1) устанавливаем пакеты для правильной компиляции XRDP:
Код: Выделить всё
sudo apt-get install debhelper libssl-dev libpam0g-dev autoconf automake libtool libx11-dev libxfixes-dev libfreerdp-dev pkg-config
2) скачиваем файлы xrdp_0.6.0.orig.tar.gz, xrdp_0.6.0-1.dsc и xrdp_0.6.0-1.debian.tar.gz в домашний каталог, распаковываем архив и накладываем патчи под профилем пользователя (не root'а!)
Код: Выделить всё
dpkg-source -x ~/xrdp_0.6.0-1.dsc
3) переходим в каталог с исходниками XRDP и собираем пакет:
Код: Выделить всё
cd ./xrdp-0.6.0
dpkg-buildpackage -b -tc
4) после компиляции устанавливаем пакет:
Код: Выделить всё
sudo dpkg -i ./xrdp_0.6.0-1_i386.deb
5) редактируем файл /etc/xrdp/xrdp.ini, чтобы использовался только X11rdp:
Код: Выделить всё
sudo gedit /etc/xrdp/xrdp.ini
содержимое этого файла должно быть таким:
Код: Выделить всё
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
max_bpp=24
[xrdp1]
name=sesman-X11rdp
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
xserverbpp=24
6) запускаем XRDP:
Код: Выделить всё
service xrdp start
На этом настройки закончены, пробуем подключиться к нашему серверу с помощью любого RDP-клиента. Используем логин и пароль от любой учётной записи на сервере.
Обнаруженные проблемы:
1) в стартовом окне терминальной сессии не работает переключение раскладок, поэтому в настройках клиента сразу прописываем либо нужную раскладку, либо логин и пароль пользователя;
2) при использовании клиента Remmina выбирайте версию не ниже 0.9.x, более ранние не поддерживают протокол RDPv5;
3) в настройках клиента рекомендуется использовать цветовую гамму не более 16bit;
4) не работает проброс звука, поэтому в клиенте сразу выставляем "Не воспроизводить звук", если такая настройка имеется.
Использованная литература:
Источник1
Источник2
Пробуем, отписываемся о найденных проблемах и методах их решения, если таковые имеются.