Linux для терминальная сессия

Терминальные решения на Linux — Linux в качестве терминального клиента и десктопной машины

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

В качестве примера мы будем использовать операционную систему Xubuntu 12.04, терминальный клиент rdesktop и Microsoft Windows Server 2003.

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

Статья ориентирована на новичков в среде Linux. В статье будет присутствовать излишняя разжеванность для беспроблемной инсталляции RDP клиента rdesktop обычному пользователю.

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

Вопрос установки операционной системы мы рассматривать не будем, данной информации достаточно на просторах интернета и мы полагаем, что вы обладаете навыком инсталляции вашей версии Linux на компьютер.

Перейдем непосредственно к установке нашего клиента на десктопный компьютер. Мы будем производить установку RDP клиента непосредственно из стандартных репозиториев ubuntu. Данный метод позволит быстро и без лишних хлопот установить наш клиент.

Вводим в терминале команду с правами суперпользователя:

Далее строится ветка зависимостей пакетов и происходит установка недостающих пакетов и самого клиента rdesktop. Примерно так:

Собственно на данном этапе инсталляцию RDP клиента rdesktop можно считать завершенной. Поздравлямба =)

Настройка терминального клиента rdesktop

В принципе, после установки терминальный клиент rdesktop полностью готов к работе, но встречаются проблемы с кодировкой клавиш и комбинаций клавиш клавиатуры в терминальном доступа. Данная проблема легко решается при помощи ручной корректировки кодов символов в файлах конфигурации терминального RDP клиента rdesktop.

Интересующие нас файлы находятся в директории:

Для конфигурации нам потребуются 2 файла ru и en-us. Для конфигурирования данных файлов достаточно открыть их в любом текстовом файле с правами суперпользователя:

И заменить все содержимое файлов на следующее:

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

Конфигурация и подключение терминального клиента rdesktop к серверу

И вот мы подошли к самому интересному и завершающему этапу нашей сегодняшней темы статьи — конфигурация и подключение терминального клиента RDP rdesktop к терминальному серверу Windows.

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

Небольшая ремарка к параметру полноэкранной инициализации терминального клиента — для возврата в оконный режим необходимо нажать сочетание клавиш Ctrl+Alt+Enter

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

Минимальным набором параметров при инициализации терминальной сессии средствами терминального клиента rdesktop следует считать:

Присутствует всего один параметр — ip_rdp_server. Параметр ip терминального сервера может иметь 2 вида: с явным указанием порта подключения к терминальному серверу(адрес:порт) и портом по умолчания(адрес).

Пример инициализации терминальной сессии по нестандартному порту терминального сервера:

Приведем пример базовой конфигурации запуска терминального клиента rdesktop:

Т.е. по факту инициализации RDP клиента rdesktop мы получаем терминальную сессию, терминальное окно которого развернута на весь экран, нормальной работой кодировок русского и английского языка и с базовым пользователем user1. Терминальная сессия имеет минимум параметров инициализации: ip терминального сервера, раскладка клавиатуры для терминальной сессии, параметр открытия терминального окна на весь экрана и пользователя для авторизации. Для переходов между режимами и перехода в оконный режим используйте сочетания клавиш Ctrl + Alt + Enter.

Пример инициализации терминальной сессии без авторизации(параметры авторизации передаются в момент инициализации и прописаны в команде инициализации сессии):

Мы думаем комментарии к данной инициализации излишни, т.к. добавился всего один параметр -p — пароль пользователя при инициализации.

Пример проброса принтера в терминальную сессию rdesktop:

Параметр проброса принтера в терминальную сессию может быть представлен в двух видах: с неявным указанием драйвера принтера( -r printer:Имя_принетра_в_локальной_системе) и явным указанием драйвера принтера( -r printer:Имя_принетра_в_локальной_системе = «Дравер_для_терминально_сервера»). В большинстве случаев терминальный сервер корректно определяем необходимый драйвер для принтера и не требует явного указания драйвера в терминальной сессии на сервере.

Пример проброса COM портов в терминальную сессию rdesktop:

Мы думаем данный пример не нуждается в излишних комментариях. В примере используется явное указание устройств подключенных по COM портам. Параметр проброса COM портов на сервер имеет вид — имя_инициализации_порта_на_сервере = путь_в_локальной_системе_к_COM_порту.

Пример проброса файловых директорий в терминальную сессию rdesktop:

Из данного примера мы видим параметр монтирования локальных файловых ресурсов средствами терминальной сессии. Параметр имеет следующую структуру — имя_устройства_при_инициализации_на_сервере = имя_директории_на_локальной_машине

Собственно на данном этапе мы и подытожим с примерами инициализации терминальных сессий средствами терминального клиента rdesktop и добавим к вышесказанному о возможности проброса таких устройств как:

  • Клавиатур.
  • Аудио устройств.
  • LPT
  • Scard — ключей цифровой подписи eToken и прочее.

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

По итогам прочтения данной статьи у вас должно возникнуть устойчивое, четкое представление о возможностях терминального клиента rdesktop на ОС linux, теоретические и практические знания по процедуре установки и инициализации терминальных сессий средствами терминального клиента rdesktop.

Читайте также:  Cold fear windows 10

Источник

Терминальный офис: Linux vs Windows — holy war: Part I

Преамбула: Есть типичные офис, на 15 локальных пользователей + 5 удалённых, круг задач прост: 1С + Офис + Интернет + Почта + Печать. Задача сделать устойчивое и недорогое (т.к. Кризис на дворе) решение.

Собственно решений-то всего 2: Терминальный сервер на Windows || Терминальный сервер на Linux. Standalone PC мы не рассматриваем, т.к. это не решение, а гемморой сплошной.

Сразу определимся с железом для терминального сервера: CPU 2 Quad Xeon 5405, 6Gb RAM, RAID 1 SATA 1 Tb (знаю, что плохо, но на SAS денег нет, тем боллее, что БД это отдельный сервер). Почему такое железо — задача хорошо параллелиться, чем больше ядер, тем лучше. Памяти 20 юзеров * 200-250 Мб (1С и офис её любят) + система. Договоримя, что и настройка/поддержка Windows и Linux — стоит одинаково

С терминальным сервером под виндовс — всё понятно, вариантов там нет (citrix не предлагать, см. преамбулу). Вопрос только в стоимости, т.к. памяти нам нужно много, то standart edition x32 не подходит, придётся брать на 64 бита. По стоимости получается около:

* 26.000 руб. за Windows Server R2 Standart x64 2003 с 5-ю CAL лицензиями
* 17.000 руб. за 15 клиентских лицензий (CAL, хорошую вещь калом не назовут)
* 70.000 руб. за 20 лицензий для терминального сервера (TS User CAL)

ИТОГО: только за ОС и возможность доступа к голому серверу, без всякого софта — 113.000 руб., значительно больше стоимости самого сервера.

Стоимость Linux = стоимости болванки на которую он записан, но клиентская часть 1С не работает под Linux, надо ставить WINE@Etersoft Network за 5600 руб.

ИТОГО: ОС и софт для запуска бизнес приложений 5600 руб.

Пару слов об WINE@Etersoft… Это не эмулятор виндовс, но предоствляет WinAPI для приложений. Раньше считал “кривым поделием”, но ребята показали завидный прогресс и действительно ОНО работает, то есть позволяет запускать ряд приложений. Проверено на себе.

Но выбор терминальных технологий под *NIX шире чем под Windows, надо выбирать:

