Установка и настройка FreeNX на Ubuntu 14.04 Trusty Tahr
Введение
FreeNX — OpenSource-реализация протокола NX (разработанного NoMachine). NX оптимизирует передачу X-сессий по медленным каналам и использует SSL/TLS для защиты соединения. В этом руководстве описаны шаги установки и базовой настройки FreeNX на Ubuntu 14.04 (Trusty Tahr).
Короткое определение: NX — протокол для удалённого X-доступа, экономящий полосу пропускания и ускоряющий отклик GUI по медленным каналам.
Важно: Ubuntu 14.04 — устаревшая версия. Рассмотрите более новые релизы и совместимые альтернативы (см. раздел «Альтернативы»).
Установка
Установка сервера FreeNX
Пакеты FreeNX отсутствуют в официальных репозиториях Ubuntu 14.04, поэтому нужно подключить PPA команды freenx-team:
sudo apt-add-repository ppa:freenx-team/trustyДля старых релизов используйте:
sudo apt-add-repository ppa:freenx-teamПодтвердите добавление нажатием Enter.

Обновите списки и систему перед установкой:
sudo apt-get update
sudo apt-get upgradeЗатем установите сервер FreeNX:
sudo apt-get install freenx-serverУстановка клиента NX
Клиент FreeNX обычно не доступен в репозиториях; используйте официальный клиент NoMachine или совместимый NX-клиент. Скачайте пакет с сайта NoMachine, установите его и пройдите стандартный мастер установки.
Конфигурация FreeNX
Настройка SSH
По умолчанию FreeNX использует SSH-порт 22. Если ваш провайдер блокирует порт 22 или вы хотите повысить безопасность, смените порт SSH.
Откройте конфигурацию SSH:
sudo nano /etc/ssh/sshd_configНайдите строку с Port 22 и замените на Port 8888 или другой предпочитаемый порт.
Перезапустите SSH:
sudo /etc/init.d/ssh restartFreeNX обычно автоматически определяет порт SSH, но если это не произошло, пропишите явный порт в конфиге NX:
sudo nano /etc/nxserver/node.confНайдите строку #SSHD_PORT=22, замените на SSHD_PORT=8888 и уберите символ #.
Запуск и остановка FreeNX
FreeNX в классическом пакете может не регистрироваться как системный сервис systemd на Ubuntu 14.04. Управление происходит через init-скрипт:
sudo /etc/init.d/freenx-server stop
sudo /etc/init.d/freenx-server startИли проверьте наличие systemctl (в новых системах):
sudo service freenx-server restartСоздание собственных SSH-ключей для FreeNX
Использование встроенных ключей по умолчанию — риск безопасности. Создайте и примените собственные ключи.
Переконфигурируйте пакет, чтобы сгенерировать ключи:
sudo dpkg-reconfigure freenx-server
При выборе типа ключа и способа аутентификации выберите опцию «Create new custom keys» и используйте SSH-аутентификацию.


Скопируйте сгенерированный клиентский ключ в домашний каталог администратора (или в безопасное место):
sudo cp /var/lib/nxserver/home/.ssh/client.id_dsa.key ~/
Перенесите client.id_dsa.key на клиентскую машину (на USB или через защищённый канал) и храните файл в надёжном месте. Этот файл используется NX-клиентом для аутентификации на сервере.
Безопасность и рекомендации
- Используйте нестандартный SSH-порт и ограничьте доступ по IP через брандмауэр (ufw/iptables).
- Отключите вход по паролю для SSH и используйте ключи RSA/ED25519.
- Ограничьте учётные записи, имеющие право запускать X-сессии, и применяйте принцип наименьших привилегий.
- Регулярно обновляйте систему и пакеты безопасности.
- Храните клиентские ключи в зашифрованном контейнере или на аппаратном токене.
Краткая методология безопасной настройки:
- Обновить систему; 2. Сгенерировать уникальные ключи; 3. Перенастроить SSH и FreeNX на нестандартный порт; 4. Открыть только нужные порты в брандмауэре; 5. Тестировать доступ локально и через внешний доступ.
Частые проблемы и устранение неполадок
- Не подключается клиент: проверьте, что SSHD слушает нужный порт (
ss -tlnp | grep sshd) и порт не блокируется на маршрутизаторе/провайдере. - FreeNX не обнаруживает SSH-порт: убедитесь, что в
/etc/nxserver/node.confпрописанSSHD_PORTбез комментария. - Проблемы с авторизацией ключом: проверьте права доступа на
~/.sshи файлы ключей (директория должна быть 700, файл ключа — 600). - Ошибки при установке из PPA: выполните
sudo apt-get updateи проверьте, корректно ли добавлен PPA (ls /etc/apt/sources.list.d/).
Критерии приёмки
- Сервер FreeNX установлен (
freenx-serverприсутствует в системе). - SSH слушает на выбранном порту и соединение через NX устанавливается с клиентской машины.
- Клиент может восстановить X-сессию и выполнить базовые GUI-операции без значительных задержек по локальной сети.
Альтернативы и совместимость
Альтернативы протоколу NX/FreeNX:
- NoMachine (коммерческий/бесплатный клиент и серверные решения на базе NX).
- X2Go — популярная альтернатива с хорошей поддержкой современных дистрибутивов и аудиопередачей.
- VNC/Remmina — полезны в локальных сетях, но менее эффективны по пропускной способности.
Совместимость и миграция:
- FreeNX лучше подходит для старых дистрибутивов и сред, где требуется низкая пропускная способность.
- Для современных Ubuntu и systemd рассмотрите X2Go или NoMachine.
Роли и контрольные списки
Для администратора:
- Добавить PPA и установить
freenx-server. - Настроить SSH (нестандартный порт, отключить пароли).
- Сгенерировать кастомные ключи и безопасно передать их клиентам.
- Настроить брандмауэр и выполнить тесты подключения.
Для пользователя (клиент):
- Установить NX-клиент (NoMachine/X2Go).
- Импортировать
client.id_dsa.keyв клиент и защитить файл. - Проверить подключение и работу приложений.
Краткая сводка
FreeNX даёт быстрый и защищённый удалённый доступ к X-сессиям по медленным каналам. На Ubuntu 14.04 установка требует добавления PPA и ручной настройки SSH и ключей. Для современных систем оцените современные альтернативы.
Полезные ссылки
- FreeNX: https://freenx.berlios.de/
- Ubuntu: https://www.ubuntu.com/
Факты
- Протокол NX оптимизирует передачу X и использует SSL/TLS для защиты.
- По умолчанию используется SSH-порт 22; рекомендуется сменить порт и использовать ключи.
Глоссарий (1 строка)
NX — протокол удалённого доступа к X-сессиям, оптимизирующий пропускную способность и отклик GUI.
Примечание: если вы используете этот материал в продакшн-среде, протестируйте соединение и меры безопасности в безопасной тестовой среде перед открытием доступа через Интернет.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента