Терминальный сервер RX@Etersoft


Что такое RX@Etersoft


RX@Etersoft позволяет организовать терминальный сервер, на котором выполняются приложения Linux или Windows, а на рабочие станции передаётся только изображение. Подробнее смотрите здесь.

Лицензионная информация

Лицензия freenx-server: GPLv2
Лицензия nx: GPL, MIT/X11 for X11 bits
Лицензия nxsadmin: GPL
Лицензия nxclient: Proprietary

Где взять?


Описание изменений в новых версиях.
Поддержку и лицензию можно приобрести здесь.

Исходный код

Сборки основаны на коде, предоставленном NoMachine и свободной реализацией nxserver (Free NX?).
Исходный код пакетов RX@Etersoft доступен здесь.
TODO: Пути к git.

Установка

Предварительная настройка SSH-сервера

В ssh-сервере должна включена авторизация по ключу (PubkeyAuthentication yes).
Если вы используете директиву AllowUsers в Вашем ssh-сервере, добавьте туда пользователя nx.
Если используется авторизация с помощью ssh-сервера, а не с помощью passdb, необходимо также включить авторизацию по паролю (PasswordAuthentication yes)


Рекомендуется изменить порт ssh-сервера на другой (мы используем 32), чтобы в сервер не бились роботы, пытающиеся подобрать пароль и залогиниться.

Установка freenx-server


Скачайте пакеты freenx-server и nx для Вашего дистрибутива.
Установите скачанные пакеты и их зависимости с помощью пакетного менеджера.

yum

yum localinstall freenx-server*.rpm nx*.rpm

apt-get (Ubuntu / Debian?)

apt-get install expect
dpkg -i freenx-server*.deb nx*.deb

apt-get (ALT Lunux)

apt-get install freenx-server*.rpm nx*.rpm


После установки инициализируйте окружение системного пользователя nx с помощью команды:

nxsetup --setup-nomachine-key --install


Затем, если вы хотите, чтобы клиенты могли использовать свои локальные принтеры для печати, вам следует разрешить запуск cups на сервере для обычных пользователей:

chmod 755 /usr/sbin/cupsd
chmod 711 /usr/lib/cups/backend/ipp

Для корректного проброса принтеров с Windows-клиентов нужно обеспечить атрибут запуска для /usr/lib/cups/backend/smb


Создайте (если её нет) ссылку, которая необходима для правильной работы foomatic:

ln -s /usr/bin/foomatic-ppdfile /usr/lib/cups/driver/foomatic-ppdfile


Если вы используете в качестве рабочего стола KDE, то нужно на сервере в файле /etc/nxserver/node.conf найти строчку:

#ENABLE_KDE_CUPS="0"

раскомментировать ее и изменить значение на "1":
ENABLE_KDE_CUPS="1"


Последний шаг – запуск сервера NX:

/etc/init.d/freenx-server start


Убедитесь freenx-server верно определил все необходимые вам переменные

/etc/init.d/freenx-server check

Обратите особое внимание на секцию "Testing your nxserver configuration..."


Убедитесь что он работает

/etc/init.d/freenx-server status

Способ авторизации

Сначала устанавливается соединение с пользователем nx (используя ключ, зашитый в клиент) на сервере, потом от него выполняется вход в ssh локально,
под необходимым пользователем.
По умолчанию используется именно такой способ.
Для безопасности рекомендуется использовать директиву AllowUsers в ssh-сервере вида

AllowUsers vasya@127.0.0.1 masha@127.0.0.1 nx


Если ssh-сервер настроен на другой порт (не 22), в файле /etc/nxserver/node.conf нужно указать нужный порт:
SSHD_PORT=32

Другие способы авторизации

Использовать не рекомендуется.

passdb

В этом случае nxserver дополнительно фильтрует пользователей способных начать NX-сессию.
Список пользователей с паролями хранится в /etc/nxserver/passwords.
Пользователь в клиенте должен вводить пароль который хранится в /etc/nxserver/passwords.
В дальнейшем пользователь nx заходит по ssh с помощью заранее скопированного на сервер ключа под конечным пользователем.


TODO: Нормальное описание есть здесь:
http://wiki.centos.org/HowTos/FreeNX#head-3a2e4992e1d6b6365aa4205abd4ca269e3b81053

su авторизация

Клиент заходит под пользователем nx и от его имени делает su -l <user>

Usermode авторизация

Используется для того, чтобы можно было аутентифицироваться по ssh-ключу пользователя (в клиенте указывается любой пароль).
Для включения в файле /etc/nxserver/node.conf прописываем:

ENABLE_USERMODE_AUTHENTICATION=1

Запрещаем авторизацию в SSH по паролю в /etc/openssh/sshd_config:
PasswordAuthentication no