* X Window System — классика жанра. Для тех, кто не знаком с терминалогией: X Server — это там, где рисуется картинка, т.е. клиент, а X Client — это там где выполняется приложение, т.е. сервер. Для домашнего ПК, и сервер и клиент работают на одной машине, но ничто не мешает им работать на разных как и было изначально заложено в концепцию X Window System. Преимущества данного решение: минимальные настройки сервера и клиента, всё уже есть в практически любом дистрибутиве. Минусы: не сохраняет сессию пользователя в случае умирания клиентской машины/обрыва связи; любит широкую полосу, через интернет не комфортно работать — только в локальной сети.
* X Window + Nomad. В OpenSuSE 11.1 появилась вкусная фишка Nomad, которая является прокси для X11, и позволяет сохранять сессии и гонять удалённо тяжёлые приложения, типа эффекты рабочего стола compiz. Более того, Nomad позволяет соединяться к X-сам стандартным виндовым rdp-клиентом.
* VNC — и сервер и клиент могут работать как на Linux, так и на Windows, хорош для удалённого управления, как замена RAdmin, но отрисовка экрана довольно медленная, а это будет раздражать пользователей. Но не требователен к полосе.
* NX Nomachine — сильно модифицированный X-протокол, который с одной стороны позволяет работать на тонких линиях, а с другой позволяет сохранять сессию на сервере. Очень похоже на X+Nomad. При этом авторизация клиента на сервере происходит по ssh. Для работы нужен специальный клиент. Открытая и бесплатная версия сервера называется FreeNX.
* XRDP — открытая версия RDP для Linux, клиент или rdesktop или стандартный виндовый клиент. Использует на стороне сервера VNC как бэкенд.

И всё вышеперечисленное — бесплатно!

О настройке собственно терминального сервера под Linux и клиентов для него, во второй части.

з.ы. перенёс в Linux для всех
з.з.ы. отхабракатил

Источник

Терминальные системы на Linux

Поделитесь в соцсетях:

Во многих случаях терминальные системы очень эффективны, иногда же они просто панацея. Впрочем, традиционно считается, что такие решения весьма дороги, поскольку требуют использования коммерческого ПО, покупки дополнительных лицензий. Но все это не относится к Linux и open source, ведь благодаря архитектурным особенностям X-сервера Unix-подобные ОС способны работать в качестве терминального сервера практически «из коробки».

Известно, что терминальные системы особенно эффективны при использовании бездисковых рабочих станций, что значительно снижает затраты на приобретение и последующее обслуживание оборудования. При этом априори подразумевается исключительно централизованное хранение пользовательских данных и, соответственно, обслуживание всего одного экземпляра операционной системы, под управлением которой работает сервер. Также бездисковые станции не требуют постоянной модернизации, скажем, для полноценной работы X-терминалов достаточно мощностей персональных компьютеров десятилетней давности. Конечно, сложно предсказать, что будет в IT-индустрии еще через десять лет, поэтому кому-то последний довод покажется не слишком убедительным, но то, что таким образом парку морально и физически устаревших ПК можно дать фактически вторую жизнь, не подлежит сомнению.

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

Отдельно стоит остановиться на вопросах стоимости. Известно, что сравнить функционально соизмеримые решения на базе Linux и Windows не так-то просто. В многочисленных исследованиях и аналитических отчетах можно найти порой совершенно противоположные заключения, а переносить их выкладки на наши реалии – дело бесполезное. Очевидно, однако, что решения на базе технологий Microsoft требуют значительных начальных вложений – даже если ожидаемый эффект не будет достигнут, отказаться от них уже не получится. Linux в этом смысле дает гораздо больший простор для маневра. Развернуть терминальную систему удастся практически бесплатно, а затраты на администрирование (и все прочее, что охватывает емкий термин TCO) можно будет оценить уже по ходу эксплуатации – такой подход окажется особенно эффективным в небольших компаниях.

Читайте также:  Не возможно скопировать файлов при установке windows

Основные принципы функционирования

