WWW.KN.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Различные ресурсы
 

Pages:   || 2 | 3 | 4 | 5 |

«Книгу в её первоначальном варианте вы можете посмотреть C уважением, Сеник Николай Содержание: ...»

-- [ Страница 1 ] --

Х-терминал или вторая

жизнь Вашего ПК

Уважаемые читатели!

Представляю Вам мою книгу, которая

появилась в результате экспериментов по использовании морально устаревших

компьютеров в реальных условиях современного офиса.

Надеюсь, что кому-то из Вас она поможет настроить и

использовать старые ПК такие как Intel Pentium или i486.

Если у Вас возникнут вопросы, пожелания или предложения,

вы можете отправить их мне на e-mail: senyk_cw@mail.ru Книгу в её первоначальном варианте вы можете посмотреть http://www.senyk.poltava.ua/projs/books/XTerms/index.html#contents C уважением, Сеник Николай

Содержание:

Часть І. Терминалы Глава 1. Общие сведения о бездисковых компьютерах История возникновения персонального компьютера без “жесткого” диска Общая архитектура и область применения Общая архитектура и область применения (продолжение) Обзор существующих решений для сетевых компьютеров Citrix MetaFrame Windows Terminal Services VNC NCD ThinPATH NoMachine Thinstation LTSP X terminal kit X-Windows и XDMCP Достоинства и недостатки терминальных решений Минусы Плюсы Общие сведения о используемых протоколах (TFTP, DHCP, NFS, UDP, TCP/IP, SSH) IP ICMP ARP RARP TCP UDP NFS TFTP DHCP SSH Администрирование и сопровождение терминальной инфраструктуры Часть II. X-терминалы Глава 2. Общие сведения о Х-терминалах Как это работает (краткое описание процесса работы и загрузки) Удаленный запуск консольных программ Х-терминалы – бездисковые клиенты Х-Windows Удаленный запуск GUI-приложений (XForwarding) Глава 3.



X-Windows Описание X-протокола Архитектура X-Windows X-сервер и X-клиент Х-сервер Х-клиент Запросы Ответы События Сообщения об ошибках Настройка Х-сервера и XDM/XDMCP (часть 1) Настройка Х-сервера и XDM/XDMCP (часть 2) Настройка Х-сервера и XDM/XDMCP (часть 3) Настройка Х-сервера и XDM/XDMCP (часть 4) Менеджер дисплея и XDMCP Глава 4. Аппаратная база Х-терминальной сети Системные требования к серверу Х-терминалов Требования к аппаратному обеспечению клиентов Делаем терминал из персональных компьютеров серии 386/486/Pentium Список видеоадаптеров, использующих сервер XFree86 версии 4.х Список видеоадаптеров, использующих сервер XFree86 версии 3.3.6 Минимальные требования к видеокарте X-терминала Собираем Х-терминал сами Готовые терминалы: что можно купить за деньги?

Требования к локальной сети (проектирование сети на оптимальную загрузку) Глава 5. Выбор операционной системы для сервера Ключевые моменты выбора операционной системы ASPLinux RedHat Linux Fedora Core Debian GNU/Linux SuSE Linux Mandrakelinux AltLinux Gentoo Slackware Linux XP Linspire myLinux Планирование эксплуатационного обслуживания сервера Планирование эксплуатационного обслуживания сервера (продолжение) Перенос операционной системы на новый сервер Часть ІІІ. Настройка системы (на примере использования LTSP) Глава 6. Настройка сервера Установка программного обеспечения (ltsp) Установка программного обеспечения (nfs, dhcpd, tftp-server, xinetd) Установка программного обеспечения (инициализация ltsp) Проверка DHCPD Проверка NFS и portmap Проверка Syslog Проверка xfs Проверка xinetd и tftpd Общая настройка системы (inittab, syslog) Настройка inittab Настройка syslog Конфигурирование сетевых служб (dhcp, tftp, nfs, tcpd, dns) Настройка DHCP Настройка xinetd Настройка TFTP Настройка NFS Настройка переключателей TCP Настройка DNS Настройка X-Windows (Xaccess, Xsetup_workstation, xdm, kdm, gdm, xfs) Настройка удаленного доступа к Х-серверу (Xaccess) Настройка экрана ввода имени пользователя и пароля (Xsetup_workstation) Настройка диспетчера экрана XDM Настройка менеджера дисплея KDM Настройка менеджера дисплея GDM Выбор менеджера дисплея по умолчанию Настройка сервера шрифтов (xfs) Главный файл конфигурации сервера LTSP Реконфигурация сервера при добавлении новых терминалов Глава 7.





Настройка терминалов Выбор метода сетевой загрузки Создание дискеты с загрузочным образом Создание дискеты с загрузочным образом (продолжение) Определения MAC-адреса сетевой карты Загрузка Х-терминала с других носителей информации(lilo, cd-rom, msdos) Загрузка при помощи(LInux LOader) Создание загрузочного компакт диска Загрузка в режиме MS DOS Использование сетевых карт с BootROM или PXE BootROM Использование сетевых адаптеров PXE Настройка сетевой карты ISA Создание пользовательского образа для загрузки Загрузка в текстовом режиме Загрузка в текстовом режиме (продолжение) Конфигурирование Х-клиента Автоматическое построение файла XF86Config Оптимизация конфигурации клиента Оптимизация конфигурации клиента (продолжение) Типовые конфигурации клиентов Клавиатура “Мышка” подключенная к порту PS/2 треx кнопочная без скроллера “Мышка” подключенная к порту PS/2 двуx кнопочная без скроллера “Мышка” подключенная к порту PS/2 двух кнопочная со скроллером “Мышка” подключенная к COM-порту (COM1) без скроллера (3 кнопки) “Мышка” подключенная к COM-порту (COM2) без скроллера (2 кнопки c эмуляцией нажатия третьей) “Мышка” подключенная к COM-порту (COM1) со скроллером (2 кнопки) “Мышка” подключенная к USB-порту со скроллером (2 кнопки) Разрешение для ЭЛТ-монитора с диагональю 15” (800х600) Разрешение для ЭЛТ-монитора с диагональю 17” (1024х768) Разрешение для ЭЛТ-монитора с диагональю 19” (1280х1024) Разрешение для LCD-монитора с диагональю 15” (1024х768) Разрешение для ЭЛТ-монитора с диагональю 17” (1280х1024) Глубина цвета HiColor (16 бит) Глубина цвета TrueColor (24 бита) Глубина цвета TrueColor (32 бита) Горизонтальная и вертикальная частоты разверстки для ЭЛТ-монитора с диагональю 17” Запрет аппаратной акселерации (иногда помогает избавиться от артефактов) Работа в режиме VESA Х-сервер для большинства видеоадаптером на чипсете s3 Х-сервер SVGA версии 3.3.6 Использование принтера подключенного к параллельному порту Х-терминала (порт tcp/ip 9100) Использование принтера подключенного к параллельному порту Х-терминала с нестандартным портом tcp/ip, например, 9150 Использование принтера подключенного к USB-порту Х-терминала (порт tcp/ip 9100) Автоматическая настройка звуковой карты на Х-терминале (демон звука EsounD) Ручная настройка звуковой карты на Х-терминале (демон звука EsounD, звуковая карта на чипсете OPL3sa2) Влияние видеосистемы на работу Х-терминала Проблемы, требующие собственного файла XF86Config Выбор оптимального программного обеспечения для работы на Х-терминале Выбор оптимального программного обеспечения для работы на Х-терминале (продолжение, IceWM vs XFce) Советы по работе и настройке типового софта – OpenOffice, Gimp, Evolution и т.д.

Файловый менеджер Веб-браузер Почтовый клиент Клиент ICQ Пакет офисных приложений CrossOver Office StarOffice KOffice Gnome Office OpenOffice OpenOffice (продолжение) Графический редактор Gimp Архиватор Дополнительные параметры файла lts.conf Глава 8. Администрирование сети Х-терминалов Если что-то не работает – порядок выполнения диагностики Проблемы загрузочного образа Неполадки DHCP Неполадки DHCP (продолжение) Проблемы с TFTP Устранение проблем с NFS Проблемы Х-сервера Проблемы Х-сервера (продолжение) Проблемы менеджера дисплея XDM KDM GDM Ошибки при работе в графическом режиме Подготовка пользователей для работы на Х-терминале Порядок включения и выключения Х-терминала Вход в систему и завершение сеанса работы Проверка наличие сетевого кабеля Практическая бесполезность перезагрузки Общая рабочая среда Универсальность рабочих мест Особенности работы с устройствами хранения данных и передача файлов Новая операционная система Linux и ее прикладные программы Инструкция для пользователя Аудит сети Х-терминалов "Уборка мусора" "Уборка мусора" (продолжение) Оптимальный выбор программного обеспечения Анализ использования локальной сети Анализ использования локальной сети (продолжение) Распределение процессорного времени Контроль за использованием дискового пространства Глава 9. Работа с периферией на терминале Подключение к терминалу принтера CUPS (LPT, USB) Подключение к терминалу принтера CUPS (продолжение) Подключение принтера к параллельному порту (LPT) Подключение принтера к порту USB Музыка на терминале Музыка на терминале (продолжение) Музыка на терминале (продолжение) Смотрим видеофильмы на терминале Использование сканера Доступ пользователей к флоппи дисководам Локальный запуск приложений Локальный запуск приложений (продолжение) Приложение A. Реальный пример внедрения Х-терминалов Linux в реальном офисе (часть 1) Linux в реальном офисе (часть 2) Linux в реальном офисе (часть 3) Linux в реальном офисе (часть 4) Linux в реальном офисе (часть 5) Linux в реальном офисе (часть 6) Linux в реальном офисе (часть 7) Linux в реальном офисе (часть 8) Linux в реальном офисе (часть 9) Linux в реальном офисе (часть 10) Linux в реальном офисе (часть 11) Приложение B. Отличия в проекте LTSP 4.x Установка Конфигурирование и настройка Сценарии для виртуальных экранов Новое в синтаксисе файла /opt/ltsp/i386/etc/lts.conf Новый демон ltspinfod Локальный запуск приложений Исходный код проекта LTSP Среда компиляции программ для LTSP Доступ к локальным устройствам

–  –  –

Если говорить по существу, то идея использования бездискового компьютера поначалу была воспринято мною без особого энтузиазма. Опыт работы на персональных компьютерах просто не позволял допустить, что компьютер без “винчестера” может быть полноценным рабочим инструментом.

Как можно отказаться от такой полезной штуки как жесткий диск, и главное зачем? А на практике все было достаточно просто. Как системный администратор, я стал видеть, что парк компьютерной техники морально устаревает значительно быстрее, чем происходит физический износ. Имея в своем распоряжении десяток “Пентиумов”, приобретенных в 1997-98 годах и находящихся полностью в работоспособном состоянии, мне стало все сложнее и сложнее их обслуживать, так как от пользователей постоянно слышались жалобы на медленную работу их компьютеров. Конечно, при достаточном финансировании ничто не мешает приобретать новые компьютеры раз в 3 года, но в условиях нашей страны это может позволить себе далеко не каждая организация. В общем, денег на новые компьютеры не дали, а меня как системного администратора обязали найти выход из сложившейся ситуации.

Аргументы начальства были "железные": зачем нам новые компьютеры, если пользователю нужно только набрать текстовый документ, посчитать что-то в электронной таблице, напечатать это на принтере ну и поработать в Интернете.

И выход был вскоре найден в использовании бездисковых сетевых компьютеров, которые были переделаны из старых “морально изношенных” персоналок. Но обо всем по-порядку.

Жесткий диск или “винчестер” - это не самый главный компонент персонального компьютера. На этапе зарождения эры персональных компьютеров они вообще были лишены дисковых накопителей.

– Единственным средством хранения информации были гибкие диски (дискеты) и флоппи-дисководы для работы с ними. Хотя первый винчестер был сконструирован в 1956 году (на самом деле, это был прототип винчестера жесткий диск КАМАС 305, созданный IBM), их массовое применение началось только с 1983 года, когда фирма Seagate Technologyс выпустила их для пользователей персональных компьютеров Использование IBM PC/XT.

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

Главный минус “винчестера” - это его механическая природа, вращающиеся внутри компоненты подвержены износу, а, стало быть, могут послужить причиной выхода из строя. Вот вам и парадокс: самое ценное, что есть в компьютере - информацию, мы доверяем одному из самых ненадежных его компонентов - “винчестеру”.

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

“винчестер” ненадежная механическая деталь персонального компьютера.

Кроме своей жесткому диску присуща еще одна “ненадежности”, отрицательная черта – стоит он достаточно дорого.

Рассмотрим простой пример: локальную сеть банка. Все служащие банка работают с информацией, которая составляет информационную банковскую систему. Понятно, что ей присущи меры обеспечения безопасности, разграничения полномочий и т.д., но по сути это одна большая база данных, которая хранится на серверах, физический доступ к которым не имеют рядовые сотрудники. Вопрос состоит в том, зачем локально хранить какую-либо информацию на винчестере, если все равно важных данных там нет? А если речь идет об отделе с сотней компьютеров, вы только представьте себе о какой колоссальной экономии идет речь (100 х средняя стоимость “винчестера”)!

Из приведенных выше замечаний не следует делать вывод, что я предлагаю вам выбросить ваш “винчестер” и с головой окунуться в мир бездисковых сетевых компьютеров. Просто давайте посмотрим на персональный компьютер под другим углом, представим его частью локальной сети и задумаемся: “А такая ли необходимая и незаменимая вещь жесткий диск?”. С радостью сообщаю, что в наших мыслях мы будем далеко не одиноки. Идея сетевых компьютеров будоражит информационные технологии уже не первый год. Как сейчас помню, что в конце 90-х годов ХХ века, чуть ли не в каждом номере компьютерного журнала или газеты можно было прочитать о новых разработках ПК без жесткого диска, о так называемых “тонких” клиентах или сетевых компьютерах. В последнее время интерес к ним вроде снизился, но это никак не связано с бесперспективностью данного технологического направления. Дело просто в том, что на рынке появились стабильные реализации терминальных компьютерных сетей и интерес к бездисковым ПК перешел из разряда новинок в разряд изученных и применяемых методик, бездисковые компьютеры перестали быть чем-то принципиально новым.

