Содержание


Организация терминального сервера в Linux: шаг за шагом

Часть 2. Процесс настройки

Comments

Серия контента:

Этот контент является частью # из серии # статей: Организация терминального сервера в Linux: шаг за шагом

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Организация терминального сервера в Linux: шаг за шагом

Следите за выходом новых статей этой серии.

В цикле статей описан процесс создания терминального сервера в Linux на основе протокола NX и решения RX@Etersoft. В первой части рассмотрены особенности технологии, преимущества ИТ-инфраструктуры на базе терминального сервера, варианты решений как для серверной части, так и для клиентской. Во второй части дана подробная инструкция по организации терминального сервера в Linux.

В первой части цикла статей мы определились с технологиями, на базе которых будем строить в Linux наш терминальный сервер. В качестве серверного решения выбран терминальный сервер RX@Etersoft, подключение к серверу с клиентских рабочих мест мы будем рассматривать на примере NXClient и OpenNX. Взаимодействие осуществляется по протоколу NX.

С организацией терминального доступа — настройкой сервера и клиентов — не сложно справиться самостоятельно. Нужно лишь знание некоторых основ администрирования, и если вы умеете устанавливать пакеты и запускать сервисы, то и с настройкой терминального сервера не должно возникнуть проблем.

Настройка серверной части

Все действия по установке и настройке сервера RX@Etersoft требуют прав root.

Подготовка сервера

Для организации подключения по протоколу NX у вас должен быть установлен и запущен ssh-сервер.

В настройках ssh-сервера должна быть включена авторизация по ключу, для этого в настройках сервера /etc/openssh/sshd_config должна быть строка:

PubkeyAuthentication yes

Если на сервере используется директива AllowUsers, в соответствующую строку sshd_config нужно включить пользователя nx.

Установка и настройка сервера RX@Etersoft

Установка RX сводится к установке двух пакетов: rx-etersoft и nx. Сделать это нужно стандартным для выбранной ОС способом. Например, для ALT Linux, Debian, Ubuntu с использованием менеджера пакетов apt-get:

# apt-get install rx-etersoft-* nx*

для RedHat, CentOS, Scientific, LinuxWizard или Fedora с использованием yum:

# yum install rx-etersoft*.rpm nx*.rpm

После установки инициализация RX@Etersoft производится командой

# rxsetup

В результате будет создано окружение системного пользователя nx. Скрипт rxsetup берёт на себя все начальные настройки. После его выполнения сервер готов к использованию, а при необходимости отойти от настроек по умолчанию изменения вносятся в соответствующие конфигурационные файлы.

Авторизация на сервере

При подключении клиентской части к серверу RX@Etersoft происходит подключение под пользователем nx по протоколу ssh с авторизацией по ключу. Затем по ssh-протоколу организуется подключение к localhost под пользователем и паролем, указанным клиентом в настройках подключения. Таким образом, ssh-сервер должен разрешать пользователю nx авторизацию по ключу, а остальным — авторизацию с localhost по паролю.

Для повышения безопасности рекомендуется использовать директиву AllowUsers в ssh-сервере:

AllowUsers user1@127.0.0.1 user2@127.0.0.1 nx

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

SSHD_PORT=32

Управление сессиями

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

Если же управлять из консоли удобнее, то все возможности для этого предоставляет команда nxserver. С её помощью можно посмотреть список открытых сессий, закрыть указанную сессию или все сессии указанного пользователя, завершить все открытые сессии, остановить или запустить сервер. Кроме того, команда nxserver позволяет отправлять сообщения определённому пользователю (или в определённую сессию) или отправить широковещательное сообщение всем пользователям сразу. Все немногочисленные, но вполне достаточные функции утилиты, а также синтаксис команд можно посмотреть, как обычно, обратившись к помощи:

# nxserver --help

Настройка клиентской части

Установка клиента в Linux

Для работы OpenNX понадобятся пакеты nx и opennx. Для NXClient нужно взять пакеты nx и nxclient. Установка производится аналогично установке пакетов серверной части.

Установка клиента в Windows

Для Windows клиентские программы поставляются в виде привычного пользователю инсталлятора с расширением *.exe. Процесс установки ничем не отличается от установки любой другой windows-программы.

Для windows-версии NXClient большое значение имеют имя пользователя и имя компьютера. Имя хоста ни в коем случае не должно быть кириллическим. Лучше, если имя пользователя тоже будет латиницей, как и пути, по которым находится программа и пользовательское окружение. По умолчанию пользовательское окружение располагается в домашней папке пользователя, то есть путь содержит имя пользователя — ещё один довод за латиницу.