Классическое терминальное решение с удаленной загрузкой – это набор нескольких стандартных для Linux (и для любой Unix-подобной операционной системы) сервисов: dhcp, tftp, nfs, X-сервера и xfs-сервера (как правило, использование сервера шрифтов является опциональным, и от него можно отказаться, предоставив доступ к шрифтам через NFS). Рассмотрим в общих чертах алгоритм загрузки бездисковой станции на примере LTSP (Linux Terminal Server Project, ltsp.org), как известнейшего и крупнейшего проекта данного класса среди ореn source. Условно его можно разделить на три этапа: загрузка ядра, инициализация и запуск.

1-й этап: загрузка ядра

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

Выполняется с помощью кода, описываемого спецификацией удаленной загрузки Etherboot, за которую отвечает одноименный проект ореn source (etherboot.org). Готовые прошивки имеются для огромного числа сетевых карт, при этом обеспечивается обратная совместимость с протоколом PXE, т. е. через сетевую карту с установленным PXE bootprom можно загружать сетевые образы, созданные для спецификации Etherboot. Существует несколько способов запустить подобный код: с внешних носителей (дискета, жесткий диск, CD-ROM), с помощью микросхемы удаленной загрузки (bootprom) или уже упомянутого протокола PXE.

В любом случае управление в конце концов передается Etherboot-коду. Он, в свою очередь, посылает в сеть широковещательный запрос, предназначенный для dhcp-сервера и содержащий MAC-адрес сетевой карты. Используя последний, dhcp-сервер ищет в собственном конфигурационном файле соответствующие данные и возвращает пакет с информацией о параметрах настройки сетевого соединения, с путями к образу ядра и к сетевой файловой системе, которая, если нужно, будет использоваться в качестве корневой, и специальные параметры загрузки ядра (например, IRQ для сетевых карт, работающих на ISA-шине, номер порта и т. п.).

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

2-й этап: инициализация

Особенность загружаемого ядра – поддержка работы с NFS, которая не реализована в виде отдельного модуля, а встраивается непосредственно в ядро на этапе компиляции, более того, изначально сетевая файловая система является корневой. Детали процесса загрузки (с ними можно познакомиться в русскоязычной документации – ltsp.ru/documentation/ltsp-3.0-ru/chapter1.html; хотя она относится к версии 3.0, принцип загрузки в последнем релизе LTSP 4.1.1 не изменился) мы опустим, укажем лишь, что поначалу используется небольшой образ файловой системы, который загружается вместе с ядром (именно так!), а затем, после инициализации оборудования (и повторной настройки сетевых параметров), происходит перемонтирование, и в дальнейшем в качестве корневой применяется уже экспортируемая файловая система. Плюс к тому (и это важно) создается RAM-диск, который форматируется и монтируется к каталогу /tmp, где и хранятся файлы, которые будут создаваться в процессе работы бездисковой станции. Если же их необходимо хранить в другом месте, предварительно создаются соответствующие символические ссылки.

3-й этап: запуск

После окончания инициализации оборудования загружается среда, указанная в настройках LTSP. Это может быть либо графическая, либо текстовая оболочка, последняя чаще всего используется при отладке. Графическая подсистема запускается с ключом query – эта опция заставляет экземпляр X-сервера, выполняющийся на бездисковой станции, подключаться к X-серверу на терминальном сервере и все запросы переадресовывать ему.

По окончании третьего этапа мы получаем рабочую среду, которая практически ничем не отличается от локально установленной ОС Linux, кроме некоторых особенностей работы с устройствами.

Требования к аппаратному обеспечению

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

X-терминалы

В качестве X-терминалов могут использоваться «ветераны» IT-индустрии с десятилетним стажем
Модуль bootprom с микросхемой серии 27SF010

Именно благодаря тому, что на стороне клиента выполняется минимальный набор программ (ядро и X-сервер), аппаратные требования к объему оперативной памяти на бездисковых станциях, как правило, не превышают 16 MB. Больший объем позволит запускать некоторые приложения локально, а значит, реже обращаться к серверу. Меньший – нежелателен, хотя теоретически возможна работа на машинах с объемом ОЗУ и в 8 MB, но в этом случае понадобится подключать подкачку по NFS, а это увеличивает нагрузку на сеть.