Блокируем пользователя nx:
passwd -l nx


Администрирование

Существует графическая программа nxsadmin для управления сессиями.


Список текущих подключений:

nxserver --list


Завершает все подключенные сессии:

nxserver --cleanup


Для ликвидации простаивающих и занимающих память сервера сессий предусмотрен скрипт, выполняющийся по расписанию.
Для его включения измените конфигурационные параметры в файле /etc/sysconfig/freenx-server таким образом:

SESSION_TTL=3600

Это устанавливает максимальное время жизни для простаивающей сессии сроком в один час.

Поддержка KDE4

Для того, чтобы иметь возможность запускать KDE4 по пункту "KDE" в nxclient или Open NX?, следует в файле
/etc/nxserver/node.conf добавить такую строку:

COMMAND_START_KDE="`which startkde4 || env PATH=/usr/lib/kde4/bin:/usr/lib64/kde4/bin:$PATH which startkde`"

При запросе рабочего стола типа KDE, сервер сначала будет пытаться найти скрипты для запуска KDE4, а затем, если таковые
не обнаружились, будет запущен KDE3.

Если что-то не работает...

Во-первых, проверьте не заблокирован ли пользователь nx. Такая ситуация часто встречается в Mandriva.
Для этого выполните команду:

passwd -u -f nx


Для корректной работы проброса принтера, где в роли сервера выступает Ubuntu, нужно удалить конфигурацию apparmor для cupsd и перезагрузить сервер:

rm -f /etc/apparmor.d/usr.sbin.cupsd
reboot


В ядрах Linux версий 2.6.29 и 2.6.30, существует проблема, связанная с использованием номера порта. Из-за этого не работает проброс папок через cifs. Чтобы обойти эту ошибку, вам нужно использовать etercifs, версии 4.4.3, или другое ядро, например 2.6.32.


Для систем, в которых установлен openssl версии большей 1.0 (таковой, например, используется в fedora 12), в файле /etc/nxserver/node.conf.d/06-path.conf следует дописать:

COMMAND_MD5SUM="md5sum"


Наконец, все проблемы можно увидеть в логах.
Включение отладки в /etc/nxserver/node.conf:

# Уровень подробности логов
# 0: No Logging
# 1: Errors
# 2: Warnings
# 3: Important information
# 4: Server - Client communication
# 5: Information
# 6: Debugging information
# 7: stderror of some applications
NX_LOG_LEVEL=6

# Путь до лог-файла
NX_LOGFILE=/var/log/nxserver.log

# Отключение очистки пользовательского лога nx-сессии. Очень полезно для отладки.
SESSION_LOG_CLEAN=0


Дополнение

Для того, что бы смонтировать ресурсы на клиенте, изучите пожалуйста подробную инструкцию.


RX@Etersoft без проблем работает в отдельном контейнере типа Open VZ?.


Клиент от nomachine позволяет использовать режим rootless, когда программа запущенная в терминале отображается как "нативная" на рабочем столе пользователя, а не в терминале.
Nomachine клиент в линуксе профили настроек сессий хранит в $Home/.nx/config в файлах с расширением .nxs.


Для включения/выключения Num Lock? при подключении через NX можно использовать команду numlockx.


Клиенты для подключения

  • nxclient от noMachine (free)
  • opennx (свободный)
  • Qt NX? (пакет qtnx) (свободный)


Проверить, как работает этот сервер на нашей тестовой площадке


Получить платную поддержку или заказать внедрение RX@Etersoft можно на сайте компании Etersoft.

Отличия RX@Etersoft от freenx

Free NX?:
* Исправлены проблемы использования удаленных принтеров.
* Исправлены проблемы использования сетевых файловых ресурсов.
* Последние патчи из сообщества для надежной и эффективной работы.
* Решение проблем с клавиатурной раскладкой раскладкой.
* Возможность работы в режиме BOOTSTRAP с запуском оконного менеджера с помощью Xsession.
* Изменения умолчательных настроек для уменьшения времени развертывания.
* Расположение файлов согласно FHS.


NX:
* Патч исправляющий отображение заголовков с non-ASCII символами в rootless режиме.
* Патч исправляющий работу искажения буфера обмена.
* Изменения обеспечивающие корректную работу с национальными символами в NX-сессис.
* Расположение файлов согласно FHS.

Ссылки


Подробная инструкция по установке 1С 7.7 на сервер терминалов Ubuntu с использованием RX@Etersoft и Wine@Etersoft Network на форумах:

Подобные решения

Благодарности

Огромное спасибо dimbor с UnixForum

Дерево

  1. Updates
  2. about
  3. cups
  4. sharingandprinting
  5. wine



Страницы, ссылающиеся на данную:

vbox
ГотовыеРешения


 
Много комментариев (6). [Показать комментарии/форму]