OpenNX, к счастью, избавлен от подобных проблем — они своевременно выявляются и исправляются сообществом разработчиков.

Настройка подключения к серверу

Интерфейс NXClient и OpenNX имеют разный вид, но в целом у них много общего. В подробностях уделим больше внимания свободному OpenNX, а NXClient можно настроить по аналогии, учитывая, что он имеет такие же управляющие элементы, но несколько отличающиеся названия.

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

При дальнейших запусках программы, можно выбрать существующую сессию из списка, а также изменить её или создать новую — при переименовании сеанса и переходе к настройкам opennx предложит соответствующий выбор.

Настройки opennx достаточно богаты.

Настройки opennx. Вкладка «Общее».
Настройки opennx. Вкладка «Общее».
Настройки opennx. Вкладка «Общее».

Вкладка «Общее» содержит все основные настройки подключения: имя/адрес сервера, порт, среду, в которой производится вход в систему. Например, для подключения к linux-серверу с KDE4 на борту нужно выбрать UNIX — KDE; а для rootless-режима, который будет рассмотрен в следующем разделе, существует настройка «Пользовательский». Установка флажка под именем сервера позволит сохранить пароль пользователя во избежание его постоянного ввода при последующих подключениях. Регулятор скорости соединения позволяет выбрать ресурсоёмкость канала, ориентируясь на тип подключения: от модема до локальной сети. Секция «Display and Keyboard» устанавливает размеры экрана; всё доступное пространство, установленное по умолчанию, — хороший выбор.

Настройки opennx. Вкладка «Сервисы».
Настройки opennx. Вкладка «Сервисы».
Настройки opennx. Вкладка «Сервисы».

Большой интерес для пользователя представляет вкладка «Сервисы». Она позволяет настраивать проброс локальных принтеров и пользовательских ресурсов, используя чекбоксы и файловые диалоги, без всяких конфигурационных файлов. Для того, чтобы принтер или папка оказались проброшены на сервер, они должны быть «расшарены» на клиентской машине и внесены в список общих ресурсов в настройках opennx.

На прочих вкладках подробно останавливаться не будем, оставив простор для экспериментов.

Режим одного приложения

С помощью RX@Etersoft можно организовать такой режим работы, в котором на сервере запускается не полноценный сеанс, а только одна программа. Это удобно в случаях, когда вычислительная мощность сервера ограничена, а сам он предназначен для выполнения специализированных задач, например, для запуска программы 1С:Предприятие в терминальном режиме.

С точки зрения пользователя режим одного приложения (он же — rootless-режим) работает так: пользователь запускает программу с ярлыка на рабочем столе, и она у него открывается в его рабочем сеансе, представляя собой обычное окно. На самом же деле происходит подключение к серверу и запуск программы на нём, а на рабочий стол пользователя выводится только окно с запущенной программой. Такой приём не только не вызывает панику у неподготовленного сотрудника (можно настроить вплоть до знакомого ярлыка на рабочем столе), но и позволяет существенно сэкономить ресурсы сервера.

Организация rootless-режима.
Организация rootless-режима.
Организация rootless-режима.

Для организации rootless-режима в настройках opennx указывается сочетание UNIX — Custom и задаётся выполнение команды, стартующей программу на сервере. На сервере в свою очередь создаётся shell-скрипт, запускающий программу (например run1с), и помещается в /usr/bin/. Ниже пример скрипта.

#!/bin/sh
# Set keyboard layout
/etc/X11/xinit/fixkeyboard
env WINEPREFIX="/home/$USER/.wine" wine "C:\Program Files\1cv82\8.2.15.319\bin\1cv8.exe"

Заключение

Как можно видеть, настройка терминального сервера в Linux с помощью RX@Etersoft не представляет больших трудностей при наличии базовых навыков администрирования. Возможно, вам захочется не останавливаться на достигнутом, создать виртуальный офис, перенести его в дата-центр или вовсе поместить в облака? Как раз в этом направлении планируется развивать RX@Etersoft. Большие облачные перемены не затронут клиентскую сторону, а отсутствие привязки к конкретному железу позволит обеспечить большую гибкость, масштабируемость и надёжность решения.


Ресурсы для скачивания


Похожие темы


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=857843
ArticleTitle=Организация терминального сервера в Linux: шаг за шагом: Часть 2. Процесс настройки
publish-date=02122013