Что касается остальных параметров аппаратного обеспечения, то разумные требования для комфортной работы таковы: процессор Pentium 166 MHz, видеокарта с объемом памяти не менее 2 MB, сетевая карта Ethernet 100 Mbps. Разумеется, теоретически допустимы и более слабые конфигурации, вплоть до 486DX-66, но, как правило, они годятся только для консольного режима.

Три года назад автор лично проверял работу компьютерного класса, состоящего из первых моделей «четверок»: процессор 486SX-40 (без сопроцессора), ОЗУ 8 MB, сетевая карта Ethernet на 10 Mbps, видеокарта Trident 8900 c объемом видеопамяти 512 KB. Система функционировала, хотя и с большим трудом – временами даже можно было наблюдать алгоритм прорисовки графических примитивов в KDE, впрочем, с облегченными оконными менеджерами такой проблемы не наблюдалось по той причине, что они не используют библиотеку Qt.

Из реально существующих и успешно работающих в качестве X-терминала устаревших машин можно назвать компьютер со следующей конфигурацией: Pentium II 233 MHz, 32 MB ОЗУ, видеокарта S3 Trio64V+ с 2 MB видеопамяти, сетевая карта Ethernet 100 Mbps на чипе RTL8139 – именно на таком готовился данный материал.

Читайте также:  Emacs linux как установить

Терминал-сервер

Сетевая загрузка на стороне сервера при одновременной работе 12 пользователей в среде OpenOffice.org
График сетевой загрузки канала на стороне сервера при работе одного пользователя с текстовым редактором и Web-браузером

На самом деле определить конфигурацию сервера, достаточную для выполнения какого-то набора команд, совсем непросто – многочисленные сторонние факторы наверняка обнаружатся уже в процессе эксплуатации. Скажем, хотя Web-серфинг на первый взгляд не кажется слишком ресурсоемкой операцией, флэш-анимация с легкостью докажет обратное. Именно по этой причине поставщики коммерческих терминальных решений предпочитают проектировать систему с солидным запасом. Авторы LTSP, в свою очередь, утверждают, что двухпроцессорный сервер на Pentium 4 2,4 GHz с ОЗУ 4 GB легко обслуживает 50 рабочих станций, на каждой из которых запущены экземпляры OpenOffice.org и Mozilla.

А вот пример из личного опыта автора: однопроцессорная машина на Pentium 4 3 GHz (с поддержкой HyperThreading) с 1 GB ОЗУ вполне справляется с группой из 12 бездисковых станций. При использовании XFCE4 в качестве оконного менеджера и основной работе в OpenOffice и Firefox (упомянутая выше флэш-анимация блокировалась еще на прокси-сервере) средняя загрузка процессора составляла 10–15%. Пики наблюдались преимущественно в моменты инициализации программного обеспечения. Естественно, KDE или GNOME существенно повысят запросы к оперативной памяти (поэтому лучше остановиться на легких оконных менеджерах вроде XFCE4, IceWM, WindowMaker), хотя в остальном картина принципиально не изменится.

Что касается дисковой подсистемы, то идеальным вариантом для терминального сервера будет применение оборудования SCSI. Определенную надежду также внушают последние реализации SATA (с поддержкой NCQ), в крайнем случае можно воспользоваться и обычными ATA-дисками, объединив их в массив RAID-0.

