Применимость: Linux, OpenVZ
Слова для поиска: удаленный рабочий стол, terminal server
Если у вас есть необходимость использовать графический интерфейс и удаленно работать со своим рабочим столом из любой точки мира.
Мало известно удачных сетевых протоколов высокого уровня, способных эффективно сжимать и шифровать трафик между тонким клиентом и сервером. Наиболее известные и популярные из них – это RDP от Microsoft и ICA от Citrix.
Для доступа к графическому интерфейсу X Window System (Linux/UNIX) обычно используются протоколы VNC и XDMCP. Однако есть намного более эффективное решение - FreeNX (NoMachine NX).
FreeNX - это открытый программный продукт, который предоставляет возможность безопасного и достаточно быстрого удаленного доступа к вашей системе через графический интерфейс с использованием рабочего стола Gnome, KDE и т. п.
FreeNX заметно эффективнее чем использование VNC или XDMCP
NX использует три основных метода ускорения работы приложений: сжатие, кэширование и подавление избыточного трафика X-протокола.
В основе идеи разностной компрессии лежит проект Differential X Protocol Compressor (DXPC) [10], созданный в 1995 году, там уже упоминаются термины клиентского и серверного прокси. Nomachine подхватила идею и разработала свой собственный продукт. Заявляется о 10-кратном превосходстве NX над стандартной библиотекой ZLIB.
Nomachine также разработала умный механизм кэширования X-трафика, который использует знакомый по прокси-серверам термин «попаданий в кэш». Этот механизм сокращает сетевой трафик при передаче одних и тех же блоков данных, а при изменении этих блоков данных потока вычисляет и передает только их разницу.
До NX не было надежного способа подавления избыточного трафика X-протокола на дальних линиях связи. NX может это делать, транслируя X-трафик на удаленном конце(от приложения к nxagent) в трафик протокола NX.
Все три метода совокупно позволяют достичь 70-кратного улучшения работы с удаленным X GUI при использовании наибольшего уровня сжатия на линиях связи с низкой пропускной способностью и большой задержкой (в настройках клиента NX «modem» соответствует максимальному сжатию, а «lan» – отсутствию сжатия). На рис. 1 под цифрой 2 показана взаимосвязь компонентов NX: на модулях NX Proxy осуществляется компрессия/декомпрессия и кэширование, между ними проходит трафик по NX-протоколу, требования к качеству линий связи минимальны, заявляется о возможности работы вплоть до скорости 9600 бит/сек.
Проект NoMachine нельзя рассматривать как результат частного усовершенствования существующей технологии удаленного доступа к ресурсам сервера. NX является самодостаточным программным комплексом, который предоставляет полный спектр управления удаленным компьютером, включая такие функции, как доступ к общим каталогам и принтерам, поддержку мультимедиа.
FreeNX использует очень эффективную компрессию данных и шифрование, поддерживает различные протоколы связи и шифрования.
Есть клиентские программы для доступа к серверу для Linux и MS Windows
Все программные компоненты уже установлены и частично сконфигурированы, но для каждой системы желательно использовать индивидуальные настройки.
Отредактируйте файл /etc/ssh/sshd_config
Надите строку
Port 42222
Измените на значение в диапазоне от 1025 до 65000 Например укажите:
Port 38888
Перезапустите демон SSHD
/etc/init.d/ssh restart
Отредактируйте файл /etc/nxserver/node.conf
Найдите параметр
SSHD_PORT=42222
измените его на установленный ранее порт
SSHD_PORT=38888
Для установки необходимых файлов и создания специального пользователя NX удобно использовать скрипт:
/usr/lib/nx/nxsetup --install
После этого FreeNX сервер готов к работе.
Осталось установить клиентские программы и создать учетные записи пользователей.
Создать учетную запись в Linux
useradd -m -G sudo <имя пользователя>
Задать пароль доступа
passwd <имя пользователя>
Зарегистрировать пользователя на службе FreeNX
nxserver --adduser <имя пользователя>
Можете использовать клиентские программы с сайта nomachine.com
Или используйте открытое ПО.
В каждом дистрибутиве Linux могут быть использованы разные утилиты управления программами.
Например: установка QTNX (Opensource client) в Debian или Ubuntu
sudo apt-get install qtnx
Для работы с сервером в Windows нужно скачать и установить программу NX Client for Windows
Если будет высокая загрузка процессора, то нужно отключить DirectDraw в настройках NX Client
Запустите NX Connection Wizard
Укажите параметры подключения
Укажите тип рабочего стола и режим экрана
Укажите логин и пароль. Нажмите кнопку Login и ждите подключения.
Иногда это может длиться несколько минут
Не рекомендуем использовать flashplayer, очень тормозит.