Честно признаться, когда я в первые услышал о ПК без жесткого диска, то эта новость вызвала у меня лишь слабую улыбку, так как более бесполезное изобретение сложно было себе даже представить. Пожалуй конкуренцию ему могут составить разве что: “ПК без центрального процессора” и “ПК без оперативной памяти”. Мое сознание рисовало мне картины подключения этого чуда буржуазной мысли к какой-то невиданной компьютерной сети, через которую этот, по моему мнению, “безмозглый” ПК, загружал операционную систему и получал доступ к удаленным файлам. Но здравый смысл мне подсказывал, что в любом случае информацию нужно где-то локально хранить, пусть даже временно, а следовательно этот “тонкий” клиент должен иметь фантастический объем оперативной памяти. Тогда где экономия от отсутствия “винчестера”? В общем, вопросов было больше, чем ответов и тогда я вовсе не проникся идеей бездискового компьютера. Со временем я все больше и больше погружался в рутину администрирования, а это - установка операционной системы, установка программ, обновление программных продуктов, управление пользователями, сетевыми устройствами, правами доступа и т.п., и поневоле стал замечать, что обслуживание одного отдельно стоящего ПК на порядок сложнее, чем работа с компьютерами, которые объединены в локальную сеть. Более того, я реально стал видеть, что в офисе практически все пользователи компьютеров работают с однотипным набором программных продуктов, и за редким исключением их интересы выходят за пределы офисных приложений, электронной почты и Интернет браузера. К тому же год за годом, парк компьютерной техники на глазах подвергался моральному износу, то есть все компьютеры работали и даже на “винчестерах”, которым было по 5 лет, не было BAD-секторов, но установить, а главное комфортно работать с современным программным обеспечением на них не было никакой возможности. Современные программные продукты действительно нерационально используют аппаратные ресурсы компьютера. Сами посудите, ну зачем для работы с текстовым документом вам нужен компьютер с центральным процессором в 3 ГГц! К тому же администрирование “разношерстной” локальной сети (имеется в виду компьютерная локальная сеть состоящая из ПК с различными типами и версиями операционных систем) порой оказывается достаточно сложной задачей и идея привести все рабочие станции к одному знаменателю выглядит как никогда заманчивой. Только представьте, что в новой локальной сети есть сервер, на котором храниться вся информация о настройках удаленных компьютеров, правах доступа к файлам, сетевый устройствам и т.д. Пользовательский компьютер подключается к такому серверу и получает от последнего все, о чем только пожелает. В этой локальной сети системный администратор фактически администрирует только один компьютер (сервер) и именно работе с ним посвящает практически все свое рабочее время. Рабочие станции пользователей по сути утрачивают свою индивидуальность, так как человеку становится одинаково на каком компьютере работать. Сев за любую машину (прошу прощения, персональный компьютер) вы получаете ваш привычный рабочий стол, общие и личные документы, прикладные программы и знакомую операционную систему.

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

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

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

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

Фактически к одному большому компьютеру подсоединялись терминалы, оборудованные мониторами (раньше их называли дисплеями) и клавиатурами.

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

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

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

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

1.1):

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

Совсем другая картина имеет место у бездисковых терминальных клиентов (см.

рис. 1.2):

Рис. Схема взаимодействия пользовательского интерфейса 1.2.

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

Данная схема конечно очень сильно упрощена, и в реальных терминальных структурах может присутствовать более изощренная методика обработки запросов удаленных пользователей. Так, например, при достаточном аппаратном обеспечении бездисковых компьютеров, они могут выполнять не одну, а сразу несколько клиентских программ, чем значительно увеличивают свои возможности вполне логично запустить (например, mp3-плеер непосредственно локально на бездисковом компьютере, чем использовать для передачи музыки локальную сеть).

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

В первую очередь ею должны заинтересоваться учреждения офисного типа:

банки, крупные и средние предприятия. Главное условие, которое должно выполняться – это наличие достаточного количества пользователей (от 5-ти и выше). Чем больше человек работает в организации, тем очевиднее становятся преимущества от внедрения терминальных компьютеров. Любая организации в своей работе сталкивается с затратами на компьютерную технику. Будь-то покупка аппаратного обеспечения, его ремонт или затраты на обслуживание и администрирование. Не следует также забывать и о стоимости лицензионного программного обеспечения. Другими словами, с увеличением количества компьютеров в организации резко возрастают затраты на поддержание их в работоспособном состоянии. Поэтому использование терминальных решений помогает таким структурам не только снизить стоимость эксплуатации всей своей информационной системы, но и значительно улучшить качество ее администрирования, а в результате получить более надежную и защищенную корпоративную информационную среду.

Общая архитектура и область применения (продолжение) Также очень перспективно применение терминальных вычислений в образовательных заведениях, таких как школы, институты, университеты и техникумы. Посетите любой компьютерный класс в ближайшей школе или университете. Скорее всего вы там найдете десяток морально устаревших компьютеров, возраст которых года по меркам 3-4 (“преклонный” информационной компьютерной индустрии). Скажите, о какой современной науке или образовании может идти речь, когда учащиеся и студенты вынуждены проводить образовательный процесс на морально устаревшем оборудовании. Конечно, можно каждые два года закупать новые компьютеры и тем самым поддерживать аппаратную базу на должном уровне, но прошу не забывать в какой стране мы живем, скорее всего подавляющему количеству учебных заведений это просто не по карману.

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

Интернет-кафе и подобные ему заведения безусловно могут использовать преимущества бездисковых компьютеров. Единственный здесь “минус” - это невозможность использования таких компьютеров для современных трехмерных игр. Хотя для игровых Интернет-салонов можно применить смешанный подход, то есть часть компьютеров будут традиционными персональными компьютерами и будут предназначаться для игр и работы в Интернете, а часть бездисковыми терминалами, которые предназначены только для работы с офисными пакетами и программами для работы в глобальной сети Интернет (веб-браузеры, клиенты электронной почты, ICQ, FTP-клиенты и т.п.).

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

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

Поначалу я полагал, что для домашних пользователей идея бездисковых компьютеров не так уж привлекательна. Редкий человек в нашей стране имеет дома больше одного компьютера. А для бездисковых терминалов их нужно как минимум два (клиент и сервер). Но с другой стороны, кто живет один дома?

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

Покупка второго компьютера, как правило, не рассматривается именно из-за его приличной стоимости. Вот вам и ответ на использование терминалов дома – при ограниченных средствах, бездисковый "тонкий" клиент - это идеальный вариант второго домашнего персонального компьютера.

Стоит он копейки (не считая монитора, конечно), ремонтировать и модернизировать его не нужно:

протянул сетевой кабель и работай на здоровье. Конечно, чем больше количество домашних пользователей, тем эффективнее применение этой технологии удаленного доступа.

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

Следует также отметить, что некоторые программы выполняются эффективнее именно в терминальной среде, и эта эффективность не зависит от используемого пользовательского интерфейса. Простой пример: прикладные программы, которые используют базу данных с архитектурой файл-сервер. Так, в свое время, на территории нашей страны очень большой популярностью пользовались программные продукты типа FoxPro, DBase и Clipper. Так вот, для доступа к базе данных они используют файл-серверную архитектуру, а следовательно производительность удаленных клиентов всегда хуже чем у тех, кто использует базы данных локально. В терминальной среде все клиенты практически работают на одном компьютере (сервере), а следовательно производительность подобного рода прикладных программ у всех клиентов локальных и удаленных практически одинаковая.

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

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

Каждое из которых имеет как свои сильные стороны (надежность, функциональность, многоплатформенность) так и слабые (как правило, стоимость лицензии). Свое основное применение они находят там, где, с одной стороны, имеется информационная инфраструктура, а с другой стороны – желание уменьшить расходы связанные с поддержанием ее в работоспособном состоянии и повысить качество управляемости.

В общем из представленных на рынке программных продуктов можно выделить такие:

Citrix MetaFrame Citrix MetaFrame – наверное самый известный программный продукт данной серии (сайт http://www.citrix.com). В его основе лежит наиболее распространенная в информационной индустрии технология Citrix Independent Computing Architecture (ICA®), которая позволяет строить распределенные вычислительные среды, базируясь на различном аппаратном и программном обеспечении, а также используя разные каналы связи. В современном виде, данная технология позволяет запускать программы для Windows, UNIX и Java практически на любом устройстве и через любое подключение. В арсенале данного программного продукта удобные средства администрирования и централизованного управления распределенной сетевой средой, средства мониторинга и слежения за аппаратным обеспечением, защищенная и безопасная сетевая среда, а также возможность мобильного удаленного доступа к документам пользователей через Интернет. Фактически использование Citrix MetaFrame – это качественно новый уровень управления информационной средой, и это особенно заметно, если имеет место использование различных операционных систем в одной локальной сети. Другими словами, про преимущества использования Citrix MetaFrame можно рассказывать очень долго, но есть у данного проекта и существенные недостатки. На первом месте в списке негативных факторов идет конечно же цена лицензии на использование данного программного продукта, а она, поверьте, не маленькая.

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

Windows Terminal Services Windows Terminal Services– программный продукт от софтверного гиганта Данное программное Microsoft Corp. (сайт http://www.microsoft.com).

обеспечение предназначено для организации удаленного доступа к приложениям сервера от удаленных клиентов. В своей работе использует протокол RDP. Сервер должен работать под управлением операционных систем Windows NT Server 4.0 Terminal Server Edition, Windows 2000 Server или Windows 2003 Server. Клиентская часть может работать под управлением Windows 3.11 (16–разрядный клиент) и Windows 95, Windows 98, Windows NT Workstation 3.51, Windows NT Workstation 4.0, Windows 2000 Professional, Windows XP (32–разрядный клиент). Для того чтобы воспользоваться возможностью дистанционной работы при помощи Windows Terminal Services, необходимо правильно устанавливать приложения, в частности, в них должна быть предусмотрена совместная работа нескольких пользователей (многопользовательский режим), поэтому для запуска некоторых приложений может понадобиться специальный сценарий совместимости приложений.

Terminal Services хорошо подходит для развертывания отраслевых приложений для удаленных пользователей, филиалов или устройств–терминалов и снижает совокупную стоимость владения. Поскольку модель Terminal Services обеспечивает централизованное управление приложениями, это помогает администраторам сократить затраты времени и труда на разработку клиентского программного обеспечения, его обслуживание и обновление. В среде Terminal Services никакие приложения или данные пользователей не хранятся на клиентских машинах, что позволяет вплотную контролировать систему безопасности и надежность. Terminal Services можно эксплуатировать и как средство удаленного администрирования Windows. Данная технология лучше всего подходит для ненасыщенных графикой приложений, которые не используют мультимедийные возможности операционной системы (звук, видео и т.п.). В сравнении с решением от Citrix, Windows Terminal Services выглядит менее производительным и удобным программным продуктом, хотя опираясь на свою долгую историю развития, эта технология является реальным альтернативным способом работы удаленных пользователей терминалов.

VNC VNC – это еще один очень интересный программный продукт для удаленной работы пользователей, разработанный компанией RealVNC (сайт http://www.vnc.com). VNC (Virtual Network Computing - виртуальные сетевые вычисления) представляет собой действительно многоплатформенную среду клиент-сервер. Начиная с 1998 года, когда исходный код этого программного продукта стал свободно распространяемым, с сайта компании его загрузило более 20 миллионов человек и многие популярные дистрибутивы операционной системы Linux также включают в себя данный программный продукт. Для того чтобы понять, что лежит в основе работы VNC, следует рассмотреть схему на рис. 1.3.

Рис. 1.3. Схема дистанционного доступа VNC В сетевой вычислительной среде VNC присутствуют два понятия: VNC Server и VNC Viewer. VNC Server – это программа, которая работает на компьютере, что предоставляет удаленный доступ, а VNC Viewer – это клиентское приложение для работы с ресурсами удаленного сервера.

Взаимодействие между этими двумя частями системы осуществляется посредством специального VNC-протокола. В своей реализации протокол VNC представляет простую интерпретацию пользовательского графическому интерфейса. Он базируется на понятии удаленного фрейм-буфера, или как его еще иногда называют, RFB (remote framebuffer). Данный протокол позволяет серверу очень просто обновить изображение на клиенте, а поскольку идея фрейм-буфера может быть легко реализована в разных операционных системах и прикладных программах, то серверное и клиентское программное обеспечение VNC распространено на многих платформах. По сути, протокол VNC (он же, RFB-протокол), является протоколом для “тонкого” клиента, так как приложение VNC Viewer может работать на очень скромных аппаратных конфигурациях, включая карманные компьютеры (PDA).

При отображении и передаче графической информации по протоколу VNC используется понятие графических примитивов, таких как, например, прямоугольники. Но данный протокол выполняет дополнительную оптимизацию при передаче информации от сервера клиенту. Например, так как изображение фрейм-буфера хранится и на сервере и на клиенте, то при изменении информации на экране пересылается не все его изображение, а только те части, которые претерпели изменения. Подобным образом VNC протокол поступает и при передаче пиксельных изображений, то есть в зависимости от конкретной ситуации (аппаратного обеспечения, скорости соединения и т.п.), он выбирает схему кодирования графической информации.

Например, неподвижные графические изображения могут передаваться в формате JPEG, а динамические видеоданные в формате MPEG. Современные интерфейсы операционных систем изобилуют графическими элементами, и рабочий стол пользователя часто напоминает по обилию красок новогоднюю елку, поэтому при передаче изображения от сервера клиенту, в сочетании используется очень много приемов и методов для уменьшения нагрузки на локальную сеть и повышения быстродействия. Очень часто при работе пользователя с графическим интерфейсом он выполняет действия, которые значительно изменяют изображение экрана, например, прокрутка содержимого окна. Но если рассмотреть этот процесс (прокрутку) более детально, то окажется, что только незначительная часть экрана изменяется, а остальная просто сдвигается вверх или вниз (право/лево). Использование такой особенности выполнения прокрутки экрана также позволяет значительно снизить поток информации, передаваемой от сервера клиенту. В качестве примера аналогичной оптимизации следует сказать, что при передаче текста могут использоваться схемы кеширования изображений отдельных графических символов, так как внешне очертания букв одного шрифта и одного размера выглядят одинаково. Не следует однако забывать, что главным условием применения технологии оптимизации при передачи данных по протоколу VNC является наличие ее поддержки как со стороны сервера, так и со стороны клиента (VNC Viewer).

VNC протокол работает по принципу обновления фрейм-буфера, и инициатором этого обновления является приложение клиент (VNC Viewer).

Под обновлением принято понимать замену старого изображения фреймбуфера новым. А так как обновление всегда происходит по инициативе клиента, то VNC протокол смело можно назвать адаптивным, то есть отображение графических данных будет происходить с тем качеством, на которое рассчитывает клиент. Для медленного соединения или ограниченного в возможностях клиентского приложения скорость обновлений фрейм-буфера снижается, и тем самым падает нагрузка на локальную сеть, хотя качество работы (отображения графики приложением клиентом) снижается.

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

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

Проект VNC очень интересен с точки зрения его практического применения. Например, с его помощью вы можете администрировать удаленный сервер с Linux, работая на компьютере с операционной системой Microsoft Windows, или наоборот. Главное, что при этом вы не ограничиваете себя текстовой консолью, а можете наслаждаться всеми преимуществами графической среды. Использование клиентской программы VNC Viewer позволяет выполнять удаленные входы практически с любого компьютера.

Отсутствие привязки к операционной системе и программному обеспечению делают этот проект действительно кроссплатформенным. Представьте себе ситуацию, когда принято решение перевести компьютеры с операционной системы Windows на Linux, но в организации используется программное обеспечение, несовместимое с Linux. В качестве компромиссного варианта можно использовать VNC для получения доступа к программам, которые не переведены в Linux. И таких примеров огромное множество. Хотя следует признать, что проект VNC не лишен изъянов. Так для работы VNC Viewer нужна операционная система, поэтому его сложно назвать полноценным “тонким” клиентом. Скорее всего, данное приложение следует рассматривать как способ кратковременного доступа к ресурсам удаленного компьютера, которое безусловно обладает широким спектром функциональных возможностей. Чтобы подчеркнуть большой потенциал проекта VNC, замечу, что на период написания этой книги были доступны сервера VNC для платформ: Windows 9x/2000/NT/XP (x86), Linux (x86), Solaris 2.5 (SPARC), HPUX 11, Java, Novell Netware, OS/2, QNX и MacOS X, а клиенты VNC Viewer для еще большего числа платформ: Win32, Windows CE, Linux (разные дистрибутивы с поддержкой X-Windows и даже SVGALIB), Amiga, BeOS, MacOS, FreeBSD, OpenBSD, NetBSD, CygWin32, Java, DOS, OS/2, PalmOS, Solaris, SCO, VMS, AIX и многих других.

NCD ThinPATH NCD ThinPATH – интересный программный продукт для терминальных систем на базе серверов производителя Microsoft Windows (сайт http://www.ncd.com). В частности, данный программный продукт расширяет функциональные возможности бездисковых терминалов и Windows традиционных ПК при работе в удаленном режиме.

Так, программное обеспечение NCD ThinPATH позволяет:

обеспечить поддержку локальных устройств для “тонких” клиентов, таких как, например, принтеры, через параллельный и последовательный порты;

использовать звук в работе приложений;

иметь доступ к локальным файлам на устройствах хранения информации, таких как жесткие диски, устройства чтения компакт-дисков и флоппидисководы;

расширить возможности таких технологий как Windows Terminal Services и Citrix ICA;

организовать доступ к локальным данным терминалов со стороны сервера.

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

NoMachine NoMachine (сайт проекта http://www.nomachine.com) – проект итальянской компании компании Medialogic S.p.A. (сайт http://www.medialogic.it) представляет собой еще один вариант дистанционной работы (другое название !M). Как и в случае проекта VNC, данная разработка использует в своей работе два базовых компонента: виртуальный сервер (NX сервер) и клиент (NX клиент). NX сервер работает под управлением unix-подобных операционных систем, хотя существуют экспериментальные сборки для платформы win32 (посредством использования CygWin).

Клиент NX протестирован и может работать под управлением Windows 95/98/ME/NT/2000/2003/XP, Linux RedHat 8.0/9.0, Linux SuSE 8.1/8.2/9.0, Linux Mandrake 9.0/9.1, Linux Debian Stable (Woody) и SUN Solaris 9 (Sparc). NX клиенты для различных платформ выдержаны в одном стиле пользовательского интерфейса, что значительно облегчает их использование в различных программных средах. В зависимости от доступного сервера NX клиент может работать по протоколу RPD, VNC или даже использовать в своей работе Х-протокол. Для повышения уровня безопасности используется SSH и SSL, что особенно актуально при работе через Интернет.

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

Возможности проекта !M достаточно широки и не заканчиваются удаленным доступом и администрированием. Так, например, можно в одном сеансе Linux запустить из оконного менеджера KDE, окно Gnome сессии. Также удобно работать с приложениями Linux на ПК с Windows, при этом скорость работы значительно выше чем при использовании VNC. Тонкая настройка NX клиента позволяет использовать данную технологию на различных типах сетевых подключений, включая аналоговый модем, ISDN, ADSL, WAN и LAN, применять внешний сервер шрифтов и выбирать типы передачи графических изображений. На практике это означает, что производительность NX клиента можно оптимизировать для конкретной ситуации сеанса удаленного доступа.

Благодаря проекту Thinstation (сайт http://thinstation.sourceforge.net) вы можете использовать NX клиент даже на бездисковых рабочих станциях.

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

Thinstation Thinstation – довольно молодой и еще недостаточно стабильный проект представляет собой операционную (сайт http://thinstation.sourceforge.net) систему Linux, которая является базой для работы “тонкого” клиента (бездискового компьютера) с использованием таких протоколов как: Citrix ICA, MS Windows terminal services (RDP), Tarantella, X, telnet, tn5250, VMS term и SSH. Как видите, впечатляющая функциональность и при этом не стоит забывать, что загружаться такие “тонкие” клиенты могут как по сети, так и с локальных дискет, компакт-дисков, “винчестеров” и накопителей USB-Flash. В своей работе проект Thinstation не ограничивается ресурсами удаленного сервера, а может работать с локальными принтерами и (LPT/USB) устройствами хранения информации, такими как дискеты, компакт-диски, жесткие диски и флеш-накопители. Для уменьшения нагрузки на удаленный сервер и локальную сеть в проекте Thinstation активно используется запуск приложений на стороне клиента, что позволяет эффективно использовать ресурсы “тонкого” клиента для работы с такими популярными программными продуктами, как веб-браузер, медиа-плеер, калькулятор и т.п. Если вы серьезно задумываетесь над использованием бездисковых рабочих станций, то вам стоит более пристально взглянуть на проект Thinstation, тем более, что используя его, не обязательно работать в операционной системе Linux, а можно запускать только удаленные Windows сеансы (для этого понадобиться сервер с операционной системой от Microsoft).

LTSP LTSP – эта аббревиатура расшифровывается как Linux Terminal Server Project и представляет собой систему удаленной работы для бездисковых компьютеров под управлением операционной системы Linux (официальный сайт http://www.ltsp.org). Так как в данной книге об этом проекте пойдет речь в ее третьей части, то не будем детально останавливаться на его достоинствах и недостатках. Если коротко, то проект LTSP можно охарактеризовать как удачный симбиоз двух программных разработок: графической подсистемы X Window System и свободно распространяемой операционной системы Linux.

X terminal kit X terminal kit – является простой интерпретацией идеи удаленной работы в операционной системе Linux (сайт http://www.solucorp.qc.ca/xterminals).

Отличаясь спартанской лаконичностью и минимальными системными требованиями, эта технология может быть опробована в небольших организациях или домашними пользователями. Само понятие Х-терминал раньше было связано с рабочими станциями от Sun Microsystems, но с выходом на рынок серверов операционной системы Linux мы имеем принципиально новое сочетание, которое без ограничений можно использовать на практике.

X-Windows и XDMCP X-Windows и XDMCP- это сочетание изначально была рассчитано на удаленную работу пользователей. Структура X Window System позволяет задействовать все преимущества распределенной технологии клиент-сервер в графической среде. Распространенности X-Windows может позавидовать любой программный продукт, так как она портирована практически для всех существующих платформ. Правда есть у Х-Windows и свои ограничения. Вопервых, X Window System не является операционной системой, а следовательно для ее работы на аппаратной базе требуется наличие последней. Во-вторых, несмотря на кроссплатформенность Х-протокола, его конкретная реализация и использующие его приложения все равно привязаны к программному обеспечению и операционной системе, а следовательно переносимость Х ограничивается только пользовательским интерфейсом. И в третьих, определенный архаизм, который сопровождает проект с 20-летней историей развития, также сдерживает использование данной безусловно перспективной технологии. Несмотря на то, что настроить удаленный сеанс в X-Windows не так и сложно (достаточно локально запустить Х-сервер и в его параметрах указать адрес удаленного Х-сервера, к которому необходимо подключиться), на практике пользователи сталкиваются с довольно серьезными конфигурационными проблемами и без вспомогательных программных утилит такой подход сопряжен со значительными трудностями.

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

Достоинства и недостатки терминальных решений Минусы Как любое явление окружающего нас мира, бездисковый компьютер имеет как сильные так и слабые стороны. Начнем сначала с перечисления его слабостей. Главный недостаток – это отсутствие самодостаточности, то есть без локальной сети или в отсутствии сервера бездисковый ПК просто даже не загрузится. Тонкий клиент должен восприниматься как составная часть терминальной локальной сети и ни о каком существовании за ее пределами не может быть и речи. Другими словами, применение бездисковых компьютеров ограничено территорией распространения локальной сети с терминальным сервером, то есть дома вы вряд ли воспользуетесь преимуществами распределенных вычислений, так как для них одного персонального компьютера мало, нужен еще и сервер или высокоскоростной канал доступа к такому серверу. Из перечисленного выше кратко сформулируем первый и главный недостаток терминального компьютера: для работы нужен терминальный сервер, без подключения к нему терминал – груда металлолома.

Кинем взор в сторону администрирования терминальной локальной сети.

Даже неподготовленному человеку ясно, что без администрирования она работать не может. Это означает, что когда все настроено и отлажено, то работ по администрированию совсем немного, а пользователи просто включают свои терминалы и работают, но на первоначальном этапе внедрения “тонкие” клиенты требуют пристального внимания системных администраторов, особенно при этом "достается" их серверу. Поэтому к списку недостатков такого подхода запишем: требует администрирования.

Если бы обслуживание терминальной локальной сети заканчивалось бы простым администрированием, то это было бы пол беды. Проблема заключается в том, что администрировать нужно среду, которая значительно, я бы даже сказал принципиально, отличается от традиционной. Эта особенность предъявляет новые требования к обслуживающему персоналу, то есть к администраторам. Вполне вероятно, что внедрение бездисковых компьютеров потребует от системных администраторов повышения своей квалификации, а в ряде случаев даже освоения идеологически “враждебной” операционной системы. Конечно, речь не идет о каких то высших материях, недоступных пониманию простых смертных, но попотеть сисадмину придется - это точно. В итоге получаем третий немаловажный недостаток: качественно новое администрирование требует освоения новых областей знаний, а следовательно затрат времени, сил и средств.

В терминальной среде идет процесс централизации хранения и обработки информации. Несмотря на свою распределенную структуру, основная информация хранится и обрабатывается центральным сервером. При таком подходе все персональные терминалы становятся заложниками сервера не только в аппаратном, но и в информационном смысле. Представьте на секунду, что с информацией на сервере что-то случилось (например, “посыпался” жесткий диск). Все, приехали, пропали данные сразу всех пользователей! Если перефразировать известную пословицу, то в терминальной среде мы носим яйца (храним файлы) в одной корзине. Как результат, имеем еще один недостаток “тонких” клиентов – централизованное хранение информационных данных значительно увеличивает риск их потери и выдвигает серьезные требования к регулярному резервному копированию.

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

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

Все пользователи терминалов, и практически все запущенные на них программы выполняются на одном компьютере – терминал-сервере. Такое построение работы и совместное использование ресурсов приводят к возникновению пиков нагрузки на сервер, а следовательно замедлению работы всех пользователей удаленных терминалов. Конечно, увеличение нагрузки на сервер связано с особенностью одновременной работы пользователей, и если бы они работали по очереди, то вообще никаких проблем бы не было, но как объяснить это пользователям? Чтобы сгустить краски и отчетливей представить всю пагубность этой ситуации вообразите, что один пользователь терминала решил сыграть в “DOOM”, понятно: загрузка центрального процессора 100%, но что делать в это время другим пользователям? Хорошо, в “DOOM” мы этому геймеру запретим играть в административном порядке, но задумайтесь так ли надежны операционные системы и программное обеспечение? Что мешает зависшей программе использовать 100% процессорного времени и доставлять неудобство остальным пользователям? Короче говоря, открытых и нерешенных вопросов в этом направлении много и еще один явный недостаток - совместная работа на одном компьютере всех пользователей сказывается на его производительности, причем пик нагрузки замедляет работу всех удаленных станций без исключения.

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

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

Как это не странно, но даже на рабочем месте пользователи воспринимают компьютеры как часть своей собственности. Даже таким виртуальным понятиям как “Рабочий стол” (имеется ввиду рабочий стол оконного менеджера) часто сопутствуют притяжательные местоимения: “А на моем рабочем столе...” или “Ой, я тоже хочу на свой рабочий стол таку картинку!”.

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

Так как без локальной сети работа сетевых компьютеров не мыслима, то к ней предъявляются завышенные требования по качеству и пропускной способности, но даже при наличии хорошо спроектированной локальной сети, среда терминалов интерпретирует передаваемую информацию по ней не так как это принято у традиционных персональных компьютеров. Приведу пример – прослушивание файла в формате mp3 через локальную сеть. При традиционном подходе нагрузка на локальную сеть будет ничтожной, так как в среднем плотность информационного потока в этом музыкальном формате находится на уровне 128 кбит/с. Но при запуске на удаленном бездисковом терминале проигрывателя mp3-файлов мы получаем совсем другой сетевой трафик, порядка 1500 кбит/с.

Чем вызвано такое увеличение нагрузки на локальную сеть и почему эта нагрузка сохраняется даже при прослушивании несжатых аудиозаписей, хотя по логике должна еще больше увеличиваться. Ответ на этот вопрос содержится в клиент-серверной архитектуре терминальной локальной сети. Когда на терминале вы запустите mp3-плеер, то он будет работать на сервере, но звук то вы хотите слышать из колонок подключенных к терминалу, а следовательно по сети на терминал он будет передаваться не в mp3-формате, а в несжатом аудио. Также на терминале сложнее работать с видео и графикой, так как эти программы подразумевают перемещение значительных объемов видеоинформации по локальной сети с ее достаточно скромной пропускной способностью. Отсюда вот вам еще один недостаток – локальная сеть – узкое место для больших объемов информации, и ее пропускная способность – одна из составляющих замедленной работы бездискового терминала по сравнению с традиционным персональным компьютером. Правда следует несколько реабилитировать пользователей терминалов в случае использования медиаплееров. Существуют готовые решения которые позволяют запускать подобные программы локально, то есть использовать потенциал самих "тонких" клиентов и не тратить на музыку вычислительные ресурсы сервера и пропускную способность локальной сети.

Работа в терминальной среде выполняется при помощи обычных прикладных программ, но все же не все из них пригодны для работы на терминалах. Понятно, что из-за распределенной структуры вычислений некоторые программы работают лучше, а некоторые хуже, но следует признать также и тот факт, что некоторые программы работать не будут вообще. Это утверждение в первую очередь относится к таким программным продуктам, как игры. Даже при супер параметрах терминального сервера и гигабитной оптоволоконной локальной сети вам врядли удастся поиграть в современный 3D шутер на бездисковом “тонком” клиенте (с другой стороны, отсутствие игр в офисе – это мечта практически любого руководителя). Так же смело можно утверждать, что специальные утилиты для тонкого администрирования и настройки обычного ПК вряд ли подойдут в терминальном мире. А использование очень ресурсоемких приложений (трехмерное моделирование, обработка видео, компиляция программного обеспечения и т.п.) вообще лучше не использовать на терминалах, так как отобранные на выполнение этих задач ресурсы центрального процессора сервера негативно скажутся на общей производительности труда остальных пользователей терминальной локальной среды. Поэтому целесообразно смириться с тем, что часть программного обеспечения не пригодна для использования на терминалах.

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

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

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

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

Если вы счастливый обладатель парка морально устаревших компьютеров, то для вас это станет огромным плюсом при переходе на терминальную основу, так как практически любой старый ПК можно переделать в терминал при минимальных затратах. Терминальный режим работы по сути продлит жизнь вашим компьютерам не на один год. И это при условии, что программное обеспечение будет установлено на них самое современное. Хотя терминальные решения возвращают нас как бы в прошлое (помните “супер” компьютеры размерами с комнату, в институтах в 70-х годах ХХ века), тем не менее они предоставляют реальный шанс использованию морально устаревшей техники для работы с современным программным обеспечением.

Из приведенного выше плюса вытекает еще один, влияние которого очень заметно в долгосрочной перспективе: нет необходимости выполнять постоянную модернизацию клиентских компьютеров. В (апгрейд) информационной технологии, чтобы получать преимущества от работы с современным программным обеспечением необходимо, чтобы и аппаратная часть ему соответствовала. Вспомните системные требования к компьютеру с операционной системой Windows 95: ей вполне хватало 486-го ПК с 8 Мб оперативной памяти, да и “винчестер” в 640 Мб ее также вполне устраивал. С появлением Windows 98 аппаратная “планка” была поднята выше, Windows 2000 – еще выше, и т.д. Исходя из такой тенденции парк компьютерной техники приходится постоянно менять, модернизировать, наращивать оперативную память, ставить быстрые большие жесткие диски и т.п., а все это заканчивается наличием постоянных затрат на обслуживание компьютерной техники. В случае использования терминальных компьютеров, они практически не нуждаются в модернизации, так как все, что нужно, за них делает сервер.

Модернизация сервера конечно необходима, но во-первых, это один компьютер, а во-вторых, его характеристики рассчитываются всегда “с запасом”, чтобы обеспечить приемлемую продуктивность на несколько лет вперед.

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

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

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

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

Как уже упоминалось ранее, у терминала нет той “персональности”, которая всегда была присуща традиционному персональному компьютеру. По сути, это безликие однотипные рабочие станции, которые кроме внешнего вида, мало чем отличаются одна от другой. Пользователю должно быть абсолютно безразлично на каком терминале работать, где бы он ни ввел свое имя и пароль, он всегда получит привычное рабочее окружение. Такая универсальность позволяет пересмотреть подход к организации рабочих или учебных мест, оборудованных компьютерами. Например, в вашей организации 10 человек пользуются компьютерами, но не постоянно, а по мере необходимости. В терминальной среде каждый из них имеет свою учетную запись (имя пользователя и пароль). Следовательно, нет необходимости в закупке 10 терминалов, так как большую часть времени они будут попросту простаивать.

В зависимости от интенсивности использования компьютеров вполне можно будет обойтись 5-6 равноценными терминалами. Универсальность терминалов позволяет также проще относиться к расположению компьютерной техники.

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

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

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

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

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

Для иллюстрации повышенной надежности сохранности данных на терминалах приведу пример выключения электропитания при сохранении документа. Особенно эта ситуация актуальна для пользователей офисного пакета OpenOffice, так как сохраняет данные он довольно медленно. Так вот, представим, что пользователь терминала нажал на кнопку “Сохранить” и ждет завершения сохранения файла, а в этот момент пропадает электроэнергия. Что будет с файлом, который пытался сохранить пользователь? Для традиционного персонального компьютера ответ понятен: в следующий раз, когда пользователь включит компьютер, он увидит старый документ, каким он был до неудачного сохранения. В терминальной среде дела обстоят намного лучше, так как сохранение выполняет сервер к источнику (подключенный бесперебойного питания), и потеря контакта с клиентом не означает остановку выполнения его процессов (прикладных программ), так что файл будет успешно сохранен!

Несмотря на наличие большого числа коммерческого программного обеспечения для организации терминальных сред, в информационной индустрии нашлось место и для совершенно бесплатных проектов. Так, развитие движения за свободно распространяемое программное обеспечение поддерживаемое такими организациями как The Free Software Foundation (сайт http://www.fsf.org) и Open Source Initiative (OSI) (сайт http://www.opensource.org) привело к появления достаточно надежных терминальных решений, например, на базе операционных систем типа Linux (проект Linux Terminal Server Project, детальную информацию смотрите на сайте http://www.ltsp.org). Конечно, противники свободного программного обеспечения всегда могут сказать, что OpenSource не может обеспечить надежность, разнообразие и качество, которое свойственно коммерческим разработкам, но с такой же степенью уверенности можно утверждать, что в целом ряде случаев открытость коллективной разработки и доступность исходного кода конечному потребителю позволяют выявить потенциальные проблемы производительности и безопасности, которые в коммерческих проектах могут остаться долгое время просто незамеченными. Немаловажным фактором остается и бюджетность любого технологического новшества. Хорошо, если организация располагает свободными финансовыми средствами, и готова потратить их на развитие своей информационной структуры. А как быть, если средств в обрез? Неужели отказываться от терминальных решений, выбрасывать старые персоналки и все равно тратить деньги на покупку новых компьютеров? Я лично приветствую развитие свободного программного обеспечения и не вижу ничего страшного в его интенсивном внедрении и использовании, так как на основании личного опыта давно убедился, что в некоторых случаях его надежность значительно выше, чем у коммерческих аналогов (яркий пример язык программирования Perl). По роду своей основной деятельности мне пришлось участвовать в частичном переводе локальной сети предприятия на работу в операционной системе Linux. По-началу у пользователей были значительные трудности с освоением нового программного продукта, особенно много нареканий было на OpenOffice (раньше у всех стоял Microsoft Office), по после 3-х месяцев работы в новых условиях все сотрудники предприятия успешно адаптировались и некоторым из них работа в Linux понравилась даже больше (особенно оценили пользователи функцию виртуальных рабочих столов, когда различные типы задач можно выполнять в разных виртуальных пространствах экрана). Поэтому дешевизна и доступность программного обеспечения терминальных локальных систем является очень важным их преимуществом, и это особенно справедливо в отношении свободно распространяемого программного обеспечения под лицензиями GNU/GPL.

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

Рассмотрим простой пример: вы запускаете текстовый редактор OpenOffice Writer в операционной системе Linux. В моем случае я сравнивал скорость запуска на терминале и традиционном ПК, так вот, обычная персоналка справилась за 15 секунд, а терминал - за 3. Как такое может быть, спросите вы?

Ответ достаточно прост: терминал-сервер мощный компьютер, он имеет быстрый “винчестер”, много оперативной памяти и производительный центральный процессор, поэтому запуск программы на нем выполняется значительно быстрее, а пользователь терминала видит у себя на экране лишь результат работы сервера. И такое увеличение производительности наблюдается практически во всех операциях, будь-то открытие или закрытие файлов, печать на принтере, или выполнение сложных математических вычислений. Единственная область, где терминал проигрывает, это вывод значительных объемов графической информации на экран (например, работа с двухмерной графикой). Следовательно, при выполнении стандартного набора задач, на терминале наблюдается значительное повышение скорости работы прикладных программ, иными словами, пользователю просто становится удобней работать с ним.

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

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

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

При использовании компьютеров мы часто забываем о негативном влиянии этих приборов на здоровье человека. Речь не идет о пресловутой радиации и излучении, здесь имеет место скорее совокупность факторов, таких, как качество монитора, удобство позы, в которой человек проводит свое время за компьютером, постоянный шум от работающего компьютера и т.д. Как было замечено раннее, терминал стоит значительно дешевле, чем традиционный персональный компьютер, а, следовательно, при покупке нового терминала можно больше средств потратить на хороший жидкокристаллический монитор, чтобы у пользователей не уставали от работы глаза. Также фирменные терминалы очень малы в размерах, что позволяет устанавливать их в непригодных для персональных компьютеров места, а стало быть, для пользователя остается больше свободного пространства, что немаловажно в "густонаселенных" офисах. Маломощные процессоры, которые стоят в терминалах, избавляют от необходимости использования активного охлаждения процессора (в большинстве случаев хватает обычного радиатора), также нет там и шумных “винчестеров”, а, как результат, уровень шума значительно ниже чем у традиционного персонального компьютера. Поэтому, при равной стоимости аппаратного обеспечения персонального компьютера и терминала, у последнего качество и безопасность для человека будет на порядок выше.

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

Согласитесь, что обеспечить безопасность одного компьютера (терминального сервера) значительно легче, чем каждого рабочего места в отдельности.

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

Только человек, поработавший на многопользовательском “персональном” компьютере, знает, как важна конфиденциальность личных данных. Например, ты весь день старался, печатал квартальный отчет, а какой-то нерадивый коллега взял и стер всю папку вместе с результатами твоего титанического труда. В терминальных средах к разграничению пользовательских данных подходят значительно серьезней, так как отсутствие такого контроля может привести к выходу всей системы из строя. А, стало быть, работая на терминале, можно не бояться того, что ваши личные данные станут достоянием ваших коллег. Конечно, остаются системные администраторы, но куда ж без них.

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

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

Терминал-сервер может одновременно быть еще и файл-сервером, сервером печати, интернет-сервером, контроллером домена, DNS-сервером, почтовым сервером, прокси-сервером, ftp-сервером и даже веб-сервером. Конечно, можно поспорить о целесообразности совмещения всевозможных серверных приложений на одном компьютере, но почему нет? С другой стороны, терминал-сервер может заняться параллельно и другой полезной работой, например, учетом статистики телефонных переговоров офисной АТС. В любом случае на терминал сервер можно возложить выполнение большого количества дополнительных задач.

Обобщая недостатки и преимущества терминальных компьютерных сетей, хочется еще раз остановиться на вопросе сферы применения данной технологии. Положительное или отрицательное восприятие бездисковых сетевых компьютеров зависит от угла зрения на данную проблему. Чтобы успешно применять технологию “тонких” клиентов на практике, давайте с энтузиазмом смотреть на присущие ей преимущества, но в то же время не забывать о существующих трудностях и подводных камнях использования терминалов.

Чтобы сделать сравнение положительных и отрицательных сторон использования терминального подхода, ниже в таблице приведена обобщающая схема “За” и “Против”:

–  –  –

использование морально устаревшей техники для работы с современным программным требует администрирования обеспечением – по сути, “вторая жизнь” ваших старых компьютеров

–  –  –

качество и безопасность терминалов для человека на порядок выше, чему обычных ПК защищать информацию от несанкционированного доступа значительно проще разграничение личных и общих данных в терминальной среде осуществляется проще, удобнее и с большей степенью безопасности на терминал сервер можно возложить выполнение большого количества дополнительных задач Общие сведения о используемых протоколах (TFTP, DHCP, NFS, UDP, TCP/IP, SSH) Работа сетевых протоколов не зависит от нашего знания о них. Но если вы хорошо разбираетесь в принципах их функционирования, то это позволит настроить их на оптимальную производительность в соответствии с вашими потребностями. В любом случае, базовые теоретические знания не помешают.

В данной главе я хочу бегло познакомить вас с основными сетевыми протоколами, которые применяются для обеспечения работы терминальных решений. Основное внимание здесь уделяется протоколам с открытыми стандартами, которые получили наибольшее распространение. Начнем наш краткий экскурс в сетевые протоколы с рассмотрения такого обобщенного понятия как семейство протоколов TCP/IP.

В него входят:

IP IP (Internet Protocol – протокол Интернета) был первоначально разработан в конце 70-х годов и, конечно, не был рассчитан на такую популярность.

Главным ограничением протокола IPv4, как его сейчас принято называть, является ограниченность количества узлов сети (хостов). Так, для IPv4 максимальное теоретическое количество хостов не может превышать 4 миллиардов (232), а на практике это значение еще меньше. Исходя из такого ограничения, был разработан новый стандарт протокола IPv6, который уже утвержден, но, к сожалению, еще не получил широкого распространения. В новой версии протокола IP используются более длинные адреса в 16 байт (вместо 4 для IPv4), применяется гибкий формат заголовка, поддерживается резервирование пропускной способности, а также внедрена поддержка расширяемости протокола (добавление новых функций).

ICMP ICMP (Internet Control Message Protocol– межсетевой протокол управления сообщениями) предназначен для передачи низкоуровневых сообщений, например, сообщений об ошибках. Наиболее распространенное применение протокола ICMP – это, наверное, утилита ping, при помощи которой можно проверить функционирование сетевого интерфейса. Как и многие другие сервисные средства, ICMP стал инструментом хакерских атак на узлы Интернет, поэтому знание данного протокола может особенно пригодиться для защиты локальной сети от внешнего вторжения.

ARP ARP (Address Resolution Protocol – протокол преобразования адресов) служит для определения соответствия MAC-адресов IP-адресам. Применяется ARP только в пределах одной сети.

RARP RARP (Reverse Address Resolution Protocol – обратный протокол преобразования адресов) служит для определения соответствия IP-адреса МАСадресу сетевого устройства. По сути, он выполняет операцию, обратную протоколу ARP. Как и для ARP, RARP применяется только в пределах одной сети.

TCP TCP (Transmission Control Protocol – протокол управления передачей ). TCP

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

UDP UDP (User Datagram Protocol – протокол пользовательских датаграмм), так же как и протокол TCP, обеспечивает пересылку данных (то есть является протоколом транспортного уровня), но в отличие от последнего он не выполняет проверку получения данных. Для подтверждения получения данных должны уже заботятся протоколы уровня приложений, которые используют данный транспортный протокол. По сравнению с TCP, UDP-протокол обеспечивает более высокую скорость передачи данных, но не гарантирует надежность доставки. Применяется UDP при передачи звука и видео через Интернет (если допускаются искажения информации, но важна скорость), сервером DNS, протоколом NTP (синхронизация времени через Интернет), а также протоколом передачи файлов TFTP.

Совершенно другую группу представляют протоколы уровня приложений.

В организации распределенных терминальных компьютерных сетей применяют в частности такие протоколы, как NFS, TFTP, DHCP, SSH. Эти протоколы являются протоколами более высокого уровня и в своей работе полагаются на уже существующие протоколы транспортного уровня, такие как TCP/IP и UDP/IP.

NFS NFS (Network File System – сетевая файловая система). Этот протокол был разработан фирмой для Sun Microsystems (сайт http://www.sun.com) обеспечения доступа к файлам и каталогам удаленного сервера. В основном используется UNIX-подобными операционными системами, хотя существуют его реализации и для других ОС. В терминальных решениях получил распространение благодаря возможности удаленной загрузки операционной системы через локальную сеть. В качестве транспортного уровня применяется протокол UDP или реже TCP. Принцип использования данного протокола довольно прост: на сервере выделяются каталоги для экспортирования (общего использования) в локальной сети. К сожалению, данный протокол лишен средств защиты от несанкционированного доступа и не имеет в себе способов аутентификации пользователей. Разграничение доступа осуществляется только по доменным именам или IP-адресам компьютеров в сети. Пользователи принимаются по их идентификационным номерам, что требует дополнительного использования таких средств как NIS или LDAP. Попробую объяснить это более детально. Представьте ситуацию, что на сервере NFS экспортируется домашний каталог /home/masha пользователя masha, с идентификатором пользователя UID=507. Проблема безопасности в модели доступа NFS заключается в том, что если подключается компьютер с пользователем petya, у которого такой же UID=507, то он получит полный доступ к домашнему каталогу /home/masha, так как сервер будет считать, что это пользователь masha. Исходя из таких ограничений, NFS можно применять только в надежных сетях, то есть там, где вы точно доверяете пользователю удаленного компьютера.

TFTP TFTP (Trivial File Transfer Protocol – тривиальный протокол передачи файлов) предназначен для передачи файлов по сети с использованием транспортного протокола UDP. В терминальных сетях он применяется для начальной загрузки ядра операционной системы. Использование в качестве транспортного протокола UDP накладывает определенные ограничения на качество соединения, но зато позволяет сделать программную реализацию протокола TFTP очень маленького размера. Например, загрузочная программа может поместиться в 8 Кбайт памяти BootROM сетевой карты. Конечно, столь малые размеры и простоту данного протокола компенсирует его низкая безопасность, поэтому применять данный протокол также рекомендуется только в проверенных сетях.

DHCP DHCP (Dynamic Host Configuration Protocol – протокол динамического конфигурирования хостов). Данный протокол предназначен для передачи уникальных параметров конфигурации от сервера DHCP клиентам. К числу таких параметров относится, например, IP-адрес сетевого адаптера, который часто привязан к МАС-адресу. В терминальных решениях на данный протокол возлагают также обязанности передачи клиенту дополнительных данных, таких, как название и расположение загрузочного образа операционной системы, специфические параметры работы с сетевой картой или параметры удаленной загрузки. Практически незаменимым данный протокол является в больших локальный сетях, так как ручное конфигурирование сетевых интерфейсов превращается в них в сущий кошмар.

SSH SSH (Secure SHell – протокол защищенной оболочки) предназначен для выполнения команд на удаленной машине. Механизм аутентификации этого протокола обладает повышенной безопасностью, так как данные в зашифрованном виде передаются через общедоступную сеть. Кроме этого, данный протокол поддерживает сжатие пересылаемых данных и обработку графической информации через поддержку протокола X-Windows. Несмотря на то, что программное обеспечения SSH защищено патентами, существует его свободная реализация которая обладает практически всеми OpenSSH, преимуществами коммерческой версии данного программного продукта.

Администрирование и сопровождение терминальной инфраструктуры Как наверное всегда, с одной стороны, администрирование терминальной инфраструктуры проще, а с другой – сложнее.

Начнем обзор сложности администрирования бездисковых рабочих станций. Как уже было сказано выше, сам терминал в обслуживании практически не нуждается, так как никакой полезной информации в нем нет, а следовательно, ломаться там просто нечему. Для внесения изменений в параметры работы бездискового терминала используется программное обеспечение сервера. Главная сложность при этом состоит в том, что сервер нельзя выключать и перегружать, так как это может отразиться на работе других пользователей: их терминалы просто выключатся. Эта ключевая, на мой взгляд особенность, заставляет системных администраторов по другому осуществлять свою деятельность. Например, обычно системный администратор начинает вносить изменения в систему когда что-то перестает работать. В среде терминалов ему нужно заранее планировать все свои мероприятия так, чтобы внесения изменений не затронули работающих пользователей. Один из вариантов решения данной проблемы - перенос рабочего дня администратора на выходной день и применение средств автоматического реконфигурирования в нерабочее время (например, выполнение задач crontab).

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

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

Следовательно, системные администраторы серверов должны своевременно выявлять такие программы и освобождать используемые ими ресурсы. Хорошо было бы настроить эту работу по сборке “мусора” полностью в автоматическом режиме без человеческого вмешательства. Но иногда вам все же придется в ручную проверять результаты работы такой системы, хотя бы из соображений контроля.

Также не следует забывать и о удаленных пользователях терминалов.

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

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

Так, в моей практике был случай, когда пользователь компьютера вытащил из гнезда сетевой карты сетевой кабель (RJ-45) и пытался засунуть туда телефонный провод (RJ-12), и самое удивительное, что у него это получилось!

Обнаружил я это лишь после того, как этот же пользователь озадачил меня вопросом: “Почему я на сетевом принтере напечатать ничего не могу?”. Если бы он работал на терминале, то извлечение сетевого кабеля привело бы к немедленной остановке его работы, так как связь с сервером была бы потеряна.

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

Вообще, работа системных администраторов (не только тех, кто обслуживает терминальные системы) схожа с функционированием коммунальных служб. Пока все работает, про них не вспоминают, а как только что-то перестало функционировать: крики, вопли где сисадмин. Конечно, и сам системный администратор тоже должен осознавать эту схожеть, и постоянно выполнять профилактические мероприятия, планировать свои действия наперед, предвидеть возможные потенциальные проблемы. Так как известно, что если долго не менять трубу, рано или поздно случится авария. В одной книге, посвященной системному администрированию операционной системы Linux, я встретил цитату человека, уже не первый год занимающегося выполнением функций системного администратора. Так вот, на вопрос, что его привлекает в этой работе он ответил: “Если бы я хотел спокойную работу, то стал бы авиадиспетчером.” Доля истины есть в его словах, так как в информационных технологиях все очень быстротечно, и от системного администратора требуется способность к быстрому принятию правильных решений, а также наличие способностей прогнозирования и выявления узких мест информационной системы, а также их оперативная ликвидация, причем в идеальном варианте, еще до того времени, когда они станут очевидны пользователям.

Но не будем о грустном. У администрирования терминальных решений есть и много плюсов. Главный из них, возможность концентрации усилий фактически только на одном компьютере – терминал сервере. Терминалы сами по себе, довольно безобидные и “безмозглые” создания, и воспринимать их нужно не более чем связку сетевого адаптера, монитора, “мышки” и клавиатуры. Основная работа выполняется на сервере, а следовательно, и администрировать нужно только его.

Упрощается и работа системного администратора с аппаратным обеспечением клиентов, так как вышедший из строя терминал заменяется довольно крупными элементами (монитор, клавиатура, “мышь” или системный блок). Имея в своем распоряжении запасной терминал, можно всегда оперативно реагировать на отказ работы клиентского оборудования. А если в отделе много терминалов, то пользователи для работы могут использовать любые из них. При замене оборудования, не нужно думать о переносе локальных файлов, восстановлении поврежденной информации с жестких дисков, и тому подобных ужасах, так как все данные хранятся на сервереи установка или использование нового терминала позволяет пользователю получить мгновенный доступ к его личным данным.

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

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

Часть II. X-терминалы Глава 2. Общие сведения о Х-терминалах Как это работает (краткое описание процесса работы и загрузки) Из первой части книги вы узнали как и зачем появились бездисковые клиенты и откуда взялось понятие удаленной загрузки. Если немного пофантазировать в этом направлении, то в недалеком будущем мы вполне можем иметь ситуацию, когда просто не останется обычных персональных компьютеров. Представьте себе, что придя домой или на работу в офис, вы включаете свой компьютер не в локальную сеть, а сразу в глобальный Интернет (или как он там будет в будущем называться). Интернет к тому времени станет таким всепоглощающим, что заменит собой все телекоммуникации. То есть вместо телевидения и телефонной связи останется одна глобальная компьютерная сеть, причем такой пропускной способности, что просто не будет необходимости в жестких дисках, в локальном хранении информации отпадет надобность. Теперь хоть дома, хоть на работе вы будете имееть возможность работать со своими документами, более того вам не нужно заботиться о модернизации своего компьютера, так как всю информацию будет обрабатывать удаленный сервер, а ваш персональный компьютер только посылать ему команды и принимать от него ответы. Фактически главными компонентами компьютера станут монитор, клавиатура и “мышка” (скорее всего аналогичные устройства из будущего, такие как голографический монитор и устройства речевого ввода). К тому времени все программное обеспечение будет бесплатным, так как информация должна быть свободно доступной, а корпорация Microsoft объявит о своем банкротстве... Так, стоп.

Что-то я чересчур расфантазировался. Однако если тщательно всмотреться в компьютер будущего из моей фантазии, то в принципиальном плане он очень сильно напоминает Х-терминал. А так как теоретически вы знаете на что это должно быть похоже, не будем останавливаться на пройденном и перейдем к реальному использованию Х-терминалов с операционной системой Linux.

Работа Х-терминала в Linux несколько отличается от работы бездисковых компьютеров в других операционных системах. Для использования Хтерминальных решений требуется: настроенный Х-терминал сервер, локальная сеть и Х-терминал клиенты. Когда пользователь включает Х-терминал (клиентский компьютер) на нем автоматически запускается загрузочная программа, которая рассылает широковещательные запросы с целью получения информации от сервера (IP-адрес, ядро для загрузки по сети и т.п.). Сервер Хтерминалов откликается на этот запрос и отсылает требуемую информацию Хтерминал клиенту. Далее через локальную сеть на Х-терминал клиент загружается с сервера, а затем и запускается ядро Linux, скомпилированное особым образом. Ядро выполняет на Х-терминал клиенте привычную для него работу: инициализирует устройства, распределяет память, протоколирует все системные сообщения и т.д. После того как ядро полностью вступило во владение Х-терминалом, инициализирующий скрипт монтирует по сети корневую файловую систему сервера. То есть фактически вместо локального жесткого диска в распоряжение Х-терминала поступает жесткий диск (диски) сервера. Теперь именно с сервера загружается Х-сервер системы X-Windows, но выполняется он на локальном оборудовании Х-терминала. Затем он подключается к Х-серверу терминального сервера для удаленного запуска приложений.

Этот процесс удаленных подключений необходимо пояснить более детально. Например, вы работая на Х-терминале запустили браузер Mozilla.

Реально происходит следующее: Mozilla запустился на сервере, но свои окошки через Х-протокол он отрисовывает на Х-терминале клиента. Этот пример и объясняет низкие требования к аппаратному обеспечению оборудования Хтерминала. Основная работа Х-терминала фактически заключается в обработке сетевых подключений и отрисовке на экране программных окошек. Дисковое пространство, оперативная память, использование центрального процессора – все это Х-терминал берет от сервера. Практически, Х-терминал - это реальное воплощение давней мечта всех пользователей персональных компьютеров, которые задавали вопрос: "Как подключить к компьютеру второй монитор и вторую клавиатуру?".

Описать насколько продуктивно работает Х-терминал однозначно не получиться. Лучше один раз увидеть (например, я пишу эти строки используя Х-терминал, а реальный пример внедрения Х-терминальной сети вы найдете в приложении). Если быть кратким, то Х-терминал имеет легкий системный блок, быстро загружается и не боится перебоев в электропитании. Практически все программы запускаются на нем также как и на обычном персональном компьютере составляют программные пакеты интенсивно (исключение использующие графику, например, Gimp). Так как программы выполняются на сервере, а аппаратные возможности сервера значительно превосходят параметры рядового персонального компьютера, то получается, что программы на Х-терминале выполняются быстрее, а следовательно работать на нем удобнее.

Не всегда нужно использовать удаленную загрузку именно для Хтерминалов работающих в графическом режиме. Терминал можно использовать и в текстовом режиме, правда в таком роле он больше подходит для функций системного администрирования нежели для обычной работы (а если признаться откровенно, то администрировать из Х-Windows удобнее: запустил xterm и вперед).

Многие могут подумать, что для работы Х-терминалу требуется локальная сеть супер качества. Сразу скажу, что это не так, но желательно наличие хорошей локальной сети Fast Ethernet 100 Мбит/с (хотя в моей практике Хтерминалы работали и по коаксиальному кабелю 10 Мбит/с в полудуплексном режиме “Half Duplex”). Для того, чтобы проверить зависимость Х-терминала от помех в локальной сети, я для эксперимента взял и отсоединил работающий Хтерминал от сетевого кабеля. Как результат на экране Х-терминала все замерло, только мышка продолжала реагировать на действия пользователя. Через пару минут я подключил сетевой кабель обратно. После 10 секундной паузы Хтерминал продолжил работу как ни в чем не бывало. Для очистки совести должен признаться, что если отключить работающий Х-терминал от сети на очень длительное время, то шанс его "реанимировать" простым подключением к локальной сети достаточно невелик. Скорее всего в этом случае лучше поможет его перезагрузка.

Удаленный запуск консольных программ Если у вас возникли вопросы касательно надежности и эффективности удаленного запуска приложений, сейчас самое время проверить их в действии.

В принципе, проверить удаленный запуск можно и на одном компьютере через сетевой интерфейс обратной петли (lo), но лучше все же задействовать локальную сеть, а следовательно для проверки нам понадобятся два компьютера.

Самая на мой взгляд незаслуженно распространенная программа удаленного доступа – это telnet. Именно незаслуженно, потому что она передает по сети данные (в частности имя пользователя и пароль) в не зашифрованном виде. Имея такую огромную дыру в безопасности она быстро нашла своего безопасного приемника SSH (Secure SHell – защищенная оболочка). На самом деле ssh скорее замена для rlogin и rsh, но не будем придираться к словам, а перейдем к практике. Именно на примере ssh и рассмотрим пример запуска удаленных приложений.

Один из компьютеров будет сервером, а другой клиентом. На сервере необходимо проверить установку серверных пакетов свободной реализации SSH – OpenSSH.

Делаем это командой (примеры данной главы ориентированы на дистрибутивы операционной системы Linux, которые используют менеджер пакетов RPM, в частности ASPLinux 9.0):

$ rpm -qa | grep ssh openssh-clients-3.6.1p1-1.1asp openssh-3.6.1p1-1.1asp openssh-askpass-gnome-3.6.1p1-1.1asp openssh-server-3.6.1p1-1.1asp openssh-askpass-3.6.1p1-1.1asp Если вы увидели что-то подобное у себя на экране значит пакет ssh-server у вас установлен и достаточно лишь проверить его конфигурацию. Если пакеты OpenSSH на вашем компьютере отсутствуют, то самое время их установить на сервер:

# rpm -ihv openssh-3.6.1p1-1.1asp # rpm -ihv openssh-server-3.6.1p1-1.1asp Сервер-демон sshd настраивается достаточно просто: редактированием файла /etc/ssh/sshd_config. Ниже приводится пример содержимого файла /etc/ssh/sshd_config:

# $OpenBSD: sshd_config,v 1.59 2002/09/25 11:17:16 markus Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options change a # default value.

#Port 22 #Protocol 2,1 #ListenAddress 0.0.0.0 #ListenAddress ::

# HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key # Lifetime and size of ephemeral version 1 server key #KeyRegenerationInterval 3600 #ServerKeyBits 768 # Logging #obsoletes QuietMode and FascistLogging #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO # Authentication:

#LoginGraceTime 120 #PermitRootLogin yes #StrictModes yes #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile.ssh/authorized_keys # rhosts authentication should not be used #RhostsAuthentication no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #RhostsRSAAuthentication no # similar for protocol version 2 #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # RhostsRSAAuthentication and HostbasedAuthentication #IgnoreUserKnownHosts no # To disable tunneled clear text passwords, change to no here!

#PasswordAuthentication yes #PermitEmptyPasswords no # Change to no to disable s/key passwords #ChallengeResponseAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #AFSTokenPassing no # Kerberos TGT Passing only works with the AFS kaserver #KerberosTgtPassing no # Set this to 'yes' to enable PAM keyboard-interactive authentication # Warning: enabling this may bypass the setting of 'PasswordAuthentication' #PAMAuthenticationViaKbdInt no #X11Forwarding no X11Forwarding yes #X11DisplayOffset 10 #X11UseLocalhost yes #PrintMotd yes #PrintLastLog yes #KeepAlive yes #UseLogin no #UsePrivilegeSeparation yes #PermitUserEnvironment no #Compression yes #MaxStartups 10 # no default banner path #Banner /some/path #VerifyReverseMapping no # override default of no subsystems Subsystem sftp /usr/libexec/openssh/sftp-server В этом файле используются практически все значения по умолчанию, за исключением “X11Forwarding yes”, но это для запуска Х-приложений. Как видите настраивать практически ничего не пришлось. Теперь проверяем работает ли демон sshd:

$ ps aux | grep sshd root 712 0.0 0.0 3572 60 ? S Sep24 0:01 /usr/sbin/sshd mikola 10794 0.0 0.0 3764 596 pts/1 S 09:30 0:00 grep sshd

Если работает, то все нормально. Если нет, запускаем его:

# /sbin/service sshd start Настройка сервера закончена. Теперь переходим к настройке клиента. Для начала проверяем установлена ли клиентская часть пакета OpenSSH: нас в частности интересуют пакеты openssh-clients и openssh. Если таких пакетов на импровизированном клиентском компьютере нет, самое время их установить:

# rpm -ihv openssh-3.6.1p1-1.1asp # rpm -ihv openssh-clients-3.6.1p1-1.1asp Надеюсь понятно, что в вашем любимом дистрибутиве операционной системы Linux расположение и версии этих пакетов могут значительно отличатся, но суть необходимости их установки от этого не измениться. Теперь вам доступна консольная команду удаленного подключения к серверу – ssh.

Синтаксис использования ssh очень простой, достаточно лишь знать доменное имя или IP-адрес сервера.

Например, сервер к которому подключаюсь я имеет IP-адрес 192.168.0.20, поэтому я использую такую простую команду:

$ ssh 192.168.0.20 При первом подключении к серверу вам потребуется создать пару ключей и на экране вы увидите нечто подобное:

The authenticity of host '192.168.0.20 (192.168.0.20)' can't be established.

RSA key fingerprint is 92:00:65:d2:53:90:ec:42:69:0b:d0:97:51:24:5f:ed.

Are you sure you want to continue connecting (yes/no)?

Следует согласиться с предложением программы и набрать “yes”.

После секундной паузы вы увидите на экране приглашение для ввода пароля пользователя удаленного сервера:

Warning: Permanently added '192.168.0.20' (RSA) to the list of known hosts.

pasha@192.168.0.20's password:

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

Если и это вас не очень убедило (наверное я имею дело с настоящим скептиком), выполните команду проверки сетевых интерфейсов:

$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:00:21:26:18:3B inet addr:192.168.0.20 Bcast:192.168.0.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:9052 errors:0 dropped:0 overruns:0 frame:0

TX packets:8408 errors:0 dropped:0 overruns:0 carrier:0

collisions:738 txqueuelen:100 RX bytes:6448118 (6.1 Mb) TX bytes:1242932 (1.1 Mb) Interrupt:9 Base address:0xe400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:251 errors:0 dropped:0 overruns:0 frame:0

TX packets:251 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:381023 (372.0 Kb) TX bytes:381023 (372.0 Kb) Как видите, IP-адрес сетевой карты (192.168.0.20) указывает на то, что вы действительно работаете на удаленном компьютере. Теперь вы можете запускать практически любое консольное приложение удаленного сервера, например мой любимый файловый менеджер Midnight Commander (см. рис.

2.1).

Рис. 2.1. Пример запуска Midnight Commander на удаленном компьютере Возможности применения удаленного доступа довольно обширны. Так им постоянно пользуются системные администраторы для изменения параметров компьютеров пользователей. Не секрет, что сисадмины по своей природе народ ленивый и им совсем не хочется делать лишние телодвижения, поэтому им очень нравятся утилиты на подобие Также через удобно ssh. ssh администрировать удаленные серверы через Интернет. Иными словами удаленный доступ штука хорошая и нет никакой необходимости ограничивать его возможностями консольных приложений. Далее из этой книги вы узнаете как запускать на удаленном компьютере приложения с графическим интерфейсом системы X-Windows.

Следует помнить, что для ограничение доступа через протокол SSH в файле /etc/ssh/sshd_config могут использоваться параметры AllowGroups и AllowUsers, а также DenyGroups и DenyUsers. Из соображений системной безопасности целесообразно предоставлять доступ по SSH только тем пользователям, которым он действительно нужен, а не оставлять право удаленного входа для всех пользователей, как это сделано по умолчанию. Если при использовании команды ssh вы столкнулись с проблемами доступа по сети к удаленному серверу, то в первую очередь следует проверить наличие параметров ограничивающих доступ в файле /etc/ssh/sshd_config. Если это не помогло, то нужно обратить внимание на правильность ввода пароля пользователя, а также посмотреть настройки межсетевого экрана (firewall), на предмет блокирования портов с номерами 22, 513-1023.

Х-терминалы – бездисковые клиенты Х-Windows Для нормальной работы современному пользователю нужна среда с графическим интерфейсом, время консольных редакторов и MS DOS кануло в лету. Так как операционная система Linux не имеет своей собственной графической подсистемы, то приходится довольствоваться проектом системы X-Windows. И проект X-Windows не смотря на приличную историю развития (в информационных технологиях время иногда только вредит) имеет неоспоримые идеологические преимущества. Главным из которых является клиент-серверная архитектура. Зарождаясь во времена мейнфреймов, Хпротокол распределял нагрузку между Х-сервером и Х-клиентом, что собственно и требуется сейчас для работы Х-терминала.

Итак, для того чтобы понять преимущества архитектуры клиент-сервер системы X-Windows, давайте рассмотрим на примере, что происходит при запуске обычного графического приложения:

Пользователь отдает команду запустить программу;

Операционная система считывает з диска код программы и начинает выполнять его;

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

Так вот, персональный компьютер, который выполняет эту программу тратит все свои ресурсы как на полезный код (то что действительно выполняет программа без учета ее интерфейса) так и на графическую подсистему (рисование окошек на экране) и нельзя сказать, что графическая подсистема не влияет на скорость выполнения программы. В Х-терминальном варианте все перечисленные операции выполняет сервер, а Х-терминал только отображает графическую информацию. То есть, по большому счету, Х-терминал выполняет одну программу – сервер X-Windows, в обязанности которой входит лишь обслуживание графической подсистемы. Такие ограниченные функциональные обязанности значительно снижают требования к аппаратной базе для Хтерминалов, а круг выполняемых на них задач зависит лишь от пропускной способности сети и мощности сервера.

В графических системах отличных от Х-Windows такой трюк не получиться, так как их протоколы не рассчитаны на использование структуры клиент-сервер, а следовательно эффективность удаленного запуска графических приложений будет ниже (как вы уже знаете, удаленная работа в операционных системах не использующих X Window System более чем возможна, но соревноваться с Х им очень тяжело).

Удаленный запуск GUI-приложений (XForwarding) Только для того, чтобы вы поверили какая все-таки Х-терминал крутая штука, я покажу вам как запускать Х-приложения на удаленном компьютере.

Когда лично я впервые увидел как это работает, то в очередной раз убедился что за операционной системой Linux будущее.

Для запуска нам понадобится все та же утилита ssh и возможно пакет openssh-askpass (для ввода пароля Х-программ).

Установим на клиентский компьютер пакет openssh-askpass, если он уже не установлен:

# rpm -ihv openssh-askpass-3.6.1p1-1.1asp На сервере в файле /etc/ssh/sshd_config необходимо также добавить строчку “X11Forwarding yes” и перезапустить демон sshd:

# /sbin/service sshd restart Shutting down sshd: [ OK ] Starting sshd: [ OK ] Теперь с клиентского компьютера давайте запустим графическую программу, например, konqueror. Для этого достаточно набрать такую команду:

$ ssh -X -l mikola 192.168.0.20 В данном случае параметр -X означает принудительную поддержку клиентом Х-протокола, так называемый "x-forwarding", а параметр -l mikola – пользователя удаленного компьютера (mikola). Если на удаленном компьютере имя пользователя совпадает с вашим текущим, то параметр -l использовать не нужно. Вводим на запрос системы пароль и попадаем в удаленную систему.

Теперь набираем команду запуска файлового менеджера:

$ konqueror И на вашем рабочем столе появится окошко Konqueror (см. рис. 2.2.).

Рис. 2.2. Пример запуска программы с графическим интерфейсом (konqueror) на удаленном компьютере Если оконный менеджер KDE не установлен на вашем импровизированном сервере, не беда, подойдет любая Х-программа. Попробуйте запустить любое приложение с графическим интерфейсом и попробовать поработать с ним. Вам понравится скорость и удобство работы, а также та легкость доступа к информации на удаленном компьютере.

Глава 3. X-Windows Описание X-протокола Графическая система X-Windows для своих нужд использует Х-протокол, который был разработан в середине 1980-го года для обеспечения прозрачного сетевого доступа к графическому интерфейсу пользователя и был ориентирован преимущественно на операционный системы семейства UNIX.

Х-протокол предоставляет управление графической информацией подобно другим альтернативным системам, наиболее известными из которых являются Microsoft Windows и Presentation Manager компании IBM.

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

Для обеспечения масштабируемости и переносимости системы X-Windows на различные аппаратные платформы Х-протокол состоит из 2-х уровней:

аппаратно-независимого и аппаратно-зависимого рис. Такая (см. 3.1).

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

Рис. 3.1. Два уровня Х-протокола Х-протокол устанавливает клиент-серверные отношения между приложением и дисплеем (конечным интерфейсом пользователя). Такой подход позволяет приложению (Х-клиенту) дистанционироваться от дисплея (Хсервера). Х-протокол определяет также общий оконный пользовательский интерфейс в сочетании с асинхронной передачей информации через локальную сеть между Х-клиентом и Х-сервером. В результате конечный пользователь имеет практически полное отделение аппаратно-зависимого уровня и особенностей реализации операционной системы от графического пользовательского интерфейса. Тем самым Х-протокол скрывает аппаратный уровень от реализации Х-клиента, что значительно облегчает его разработку и способствует легкому портированию Х-клиентов. Схематически структуру работы Х-протокола для конечного пользователя и разработчика можно представить, как изображено на рис. 3.2.

Рис. 3.2. Схема работы Х-протокола между Х-клиентом и Х-сервером

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

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

Х-сервер хорошо переносится на различные аппаратные платформы и операционные системы;

Х-клиенты также имеют высокую степень переносимости (кросплатформенность);

Х-протокол может работать совместно с любым потоковым транспортным протоколом: локальным или удаленным;

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

Конечно Х-протокол далеко не идеален, и его использование сопряжено с целым рядом сложностей, которые и привели к появлению таких графических надстроек как Qt и Gtk. Сказывается и почтенный возраст X-Windows, так как зарождаясь на заре появления графических интерфейсов, она разумеется не могла досконально отобразить потребности современного пользователя компьютера.

Следует также сказать, что X Window System - один из самых больших и успешных проектов в истории компьютерной техники. Исторически сложилось, что два разработчика систем компьютерной графики – проект Athena (MIT) и W Windowing (Стэнфорд) - решили объединить свои усилия. В 1987 году официальным разработчиком системы стал X Consortium, который позже был переименован в X Open Group (официальный сайт проекта http://www.x.org).

Архитектура X-Windows Фундаментальность построения Х-Windows заключается в том, что изначально эта система была рассчитана на удаленное взаимодействие своих компонентов. Только представьте, какой это огромный потенциал, учитывая, что проект развивается уже более 15 лет. Опираясь на разные сетевые протоколы транспортного уровня, X-Windows может легко туннелировать соединения Х-сервера и Х-клиента, а также возможно даже туннелирование взаимодействий оборудования с Х-сервером. Это означает, что кроме привычной удаленной работы Х-сервера и Х-клиента, возможно удаленное взаимодействие отдельных аппаратных компонентов данной системы. Проще говоря, монитор может находиться в одной комнате, клавиатура – в другой, а “мышка” - в другом городе (как говорится бессмысленно, но зато практически возможно).

На словах это звучит красиво, а на практике конечно же все гораздо более скромно. В использовании Х-Windows чувствуется архаизм, который сопровождает любой проект со столь почтенной историей. Да это и понятно, так как нужно соблюдать совместимость с программными продуктами, написанными для предыдущих версий Х. Значительно помогают преодолеть этот недостаток современные оконные менеджеры. “Голый” Х-сервер, к счастью или к сожалению, не имеет функций для работы с пользователем. В его состав не входят ни рабочий стол, ни панель задач, ни главное меню. Все эти функции реализованы в оконном менеджере (например, KDE, Gnome, IceWM, XFce и т.д.), который в свою очередь взаимодействует с менеджером дисплея (например, xdm, gdm или kdm). И менеджер окон и менеджер дисплея являются Х-клиентами, которые обеспечивают необходимую для пользователя функциональность компьютера. Другими словами, современная система Хпредставляет из себя многослойную структуру с большим Windows количеством программ-посредников (см. рис. 3.3).

Рис. 3.3. Структура Х-Windows Другим важным отличием системы X-Windows является то, что она не есть частью операционной системы, а фактически запускается как приложение. Эта особенность позволяет использовать ее вместе со встроенными в операционную систему графическими интерфейсами. К тому же, такой подход изолирует интерфейс пользователя от ядра операционной системы и тем самым повышает его надежность.

X-сервер и X-клиент Как уже было сказано ранее, в X Windows System информационный обмен осуществляется между Х-клиентом и Х-сервером. Давайте рассмотрим более детально эти две составляющие. Программное обеспечение, которое управляет монитором, и клавиатурой, принято называть Х-сервером.

“мышкой” Приложения, результат работы которых отображается Х-сервером, называются Х-клиентами. Х-клиент отсылает запросы Х-серверу, а Х-сервер, который может одновременно работать с несколькими Х-клиентами, отвечает Х-клиенту нужной информацией, например, пользовательским вводом или возникшими ошибками.

Х-сервер Особенностью Х-сервера является то, что он всегда запускается локально, то есть на том компьютере (терминале), на котором работает пользователь.

В функции Х-сервера входит:

Отображение на экране визуальной информации;

Ответы на информационные запросы пользователя;

Реагирование на ошибки при выполнении запросов;

Управление клавиатурой, “мышкой” и монитором как локально, так и по сети;

Создание, управление и удаление окон (отображение в окнах графической информации).

Х-сервер может отображать окна различных Х-клиентов, в том числе и запущенных на разных компьютерах.

Х-клиент Х-клиент,как правило, работает в тесной взаимосвязи с графической библиотекой (например, Xlib) для обработки запросов Х-протокола.

Наиболее распространенными его функциями являются:

отправка сообщений Х-серверу (например, запрос на рисование линии на экране);

обработка событий, поступающих от Х-сервера (например, события от “мыши” и клавиатуры);

получение ошибок от Х-сервера (например, ошибка доступа к удаленному серверу).

И Х-клиент и Х-сервер взаимодействуют посредством Х-протокола, которому свойственны такие составляющие компоненты, как: запросы, ответы, события и сообщения об ошибках.

Запросы Х-клиент направляет запросы Х-серверу, на выполнение определенных операций (например, запрос создания окна);

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

Х-запросы всегда кратны 4-м байтам.

Ответы Х-сервер отличает запросы, которые требуют ответа, и отвечает на них.

Как было уже сказано выше, из соображений производительности далеко не все запросы требуют ответов;

Х-ответ также, как и Х-запрос, кратен 4-м байтам, но всегда не меньше 32х байт.

События Х-сервер пересылает Х-события клиентам, которые их ожидают. Это может быть ввод с клавиатуры или управление “мышкой”. Для минимизации сетевого трафика, Х-клиентам отсылаются только ожидаемые события;

Длина Х-событий всегда 32 байта.

Сообщения об ошибках Х-сервер может отвечать сообщениями об ошибках на запросы Хклиентов. Сообщения об ошибках очень схожи с событиями, но по другому обрабатываются;

Длина сообщения об ошибке 32 байта, и отправляется она специальной подпрограмме Х-клиента, которая предназначена для обработки Х-ошибок.

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

Если анализировать особенности аппаратно-зависимого уровня Х-сервера, то ему свойственны:

адаптация Х-сервера к выбранной платформе;

учет порядка следования байтов и модификация его между компьютерами с разным порядком (MSB and LSB). Порядок следования байт учитывается при выполнении каждого Х-запроса;

маскирование отличий аппаратного обеспечения и особенностей реализации операционных систем от Х-клиентов;

работа с драйверами устройств, такими как клавиатура, “мышь” и монитор.

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

Сегодня Х-сервера работают на трех основных типах компьютеров:

Персональные компьютеры– обладают достаточной вычислительной мощью для локального запуска Х-сервера и Х-клиентов. Также незначительный сетевой трафик может приходиться на работу с удаленными Х-клиентами;

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

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

Настройка Х-сервера и XDM/XDMCP В своей работе я использую общедоступную версию Х-сервера для платформы Intel, которая называется XFree86 (официальный сайт проекта http://www.xfree86.org), поэтому о ней и пойдет речь далее в этой книге. Если читатель до этого был знаком только с графической подсистемой операционных систем от Microsoft, то настройка Х-сервера в XFree86 покажется ему неоправданно сложным занятием. Честно признаться, но поначалу я тоже был немало смущен кажущейся сложностью этого процесса.

Сразу хочу обратить ваше внимание на главные отличия, которые сопутствуют настройки Х-сервера:

Отсутствие единой программы конфигурации, а также несовершенство имеющихся утилит автоконфигурирования;

Все параметры работы Х-сервера хранятся в одном текстовом файле;

Так как Х-сервер не является частью ядра операционной системы, то он запускается как обычная программа (можно настроить запуск в скрипте инициализации);

Модульная, распределенная структура Х-сервера, подразумевает использование также сопутствующих клиентских приложений: менеджера дисплея и оконного менеджера;

Не часто можно встретить драйвер устройства для Х-сервера, который раскрывает весь потенциал его аппаратных возможностей. Но зато практически все видеокарты можно запустить в VESA-совместимом режиме;

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

Практически все дистрибутивы Linux при установке операционной системы запускают утилиту настройки Х-сервера. Если вы не используете ультра-модную видеокарту или еще какой-нибудь эксклюзивный раритет, то в 90% случаев система сама успешно настроит Х-сервер и при первом же старте компьютер перейдет в графический режим. Но не всегда эта процедура проходит гладко, и нужно быть готовым к выполнению ручной настройки конфигурационного файла Х-сервера.

В версиях 4.х XFree86, главный конфигурационный файл Х-сервера находится в каталоге /etc/X11/ и носит название XF86Config (иногда XF86Config-4). Начиная с 4-й версии, конфигурационные файлы проекта ХFree86 претерпели значительных изменений, что не должно не радовать пользователей, так как теперь их структура стала значительно проще.

Примерное содержание этого файла приведено ниже (данный файл взят с рабочего компьютера под управлением операционной системы ASPLinux 9.0, версия XFree86 4.3.0.):

# buildxconf *** delete this line to prevent buildxconf from modifying this file # # XF86Config auto-generated by buildxconf # # Copyright (c) 1999, Corel Corporation # Robin Burgener, robinb@corel.com # # See 'man XF86Config' for info on the format of this file Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "DevInputMice" "AlwaysCore" EndSection

–  –  –

Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "Protocol" "Standard" Option "XkbModel" "pc105" Option "XkbRules" "xfree86" Option "XkbLayout" "us,ru,ua" Option "XkbVariant" ",winkeys,winkeys" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" EndSection Section "InputDevice" # If the normal CorePointer mouse is not a USB mouse then # this input device can be used in AlwaysCore mode to let you # also use USB mice at the same time.

Identifier "DevInputMice" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "no" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/mouse" # When using XQUEUE, comment out the above two lines, and uncomment # the following line.

#Option "Protocol" "Xqueue" # Baudrate and SampleRate are only for some Logitech mice # BaudRate 9600 # SampleRate 150 Option "ZAxisMapping" "4 5" # Emulate3Buttons is an option for 2-button Microsoft mice # Emulate3Timeout is the timeout in milliseconds (default is 50ms) Option "Emulate3Buttons" "off" # ChordMiddle is an option for some 3-button Logitech mice # ChordMiddle EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" EndSection Section "ServerFlags" AllowMouseOpenFail EndSection

–  –  –

Section "DRI" Mode 0666 EndSection Как видно из файла примера, структура его довольно проста и разбита на секции. Первой в файле расположена секция /etc/X11/XF86Config “ServerLayout”, в которой определяются используемые устройства ввода, а также параметры экрана Х-сервера. В разделе “ServerLayout” приведены только названия соответствующих разделов, в которых заключена более подробная информация. Следует отметить, что в системе должны X Windows существовать два ключевых устройства ввода: клавиатура и манипулятор “мышь”. В разделе “ServerLayout” они обозначаются как "CoreKeyboard" и "CorePointer". Для приведенного выше примера файла XF86Config, Х-сервер будет считать первичными клавиатуру с идентификатором “Keyboard0” и “мышку” с идентификатором “Mouse0”.

Настройка Х-сервера и XDM/XDMCP (продолжение) Раздел “Module” содержит список загружаемых модулей Х-сервера. Как правило, обязательным является только модуль "extmod". Динамически загружаемые модули используются для расширения функциональности Хсервера. Например, модули, предназначенные для работы со шрифтами “type1” и “freetype”, позволяют Х-серверу использовать в своей работе шрифты формата PostScript Type 1 и TrueType. Каждый загружаемый модуль выполняет определенную функцию, а разобраться с особенностями применения конкретных модулей и передачей им параметров (подраздел SubSection “имя модуля”) поможет сопровождающая сервер XFree86 документация.

Раздел “InputDevice” описывает устройства ввода, как правило, клавиатуру и манипулятор “мышь”. Количество таких разделов в файле XF86Config не ограничено, и каждый из них должен иметь уникальное значения параметра “Identifier”. В упомянутом выше разделе “ServerLayout” используется ссылка именно на это значение, так как параметр “Identifier” идентифицирует весь раздел.

Если устройство ввода должно быть первичным для Х-сервера, то в параметрах можно использовать опции:

Option "CorePointer" – для “мышки” Option "CoreKeyboard" – для клавиатуры Рассмотрим более детально методы и параметры настройки в XFree клавиатуры и “мышки”.

Итак, для того, чтобы заставить вашу клавиатуру правильно работать с Х-сервером, в разделе “InputDevice” следует, в первую очередь выбрать соответствующий драйвер, как правило, это:

Driver "keyboard" Символьное устройство подключения клавиатуры указывать не нужно (PS/2, USB и т.д.), так как в компьютере работать может только одна клавиатура, выбор и инициализация которой осуществляется еще на этапе загрузки ядра системы.

К важным параметрам настройки работы клавиатуры относятся такие:

Option "XkbLayout" "us,ru,ua" Option "XkbVariant" ",winkeys,winkeys" Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll" XkbLayout – отвечает за раскладку клавиатуры, и начиная с версии XFree 4.3, поддерживает неограниченное количество одновременно использующихся раскладок, которые достаточно перечислить через запятую. До выхода в свет версии 4.3 можно было использовать только две раскладки клавиатуры, что частично мешало использовать систему многоязычным X-Windows пользователям.

Параметр XkbVariant позволяет задать дополнительные опции для каждой из раскладок клавиатуры. Так в приведенном выше примере для русского (ru) и украинского (ua) языков используется расположение клавиш как это принято в операционных системах Windows, а для английского языка (us – английский США) применяются правила поведения по умолчанию.

XkbOptions показывает, какая комбинация клавиш используется для смены расскладок клавиатуры (в примере Ctrl+Shift). Дополнительный параметр “grp_led:scroll” применяется для того, чтобы задействовать индикатор “Scroll Lock” на клавиатуре при переключении альтернативных раскладок.

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

В разделе “InputDevice” после обязательного параметра “Identifier” необходимо указать драйвер манипулятора “мышь”, например:

Driver "mouse" Далее, в зависимости от типа “мышки”, следует указать символьное устройство подключения ее к компьютеру.

Для “мышей” с интерфейсом PS/2 это:

Option “Device” “/dev/psaux”

Для USB “мышек”:

Option “Device” “/dev/input/mice”

Для “мышей” подключенных к последовательному порту COM1:

Option “Device” “/dev/ttyS0”

Для “мышей” подключенных к последовательному порту COM2:

Option “Device” “/dev/ttyS1” Теперь в зависимости от устройства подключения и наличия колесикаскроллера, следует указать используемый протокол. Несмотря на то, что протоколов довольно много, в подавляющем количестве случаев вас вполне удовлетворит один из следующих вариантов.

Для обычной PS/2 или USB “мышки” без скроллера используем такую запись:

Option “Protocol” “PS/2”

Для “мышки” PS/2 или USB со скроллером:

Option “Protocol” “IMPS/2”

Для COM “мышки” без скроллера:

Option “Protocol” “Microsoft”

Для COM “мышки” со скроллером:

Option “Protocol” “IntelliMouse” Пользователи 2-х кнопочных “мышей” могут воспользоваться эмуляцией нажатия на третью кнопку путем применения параметра “мыши”, "Emulate3Buttons".

Если в конфигурационном файле Х-сервера в разделе “InputDevice”, который посвящен настройке “мыши” встретится запись:

Option "Emulate3Buttons" "on" То она означает, что одновременное нажатие левой и правой кнопки “мыши” эквивалентно нажатию на среднюю кнопку.

Для того, чтобы изменить скорость движения указателя “мыши” по экрану, используется параметр "Resolution", например:

Option "Resolution" "400" Увеличивая его числовое значение, вы тем самым вынуждаете “мышку” двигаться быстрее, и наоборот.

Остальные параметры не так существенны, а поэтому применяются редко.



Pages:   || 2 | 3 | 4 | 5 |
Похожие работы:

«Программа внеурочной деятельности кружок "Моё жизнетворчество" 1 класс 1 час в неделю, всего 33 часа Пояснительная записка Рабочая программа разработана на основе Федерального государственного образовательного стандарта по начальной школе (2009 г.); авторской программы по курс...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА Федеральное государственное бюджетное образовательное учреждение высшего образования "Иркутский государственный университет путей сообщения" Забайкальский институт железнодорожного транспо...»

«Annotation Продолжение книги: Если ты меня полюбишь. Он любит её, она любит его, что может быть проще? Только вот тени прошлого преследуют буквально по пятам. Умелый кукловод уже разыгрывает свои карты. Водоворот событий затягивает Криса и ка...»

«І.ХХХ. Г О Г ІЫ І ІП ІШ ИЗДАВАЕМЫЙ ГО РН Ы М Ъ УЧЕНЫ М Ъ КОМ ИТЕТОМ Ъ. М А Р Т Ъ1909 Тоііъ п е р в ы й. годъ. СОДЕРЖАНІЕ: О бъ у т в ер ж д ен іи п р а в и л ъ о п р іем Ч А С Т Ь О Ф Ф И Ц ІА Л ЬН А Я. въ казн у н о сдач въ аренду V н е ф т я н ы х ъ п р о м ы сл о въ,...»

«МАРТИН СУТЕР КУЛИНАР Март 2008 – Мараван! Сифон! Мараван бросил нож рядом с кучкой нарезанных овощей, вынул из термостата сифон и протянул Антону Финку. В нем готовилась смесь для черемшового крема сабайон к филе маринованной скумбрии. Мараван готов был...»

«38 ЖУРНАЛИСТИКА И МАССОВЫЕ КОММУНИКАЦИИ УДК 070.1:316.653 + 316.774:654.1 Л. Н. Федотова МНЕНИЕРОДНЫЕ ПОТЕНЦИИ КОММУНИКАЦИИ В статье дается анализ факта и комментария в коммуникации как разных способов отражения дейс...»

«Официальные правила рекламной Акции "Выиграй свой Смартфон"1. Общие положения 1.1. Заказчиком и медиапартнером рекламной Акции "Выиграй свой Смартфон" (далее – Акция) является ПрАО "МТС Украина" (далее – Заказчик).1.2. Исполнителем и рекламным партнером рекламной Акции "Выиграй свой Смарт...»

«Руководство по настройке качества цветной печати Стр. 1 из 7 Руководство по настройке качества цветной печати В руководстве по качеству цветной печати поясняется, как использовать функции принтера для регулировки и настройки цветной печати. Меню Качество Пункт меню Описание Определяет режим цветопередач...»

«И. В. Красильников Т. Н.Гартман О.П. Шумакова Д. А. Бобров Пособие для работы на компьютере (Windows, Word, Excel, Access) Москва 2002 ОГЛАВЛЕНИЕ ПРЕДИСЛОВИЕ ГЛАВА 1. ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 1.1. ЗАПУСК ОПЕРАЦИОННОЙ СИСТЕМЫ И ВЫХОД ИЗ НЕЕ. 8 1.2. РАБОЧИЙ СТОЛ 1.2.1. Основные элементы рабочего стола 1.2.2. Настройка внешнего вида р...»

«Правильный выбор тестирующего оборудования \ Интеграция поставки и обслуживания систем тестирования полупроводников Amideon предлагает потребителю оборудование для тестирования полупроводников от компаний мировых лидеров в данной области и, в дополнение уникальный комплекс интегра...»

«ГОСУДАРСТВЕННЫЙ СТАНДАРТ С О ЮЗ А ССР МАШИНЫ ЗЕМЛЕРОЙНЫЕ МЕТОДЫ ИЗМЕРЕНИЯ МАСС МАШИН В ЦЕЛОМ, РАБОЧЕГО ОБОРУДОВАНИЯ И СОСТАВНЫХ ЧАСТЕЙ ГОСТ 2 7 9 2 2 -8 8 (ИСО 6 0 1 6 -8 2 ) Издание официальное БЗ 12—88/840 3 коп. ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО СТАНДАРТАМ Москва оценка ущерба недвиж...»

«6 декабря. Билибино Наиль, привет! Ночью никак не усну. Засыпаю под вечер, в полночь просыпаюсь и до утра бодрствую. Снотворное не помогает. Спасаюсь тем, что пишу письма. Не знаю, как на остальной Чукотке, но в Билибино самые употребляемые...»

«Глава 1 БЕЗУМНАЯ РЕАЛЬНОСТЬ В оенная машина, в которой я находился, завершила свой путь у границы между Израилем и Газой. Как только мы поднялись на вершину холма, расположенного в нескольких сотнях ме...»

«Тезисы выступления-приветствия Губернатора Курганской области на торжественном приёме в честь 66-летия Курганской области 18 февраля 2009 года в 14.00 в большом зале Правительства области "Курганская область на пути сози...»

«УДК 821.161.1-312.9 ББК 84(2Рос=Рус)6-44 Ч-21 Чарова, Анна. Любовь приходит в черном / Анна Чарова. — Ч-21 Москва : Издательство "Э", 2015. — 416 с. — (Любовь и Магия). ISBN 978-5-699-83460-0 Журналистка Марина во время сенсационного репортажа прикоснулась к Неве...»

«УДК 617(092)Амосов Н.М. ББК 54.5Амосов Н.М. А62 Амосов, Николай Михайлович. Полевой госпиталь : записки военного хирурга / Николай А62 Амосов. — Москва : Алгоритм, 2016. — 256 с. — (Моя война). ISBN 978-5-906880-38-3 Николай Михайлович Амосов — врач с мировым именем, известный своими операциями на сердце и уникальными методами про...»

«УДК 82-1/3 ББК 84(2Рос-Рус)6-4/5 Р 82 Оформление Натальи Ярусовой Рубальская, Лариса Алексеевна. Собрание сочинений в одном томе / Лариса Рубальская. — Р 82 Москва : Издательство "Э", 2016. — 720 с. — (Полное собрание сочинений). ISBN 978-5-699-57812-2 Лариса Рубальская, о чем бы ни говорила на концертах, в телевизионных программах...»

«Владимир Николаевич Лосский ТОЛКОВАНИЕ НА СИМВОЛ ВЕРЫ ВВЕДЕНИЕ Символ веры это торжественное исповедание христианских догматов, которое читается или поется во время литургии, перед началом евхаристического канона. Первое слово этого священного текста Верую связано с каждым последующим чле...»

«РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ DPК-2 DPK-3 Высокоскоростные одноигольные швейные машины зигзагообразного челночного стежка 1) Для максимально упрощенного использования машины, пожалуйста, прочтите внимательно настоящее руководство.2) Храните данное руководство для справки в случае...»

«Е.А. МИХАЙЛОВА, Т.В. ЧЕРКАСОВА ЦЕННОСТНО-МОТИВАЦИОННЫЕ ОРИЕНТАЦИИ СТУДЕНТОВ В СОВРЕМЕННЫХ СОЦИАЛЬНО-ПОЛИТИЧЕСКИХ РЕАЛИЯХ (НА ПРИМЕРЕ РЕСПУБЛИКИ БАШКОРТОСТАН) Аннотация. В статье рассматривается вектор настроений и модели социального поведения студенчества...»

«Электрический чайник RU Руководство по эксплуатации SWK 1785BK Перед тем, как использовать этот прибор, пожалуйста, внимательно прочтите руководство пользователя, даже если вы уже знакомы с использованием аналогичных устройств. Используйте электроприбор только так, как это о...»

«Сергей Герасимов Красный жетон "Автор" Герасимов С. В. Красный жетон / С. В. Герасимов — "Автор", ISBN 978-5-457-32910-2 ISBN 978-5-457-32910-2 © Герасимов С. В. © Автор С. В. Герасимов. "Красный жетон"...»

«АНАЛИЗ СТОЧНЫХ ВОД ПРЕДПРИЯТИЙ, ПЕРЕРАБАТЫВАЮЩИХ КОЖЕВЕННО-МЕХОВОЕ СЫРЬЕ Друзьянова Варвара Петровна канд. техн.наук, доцентСеверо-Восточного федерального университета им. М.К. Аммосова,РФ, г. Якутс...»

«Приложение к свидетельству № 51583 Лист № 1 об утверждении типа средств измерений Всего листов 9 ОПИСАНИЕ ТИПА СРЕДСТВА ИЗМЕРЕНИЙ Машины испытательные универсальные TIME WАW, TIME WEW, TIME WES Назначение с...»

«Михаил Ахманов Патроны не кончаются никогда, или Записки охотника на вампиров Серия "Забойщик", книга 1 Текст предоставлен издательством "Эксмо" http://www.litres.ru/pages/biblio_book/?art=164174 Патроны не кончаются никогда: Эксмо; Моск...»

«УДК 621.382.3 Формирование омических контактов в транзисторе с высокой подвижностью электронов с метаморфным гетеропереходом на основе арсенида галлия Каргин Н.И., Кузнецов А.Л., Сейдман Л.А., Чашкин Н.А., Шостаченко С.А. Широко используемые в настоящее время полупроводниковые СВЧ приборы – полевые транзисторы с гетер...»

«Уважаемые дамы и господа, Признателен исполнительному секретарю ЕЭК Мареку Бельке за приглашение выступить в рамках "Мюрдалевских чтений". Эти лекции стали важной традицией и воспринимаются как неотъемлемая часть облика Женевы – старейшего центра международных орган...»








 
2017 www.kn.lib-i.ru - «Бесплатная электронная библиотека - различные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.