Адекватно оценить необходимую пропускную способность локальной сети также не слишком просто, поскольку отталкиваться нужно не только от используемого ПО, но и от манеры работы пользователей. Вот только некоторые наблюдения автора. В пассивном состоянии X-терминал практически не создает трафика, даже в процессе набора текста в OpenOffice средняя нагрузка на канал составляет 100–150 Kbps. Как правило, пики (примерно до 10 Mbps) возникают при переключении между разными окнами, потому что при этом происходит существенная перерисовка экрана. Обычно на один сетевой интерфейс с пропускной способностью в 100 Mbps можно подключать до 15–20 рабочих станций, однако это количество, несомненно, придется уменьшить, если предполагается хоть какая-то работа с графикой. Либо применить сетевые карты на 1 Gbps и соответствующий коммутатор, что позволит более полноценно использовать терминалы – даже для просмотра видео.

Требования к терминальному ПО

Хотя терминальные решения можно оценивать и с точки зрения функциональности, в случае open source стоит в первую очередь уделить внимание более узкому, но очень принципиальному моменту – эффективности использования оперативной памяти, в том числе и с точки зрения ее «утечек». Эта традиционная для многих типов ПО ошибка может привести к быстрому исчерпанию свободного объема ОЗУ, и решить данную проблему поможет лишь перезагрузка или своевременное отключение процесса-виновника. Для системного мониторинга вполне подойдут простейшие системные утилиты top или ps, однако гораздо эффективнее будет установка системных лимитов (см. файл /etc/security/limits) для пользователей и процессов.

В случае перехода на терминальную систему, особенно совмещенную с миграцией с Windows на Linux, главная проблема – найти адекватную замену тому ПО, которое использовалось прежде. Для типичной офисной работы отыскать все необходимое (текстовый процессор, электронная таблица, браузер и пр.) сегодня не составляет труда. Наиболее частая причина невозможности смены платформы – деловое ПО «1С», однако и эта проблема в настоящее время решаема. Так, российская компания «Этерсофт» разработала специальную «заплатку» для эмулятора WINE (www.etersoft.ru/content/view/59/) – к сожалению, не бесплатную, – которая позволяет использовать «1С:Предприятие 7.7» в среде Linux.

Компьютерный класс, работающий под управлением LTSP: все, что нужно для учебных целей

Почему же наш выбор пал именно на проект LTSP? Прежде всего, это готовое комплексное решение, способное функционировать без дополнительной доработки (настройка сопутствующих сервисов не в счет, без нее никак не обойтись) практически на любом Linux-дистрибутиве. Его создатели не стали выпускать пакеты в различных форматах (rpm или deb), а собрали их в файлы *.tgz, поэтому установка представляет собой процесс распаковки архивов в отдельный каталог, который затем экспортируется посредством NFS и используется в качестве корня файловой системы на бездисковой станции.

Хотя Linux-специалист с уровнем подготовки выше среднего сможет самостоятельно «построить» терминальный сервер из подручных средств, в случае LTSP в этом нет необходимости. Дело в том, что в рамках проекта поддерживается специальная сборочная среда LBE, в которой можно самому пересобрать нужные пакеты. Для этого понадобится около 5 GB свободного дискового пространства и около 300 MB исходных текстов. Удобство настройки готового решения обеспечивается утилитой ltspcfg.

Вероятно, именно поэтому LTSP находит все большую поддержку, в частности, на его базе создан еще один интересный проект – K12LTSP, «Linux для школ» (k12ltsp.org). Не обходят LTSP вниманием и производители аппаратного обеспечения, некоторые из них предлагают уже готовые программно-аппаратные решения (см., например, www.disklessworkstations.com).

Заключение

Таким образом, терминальные решения на базе Linux – уже не фантастика, а реальность. Несомненно, использование бездисковых станций дает возможность сэкономить деньги для бизнеса, но в не меньшей степени такой подход востребован в образовании. Здесь терминальная технология способна решить массу проблем, начиная от соблюдения авторских прав на ПО и заканчивая возможностью продлить срок службы устаревшего оборудования. Ведь в конце концов все должно определяться целесообразностью, а учить подрастающее поколение лучше не конкретным продуктам, а лежащим в их основе технологиям.

Источник

Оцените статью