Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

OS Linux для начинающих. Новости + статьи + обзоры + ссылки :: Выпуск #43.


Информационный Канал Subscribe.Ru

Рассылка LinuxBegin
Выпуск #43. (10.03.03). Подписчиков: ~ 12000.
Рассылка для тех, кто делает первые шаги в мир Open Source!
Новости, статьи, обзоры и ссылки.
В этом выпуске:
X-терминалы Linux.
Новые статьи на Linuxbegin.ru.
Новые статьи (ru).
Новые статьи (en).
• А так же - новости, софт, ссылки, дистрибутивы и многое другое.

 Ссылки:

atRunet.ru
Новый сайт с новостями и статьями на русском языке.
OpenOffice.ru FAQ.
Ответы на все вопросы, связанные с OpenOffice.
Книга "Linux From Scratch" на русском языке.
Эта книга описывает процесс создания системы Linux с нуля, используя лишь исходные тексты необходимых программ.
RottenFlesh.
Автоматически генерируемая пародия на FreshMeat.net.
LOL :)))).
Linux for Poets.
Что-то вроде небольшого руководства по Linux на английском языке.


  Интересный софт:

IceMe.
Данная утилита предназначена для визуального редактирования меню и shortcut'ов IceWM.
Mp3record.
Утилита для считывания звука из любого источника (системный микшер, линейный вход, микрофон, etc.) и записи прямо в файл MP3.
StarDock to XCursor.
Утилита для преобразования курсоров StarDock CursorXP в курсоры для X Window System версии 4.2.99 или выше.
Tk LaTeX Editor.
Мощный TeX редактор с навигацией по документу, поддержкой русских кодировок, преобразованием в PDF/HTML, и т.д.
OpenLink Universal Data Access Driver Suite.
ODBC драйверы (для Unix/Linux в том числе) для многих коммерческих СУБД, включая Oracle, Informix, MS SQL Server и т.д.


  Дистрибутивы:

Yoper 1.0 Ydesktop edition.
Новый дистрибутив для пользователей, желающих найти лучшее средство для увеличения продуктивности и снижения общих затрат.


  Источники информации:

Linux-ve.net
Nixp.ru
LOR
Softerra.ru/Freeos
Lrn.ru
Linuxnews.ru
Opennet.ru
Linuxrsp.ru
Uinc.ru
Compulenta.ru
Linux.ru
Newsforge
Newsvac
Linux.com
Полный список >>

 Обзор новостей:

7.03.03: Вышел The Linux Test Project 20030206 - набор из более 1000 тестов для Linux.
7.03.03: Евангелическая церковь Хессена и Нассау (Германия) перевела примерно 200 филиалов и 5000 пользователей с Microsoft Exchange Server на платформу SuSE Linux Openexchange. Цель - улучшение текущей инфраструктуры и централизация управления серверами.
7.03.03: Darl McBride, президент компании SCO, заявил утром на пресс-конференции, что судебное дело против IBM не имеет никакого отношения к Open Source и Linux-сообществу :).
6.03.03: Сайт PCLinuxOnline предлагает Linux-сообществу не пользоваться продуктами SCO в ответ на судебный иск против IBM и Linux.
6.03.03: Eric S. Raymond ответил на действия SCO открытым письмом.
6.03.03: SCO обвиняет IBM в нарушении патентов на Unix и требует выплатить в качестве компенсации 1 миллиард долларов и приостановить поставки AIX - версии Unix от IBM. Истцы утверждают, что IBM незаконно использовала решения, воплощенные в ОС AIX, при создании решений на базе Linux.
5.03.03: Выпущен первый многопользовательский 3D-shooter с открытыми исходниками и под лицензией GPL - Urban Dominion от компании Global Gaming Innovations. Создавался Urban Dominion с помощью PDMS (Parallel Distributed Management System), в чем данная кросс платформенная (была протестирована на RedHat Linux 8.0 и Windows) игра также стала первой.
5.03.03: Вышел Mandrake Linux 9.1 RC2. Финальный релиз запланирован на середину марта. Среди новых обещанных возможностей - расширенная работа с NTFS, поддержка ACPI для
notebook'ов, supermount, zeroconf, обновленная тема "Galaxy", а также последнее программное обеспечение (XFree86 4.3.0, Gnome 2.2, KDE 3.1, Mozilla 1.3...).
5.03.03: Вышел дистрибутив BlackRhino, основанный на Debian и предназначенный специально для Sony PlayStation 2.
5.03.03: Вышел Slackware 9.0-rc1. Kernel 2.4.20, KDE 3.1, GNOME 2.2, XFree86 4.3.0, gcc-3.2.2 и новые версии библиотек для разработки.
4.03.03: Во всех версия почтового сервера sendmail, начиная с 5.79, обнаружена серьезная ошибка, позволяющая гипотетически создать сообщение, при парсинге заголовков которого может быть запущен код злоумышленника с привилегиями, под которыми выполняется sendmail. Рекомендуется срочно обновить sendmail до версии 8.12.8.
4.03.03: Linux получает стандартные тесты для серверов - Open Source Development Lab (OSDL) выпустила три теста скорости для Linux. Все они соответствуют спецификациям TPC (Transaction Processing Performance Council).
4.03.03: 25-27 мая 2003 в Канаде пройдет саммит разработчиков GCC.
4.03.03: Film Gimp переименован в CinePaint. Это имя было предложено Сэмом Ричардсом (Sam Richards). Среди других кандидатов присутствовали FrIMP, Film-Fu, FIMP, GFMP, FilmStudio и FilmShop.
4.03.03: Германская правительственная организация оснастила Linux'ом 50 настольных компьютеров. Используется технология "тонких клиентов" ("thin-client") и офисный пакет от KDE. Одной из главных причин перехода на открытую ОС в этой госорганизации явилось снижение TCO.
4.03.03: Исландское Энергетическое Ведомство (Icelandic Energy Authority) приобрело у компании Linux Networx (США) 48-процессорный Linux-кластер, который будет использоваться для поиска мест с повышенной геотермальной активностью.
4.03.03: Butterfly.net и IBM объявили о сотрудничестве с целью создания игровой сети на базе Linux для приставок Sony PlayStation2.
4.03.03: Муниципальное правительство города Пекина заключило контракты с двумя крупными фирмами: Microsoft и IBM. Microsoft собралась инвестировать 2,2 млн. долларов в развитие организации PC Innovations Lab, занимающейся контролем качества и тестированием драйверов к оборудованию китайских производителей . Соглашение с IBM касается создания так называемого "China-IBM Linux Solution Cooperation Center", целью которого является разработка китайской версии Linux.
3.03.03: Вышел ALT Linux Master 2.2 (кодовое название Orange). В составе - 5 книг и 9 дисков. Особенности: - KDE 3.1, OpenOffice.org 1.0.2, GNOME 2.2. - Передовые технологии обеспечения безопасности информации (TCB, chrooted environments и др.) - Поддержка сглаженных шрифтов посредством Xft2. - Дополнительный диск с коммерческим ПО. - Полнофункциональные (для некоммерческого использования) СУБД "ЛИНТЕР" и среда разработки C-Forge.
3.03.03: Вышел VMWare 4.0 beta - Build 4183.
2.03.03: Sun Microsystems представила русскую версию StarOffice 6.0.
2.03.03: Вышел XFree86 4.3.0. Изменения: - Поддержка 2D в ATI Radeon 9x00 и 3D в Radeon 8500, 9000, 9100, M9. - Аппаратный TCL. - Поддержка встроенного видео на Intel 845G, 852GM, 855GM, 865G (2D & 3D). - Поддержка встроенной графики на NVIDIA nForce2 , GeForce 4 и GeForce FX. - И многое другое.
2.03.03: Компания ASPLinux заключила договор с болгарской компанией Cyclone Trade Company Ltd об эксклюзивной дистрибуции ASPLinux в Болгарии.
27.02.03: По словам Амита Бораскара (Amit Bhoraskar), менеджера из Red Hat India, к декабрю 2003 года OS Linux будет установлена на 10% настольных компьютеров в Индии. Это весьма немало, если учесть, что доля Linux на всемирном рынке desktop'ов не превышает нескольких процентов.
27.02.03: Новое ПО от компании CodeWeavers позволит устанавливать на Linux-серверы приложения Microsoft Office, с которыми можно будет работать через Web-браузер.
27.02.03: Состоялась официальная презентация StarOffice 6. Продвигать StarOffice собираются прежде всего в госсектор, крупным корпоративным покупателям и через OEM каналы. Розничная цена 1 копии StarOffice составляет 60 уе, при покупке 25 и более копий она снижается до 30. Для любых образовательных учреждений StarOffice и вся техническая поддержка бесплатны.

 Новости рассылки:

• Самое главное событие - 26 февраля 2003 года весь Интернет узнал об английской версии таблицы "Аналоги Windows-программ в Linux" :). Хроника событий:

20.02.03: Информация о таблице появилась где-то на форуме Gentoo.org.
25.02.03: Таблица упомянута на http://linuxfr.org/2003/02/25/11504.html. Результат - 5000 посетителей и ~50 комментариев на сайте (к сожалению, я не знаю французского языка, а онлайновые переводчики не переводят страницы длиннее 32 Kb :).
26.02.03: Небольшое обьявление на Linux Weekly News: http://lwn.net/Articles/23822/. Таблица тут же получила мировую известность и огромную посещаемость.
27.02.03: Ссылки на таблицу появились на различных сайтах со всего мира (и этот процесс продолжается до сих пор :).

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

• Недавно я совершенно случайно решил посмотреть на новые журналы, и увидел "Мир ПК" за февраль 2003 год, на обложке которого огромными буквами было написано "Linux"!!! Под воздействием этого магического слова журнал был в ту же секунду приобретён :). Новых версий дистрибутивов и программ для Linux на диске, к сожалению, не оказалось, а вот в самом журнале присутствует несколько интересных статей (упор делается на дистрибутивы от компании ASP :).

• Запущен новый опрос по поводу того, какую статью размещать в следующем выпуске.

 X-терминалы Linux.
  Николай Ткаченко, 01/2003.

X Window Server - сетевой продукт, позволяющий строить сеть Linux по принципу сервера терминальных служб.

Изо всех графических пользовательских интерфейсов ОС UNIX лишь X Window server удалось выйти за рамки внутрикорпоративного продукта. Возможно, секрет в том, что этот интерфейс лучше других соответствует природе UNIX.

Вспомним девиз Билла Джоя и компании Sun: "Сеть - это компьютер". Эта идеология во многом определяет "живучесть" и популярность программных продуктов для этой ОС. X Window - полноценный сетевой продукт, построенный по принципу "клиент-сервер". В его состав входят две части, взаимодействующие друг с другом,- X-сервер и графические клиенты.

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

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

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

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

Но ситуация с X-сервером в некотором роде противоположна: он выполняется в оперативной памяти машины, на которой работает оператор. Таким образом, клиент и сервер в определенном смысле меняются местами. Картина выглядит примерно следующим образом. Есть несколько "слабых" компьютеров, на которых работают операторы: набирают и редактируют текст, а также выполняют другие подобные задачи. На этих компьютерах установлен UNIX и X Window server. Такие ПК называются рабочими станциями X или X-терминалами. Операционная система X-терминалов получает события, создаваемые пользователем, и передает их для обработки серверу, а также получает от него графический результат обработки и выводит его на экран. Компьютер, выполняющий основную работу, называют сервером графических приложений. Именно на нем работают веб-браузеры, текстовые редакторы, игры и другие прикладные программы. Естественно, что к ресурсам такого компьютера предъявляются особые требования. Особенно это касается оперативной памяти, которой должно хватать на все эти задачи. Зато к рабочим станциям требования гораздо ниже. Это могут быть очень старые компьютеры - вплоть до "четверок".

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

Терминология

Бездисковый X терминал.Компьютер, который загружается с использованием памяти EPROM или подобной ей и устанавливает примитивный контакт с сервером для загрузки операционной системы в оперативную память. В дальнейшем ведет себя как "немой" X-терминал.

"Немой" X-терминал. Компьютер, который загружает ОС с локального диска, запускающего только X-Server. Его задача - установить контакт с сервером графических приложений и получить от него графическую сессию.

Рабочая X-станция. Компьютер, на котором ОС, X-Server и графическая сессия загружаются самостоятельно. Эта станция может вести себя как "немой" X-терминал.

Сервер графических приложений. Здесь: компьютер, на котором работают приложения, осуществляющие ввод/вывод с удаленного X-терминала.

X-сервер. Программа, выполняемая на компьютере, к которому непосредственно подключены манипуляторы ввода (клавиатура, мышь и др.) и дисплей. X-сервер предоставляет другим программам интерфейс графического ввода/вывода.

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

X-сервер для PC

Рассмотрим процедуру настройки полноценной рабочей станции, на которой установлены Linux и XFree86 - реализация X Window server для архитектуры PC. Опустим инсталляцию ОС Linux - сегодня существует множество публикаций на эту тему. Будем считать, что сервер графических приложений и рабочая станция у нас уже есть. Напомним, что под сервером графических приложений понимается достаточно мощный компьютер, на котором установлены необходимые графические пакеты (KDE, GNOME и др.), а под рабочей станцией - компьютер, на котором установлена ОС Linux, XFree86. Оба компьютера, разумеется, подключены к сети Ethernet.

Теперь рассмотрим несколько моментов, непосредственно связанных с функционированием X-терминалов. Мы привыкли, что в текстовом режиме процессами управляет пользовательская оболочка (такая как sh или bash). Когда компьютер работает в графическом режиме, ее заменяет интерфейс X Display Manager (XDM). Он запускается с привилегиями root, выводит окно регистрации и открывает так называемую сессию пользователя, сконфигурированную надлежащим образом.

Одна из переменных, входящих в состав параметров сессии, $DISPLAY, определяет систему, на которую будут выводиться графические данные. Например, если IP-адрес сервера графических приложений - 192.168.0.1, а другая рабочая станция с X-сервером имеет IP-адрес 192.168.0.2, и если в параметрах некоторой сессии задано DISPLAY="192.168.0.2", то все графические приложения, принадлежащие этой сессии, будут отправлять результаты своей работы на экран удаленной машины 192.168.0.2.

Наиболее эффективным способом конфигурирования сессии X-станции является использование протокола XDMCP (X Display Manager Control Protocol). Эта программа работает на сервере графических приложений и управляет сессиями, выделяемыми X-серверам, работающим на терминалах. Однако следует помнить, что такой способ организации X-терминалов уязвим для атак, основанных на прослушивании сети, поскольку данные между компьютерами передаются в незашифрованном виде. Рекомендуется использовать технологии, описанные в этой статье, только в доверяемых сетях.

Прием XDM-сервером запроса от X-сервера

Существует две основные возможности взаимодействия X Display Manager (XDM) и X-сервера:

  • прием запроса от X-сервера;
  • управление X-сервером.

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

Запрос может быть осуществлен следующими способами.

  • Прямой запрос - запрос, напрямую адресованный известному хосту.
  • Широковещательный запрос - запрос, который адресован всем XDM-серверам в сети. Сеанс предоставляется первым обнаруженным XDM-сервером.
  • Непрямой запрос - направляется определенному хосту с просьбой вернуть список серверов, предоставляющих сервис XDM. Из списка выбирается один, наиболее подходящий, сервер, с ним устанавливается контакт и инициируется процесс регистрации.



Настройка X-сервера XDM-сервером

Для того чтобы создать группу компьютеров, которые будут работать с единственным в сети сервером приложений, этот сервер можно сконфигурировать так, чтобы он автоматически направлял XDM на X-терминалы ("немые" X-терминалы).

Поведение X Display Menager определяется следующими системными файлами, которые находятся в каталоге /etc/X11/xdm (для RedHat-совместимых ОС):

  • xdm-config;
  • Xaccess;
  • Xservers;
  • Xresources.

В файле xdm-config описано расположение других основных конфигурационных файлов, а также скриптов, выполняемых при инициализации сессии. При запуске системы XDM инициализируется процедурой init с параметрами, указанными в /etc/inittab или с помощью скрипта startx.

В некоторых дистрибутивах Linux (в том числе в RH7.1 и RH7.2) файл xdm-config в целях безопасности сконфигурирован таким образом, чтобы не принимать запросы от терминалов на открытие XDM. Для того чтобы сервер смог принимать запросы, необходимо изменить следующий фрагмент:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort: 0

Строку DisplayManager.requestPort: 0 нужно закомментировать, чтобы получилось:

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
!DisplayManager.requestPort: 0

В файле Xaccess определены хосты и шаблоны для контроля прямого, косвенного и широковещательного запроса XDMCP.

В файле Xresources описаны ресурсы, используемые окном XDM,- размер, цвет, шрифт и др.

Запуск X-сервера

Для эффективной работы терминалов желательно настроить их на автоматический запуск X-сервера с необходимыми параметрами. Как известно, в Linux существует понятие "уровень выполнения" (runlevel). При запуске системы процесс init анализирует файл /etc/inittab и определяет, на какой уровень загружать ОС. Обычно это уровень 3 (текстовый режим) или 5 (графический). Для выбора по умолчанию уровня 5 необходимо изменить inittab, чтобы строка id:3:initdefault: выглядела так:

# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:

Теперь X-сервер запустится автоматически при загрузке ПК.

В этом же файле находится строка с параметрами, которые передаются в систему при ее работе на уровне 5:

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/etc/X11/prefdm -nodaemon

Эти параметры также можно изменять в зависимости от ситуации.

Альтернативы XDM

Обычно пользователи предпочитают пакеты с дополнительными пользовательскими интерфейсами: KDE, GNOME и др. Эти оболочки заменяют стандартный XDM своими менеджерами - KDM и GDM. В этом нет ничего страшного, следует только внести изменения в конфигурационные файлы, чтобы можно было использовать протокол XDMCP.

Для KDM в файл /usr/share/config/kde/kdmrc нужно внести следующие изменения:

[Xdmcp]
# Whether KDM should listen to XDMCP requests. Default is true.
Enable=true

Для GDM нужно внести изменения в файл /etc/X11/gdm/gdm.conf:

[xdmcp]
Enable=true

XDM-сервер графических приложений управляет X-сервером терминала

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

В файле Xservers сервера графических приложений нужно указать список хостов, которые к нему подключены:

:0 local /usr/X11R6/bin/X
wolf:0 foreign
192.168.0.11:0 foreign

Строка :0 local /usr/X11R6/bin/X стандартна и означает, что XDM работает на локальном ПК. Две другие строки описывают терминалы, которым будет отсылаться приглашение XDM. Как видим, хост может быть задан как по имени, так и по адресу. Цифра 0 указывает на номер дисплея и подходит практически всегда, кроме случая, когда на компьютере выполняется сразу несколько X-серверов или подключено несколько дисплеев.

Терминал запускается путем загрузки X-сервера без клиентов и с параметром, отменяющим контроль доступа с удаленных машин. Для этого нужно в файле /etc/inittab на компьютере, используемом в качестве терминала ("wolf"), заменить строку:

x:5:respawn:/etc/X11/prefdm -nodaemon

на следующий фрагмент:

# Run xdm in runlevel 5
# xdm is now a separate service
x:5:respawn:/usr/X11R6/bin/X -ac

После перезагрузки сервера приложений и терминала сервер должен запустить на консоли терминала XDM-сессию. Аналогичные действия, естественно, нужно выполнить и с машиной 192.168.0.11.

Прием XDM-сервером графических приложений прямого запроса от X-сервера терминала

Для начала следует указать XDM, работающему на сервере приложений, что он может принимать прямые запросы от X-сервера. Эта функция описывается в файле Xaccess. Формат файла прост и описывает три вида обращений: прямой, непрямой и избирательный (chooser) запрос. Для определения хостов используется имя или шаблон имени (где "?" обозначает любой символ, а "*" - любое количество символов). Знак "!" используется для инверсии значения шаблона хостов. Можно также использовать IP-адрес хоста. Строки проверяются последовательно до первого совпадения и могут снабжаться комментариями. Для того чтобы продолжить строку, используется знак "\". Пустые строки игнорируются. Указание опции NOBROADCAST означает исключение определенного хоста из широковещательного запроса, то есть доступ к нему только по прямому запросу. Вот пример такого описания:

wolf # хост wolf
!guest.socrat.com # все хосты, кроме guest.socrat.com
*.socrat.com  # все хосты домена socrat.com
192.168.0.15 NOBROADCAST # хост 192.168.0.15

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

# .........
#.........
* #разрешена регистрация для всех хостов
#

Для запуска X-сервера с функцией прямого запроса к XDM нужно внести изменения в файл inittab машины wolf:

/usr/X11R6/bin/X -query xdmserver.socrat.com

где xdmserver.socrat.com - имя сервера приложений (вместо него можно указать IP-адрес).

Прием XDM-сервером графических приложений широковещательного запроса от X-терминала

В этом случае настройка подобна предыдущей. В файле Xaccess снова разрешаем широковещательный опрос XDM (как в предыдущем разделе), а X-сервер запускаем строкой из inittab:

/usr/X11R6/bin/X -broadcast

LTSP: готовое решение для Linux-терминалов

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

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

Если мы хотим загружать на терминалы Linux, то нужно решить две важные задачи: предоставить возможность загрузки по сети ядра Linux и создать на сервере структуру директорий, которая будет служить корневой структурой подключаемых терминалов. Первая задача решается путем динамического конфигурирования сетевого интерфейса (dhcp-запроса) и протокола TFTP (Trivial File Transfer Protocol, примитивный протокол передачи файлов). Корневой раздел монтируется с сервера по протоколу NFS. Этим же способом создается раздел подкачки.

Основная сложность заключается в выборе минимального, но необходимого набора пакетов для успешной загрузки и работы Linux. Любая перспективная операционная система предусматривает разные варианты решения той или иной задачи, а характеристикой развитой ОС является наличие готовых решений для стандартных задач. Исследуя наиболее простые схемы организации удаленных терминалов, я остановился на LTSP (Linux Terminal Server Project) - Linux-проекте терминального сервера. Это небольшой пакет, работающий с Red Hat, SuSe, Mandrake, Debian и совместимыми с ними платформами. Рассмотрим процессы, которые происходят при подключении терминала к серверу под управлением LTSP.

Загрузка бездискового терминала: теория

Загрузка бездискового терминала происходит следующим образом.

При включении питания управление компьютером передается функциям основного BIOS, которые выполняют начальную инициализацию (POST - power-on self test) и анализируют дополнительные платы компьютера.

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

Затем программа сетевой загрузки инициирует DHCP-запрос, передавая в нем путем широковещательной рассылки свой MAC-адрес. Сервер принимает запрос, находит конфигурацию, соответствующую данному MAC-адресу, и возвращает данные, необходимые для конфигурирования сетевого интерфейса:

  • IP-адрес рабочей станции;
  • маску сети;
  • путь к ядру ОС;
  • путь к директории, которая должна быть смонтирована в качестве корневого раздела;
  • при необходимости - параметры ядра.

Etherboot конфигурирует TCP/IP-параметры сетевого интерфейса, используя информацию из ответа на DHCP-запрос.

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

К моменту завершения работы ядра на RAM-диске при помощи опции root=/dev/ram0 монтируется корневая файловая система.

Обычно при завершении своей работы ядро загружает программу init, которая продолжает загрузку ОС. В данном пакете используется ядро со встроенной опцией init=/linuxrc, и вместо init вызывается срипт linuxrc.

Этот скрипт сканирует PCI-слоты. Если в одном из них он обнаруживает сетевую карту и идентифицирует ее с помощью файла описаний /etc/niclist, то загружается соответствующий модуль.

Затем терминал генерирует еще один запрос к DHCP-серверу. По получении ответа он конфигурирует интерфейс eth0.

К этому моменту корневой раздел находится на RAM-диске. Теперь все готово к монтированию корня поверх NFS. Для этого в ответе на DHCP-запрос указывается путь к образу корневой системы (обычно /opt/ltsp/i386), но ядро не может просто смонтировать его в корень. Вначале сетевой ресурс монтируется как /mnt. Затем программа pivot_root перемещает /mnt в корень, а старая корневая система монтируется в директорию /oldroot. В результате этих действий образуется новая корневая система. В конце работы скрипта linuxrc вызывается обычная процедура init, которая для установки системного окружения init читает /etc/inittab.

Терминал запускается на уровне 2, согласно параметрам строки initdefault в /etc/inittab. Вначале система инициализируется скриптом rc.local. Он создает в памяти диск объемом 1 Мб и монтирует его в директорию /tmp. Туда копируются все необходимые программы, и на них создаются символические ссылки.

Если терминал сконфигурирован для использования сетевого раздела подкачки, то NFS-ресурс /var/opt/ltsp/swapfiles монтируется в точку /tmp/swapfiles. При необходимости создается файл подкачки и выполняется swapon.

Затем создаются и монтируются необходимые Linux-директории - var, proc, run и т. п. - и выполняется конфигурирование Xserver. Для этого в файле /etc/lts.conf ищется параметр XSERVER. Если он отсутствует или равен auto, предпринимается попытка автоматического определения. Если установлена PCI-видеокарта, то по ее производителю и идентификатору устройства выполняется поиск в списке серверов /etc/vidlist.

Если видеокарта поддерживается системой XFree86 4.X, то для построения конфигурационного файла XF86Config вызывается скрипт /etc/rc.setupx, а если используется сервер XFree86 3.3.6 - /etc/rc.setupx3. Необходимые параметры уточняются в файле /etc/lts.conf.

Затем создается скрипт /tmp/start_ws, отвечающий за запуск X-сервера, создается конфигурационный файл демона syslog и производится его запуск.

Управление передается к процедуре init, которая читает /etc/inittab и определяет необходимый уровень загрузки. В текущей версии LTSP это уровень 2.

На уровне 2 с помощью lts.conf определяется индивидуальный уровень загрузки для каждого терминала. По умолчанию это уровень 5, который соответствует графической среде.

Установка LTSP на сервере приложений

Пакет LTSP поставляется в TAR-архивах и в RPM-пакетах и состоит из четырех следующих частей:

  • LTSP Core pakage;
  • Kernel pakage;
  • X Core pakage;
  • X Fonts pakage.

Перед установкой LTSP необходимо установить в системе сервисы DHCP, TFTP, NFS и PORTMAP. Их настройкой можно заняться после инсталляции основного пакета. Установка пакета выполняется при помощи следующих команд.

Для RPM:
rpm -ivh lts_core-3.0.3-0.i386.rpm
Для tar-архивов:
tar xzf ltsp_core-3.0.0-i386.tgz
cd ltsp_core
 ./install.sh
cd ..
(подобные действия нужно произвести и для трех остальных частей).

В результате создается rfnfkju /opt/ltsp с тремя подкаталогами: i386, templates, install_scripts. Причем каталог /opt/tsp/i386 в дальнейшем будет служить корневым для терминалов. Дальнейшую установку предлагается производить командой ltsp_initialize из каталога templates. Она внесет изменения в конфигурационные файлы перечисленных сервисов. Настоятельно рекомендуется вам сделать резервную копию следующих файлов:

  • /etc/X11/xdm/Xaccess (контроль доступа к XDMCP-сервису);
  • /etc/dhcpd.conf (конфигурация DHCP-сервера);
  • /etc/exports (конфигурация NFS);
  • /etc/sysconfig/syslog (конфигурация syslogd);
  • /etc/hosts.allow (конфигурация демона tcpd);
  • /etc/inittab (файл инициализации init);
  • /etc/X11/gdm/gdm.conf (конфигурация Gnome Desktop Manager);
  • /etc/kde/kdm/kdmrc (конфигурация KDE Desktop Manager);
  • /etc/X11/xdm/xdm-config (конфигурация XDM-сервиса);
  • /etc/X11/xdm/Xaccess (прямой запрос XDM-сессии).

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

Теперь все готово к выполнению команды

cd /opt/ltsp/templates
 ./ltsp_initialize

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

Прежде всего, нужно настроить сервис TFTP.

Сервис примитивной передачи файлов - TFTP

Задача этого сервиса - предоставить доступ терминалам к ядру ОС на этапе начальной загрузки. Сервис работает посредством суперсервера xinetd, и его конфигурация находится в файле /etc/xinetd/tft. Обычно достаточно лишь заменить запись disable=yes на disable=no и перезапустить xinetd:

# service xinet restart

В результате файл /etc/xinetd/tftp будет выглядеть так:

service tftp
{
 disable = no
 socket_type = dgram
 protocol = udp
 wait = yes
 user = root
 server = /usr/sbin/in.tftpd
 server_args = -s /tftpboot
}

Существенная для нас информация содержится также в записи

server_args = -s /tftpboot

Здесь указывается, что описываемый сервис открывает каталог /tftpboot для доступа, а при помощи ключа -s он становится корневым. Как известно, терминал загружает ядро ОС именно отсюда. Пакет LTSP поставляется с двумя ядрами, поддерживающими большинство сетевых карт. Это файлы vmlinuz-2.4.9-ltsp-6 и vmlinuz-2.4.9-ltsp-lpp-6. Второй из них снабжен Linux Progres Patch. Впоследствии надо будет указать имя ядра загрузки для всех терминалов или для отдельного терминала.

Настройка сервиса DHCP

Интересно, что при установке этого сервиса в Red Hat конфигурационный файл не создается. Может потребоваться выполнение команды

touch /etc/dhcpd.conf

Здесь надо оговориться о некоторых допущениях, связанных с конфигурацией локальной сети.

Предположим, в сети 192.168.0.0/255.255.255.0 для бездисковых терминалов выделены адреса с 192.168.0.200 по 192.168.0.254. Серверы LTSP и DHCP находятся на одной и той же машине с адресом 192.168.0.1. Тогда параметры DHCPD в файле /etc/dhcpd.conf могут выглядеть так:

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.199;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;

host term01 {
 hardware ethernet 00:30:84:0a:62:8d;
 fixed-address 192.168.0.200;
 option host-name "term01";
 filename "vmlinuz-2.4.9-ltsp-6";
 option root-path "/opt/ltsp/i386";
 option log-servers 192.168.0.1;
}

}

Здесь требуются небольшие пояснения. Для удобства управления терминалами их IP-адреса выбираются по значению MAC сетевой карты в диапазоне 200-254 последнего октета. Диапазон 2-199 отдан остальным машинам, которые не требуют индивидуального контроля IP.

В первой части конфигурационного файла приведены инструкции, относящиеся ко всем компьютерам сети:

 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.0.255;
 option routers 192.168.0.1;
 option domain-name-servers 192.168.0.1;

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

IP-адрес терминала назначается в соответствии с MAC-адресом сетевой карты:

 hardware ethernet 00:30:84:0a:62:8d;
 fixed-address 192.168.0.200;

Сетевое имя хоста указывается опцией

option host-name "term01";

Строка

filename "vnlinuz-2.4.9-ltsp-6";

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

option root-path "/opt/ltsp/i386";

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

option log-servers 192.168.0.1;

И еще одно замечание. Настоятельно рекомендуется записать данные о каждом терминале, загружаемом по сети, в файл /etc/hosts сервера приложений:

127.0.0.1  loclahost.localdomain localhost
 ......
192.168.0.200 term01

Впоследствии это поможет избежать многих проблем, вплоть до краха системы.

Сетевая файловая система NFS

В Red Hat сетевыми ресурсами NFS управляет файл /etc/exports. Для обеспечения работы пакета LTSP достаточно внести в него несколько строк:

/opt/ltsp/i386 192.168.0.0/255.255.255.0(ro,no_root_squash)
/var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash)

Слева указаны директории, предназначенные для сетевого монтирования, а справа - соответствующие им опции. Опции ro и rw означают доступ только для чтения и доступ для записи и чтения, соответственно; no_root_squash обычно заменяет идентификатор пользователя root на идентификатор nobody, блокируя таким образом неограниченный доступ к ресурсу. Первая строка в этом файле реализует корневую структуру ОС, а вторая - раздел своппинга, если есть необходимость использовать его по сети.

Настройка демона syslog

Как уже говорилось, терминальные машины заносят в журнал события, происходящие в ОС, и передают их на сервер приложений (или другой, заданный в конфигурации DHCP). В связи с этим необходимо настроить демон syslogd на сервере так, чтобы он воспринимал сведения от удаленных машин. Для этого в файле конфигурации /etc/sysconfig/syslog используется ключ -r:

# See syslogd(8) for more details
SYSLOGD_OPTIONS="-m 0 -r"

Контроль доступа к TCP-сервисам

Если в системе производится ограничение/контроль доступа к сетевым портам посредством TCPD, необходимо открыть все необходимые сервисы для терминалов в сети. Для этого нужно внести изменения в файл /etc/host.allow:

in.tftpd: 192.168.0.
portmap: 192.168.0.

Настройка XDM

Для того чтобы терминалы могли запрашивать у сервера сеанс XDM, нужно правильно настроить файлы /etc/X11/xdm/Xaccess и /etc/X11/xdm/x/dm-config. Кроме того, LTSP использует предварительную настройку XDM-окна, добавляя в список xdm-config скрипт Xsetup_workstation. Таким образом, список xdm-config в файле /etc/X11/xdm/xdm-config имеет следующий вид (изменения выделены жирным шрифтом):

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
! DisplayManager.requestPort: 0
DisplayManager.*.setup: /etc/X11/xdm/Xsetup_workstation

Сам скрипт Xsetup_workstation, расположенный в файле /etc/X11/xdm/Xsetup_workstation, выглядит так:

#!/bin/sh
/usr/X11R6/bin/xsetroot -solid "#356390"
if [ -x /usr/bin/xsri ]; then
/usr/bin/xsri -geometry +5+5 -avoid 300x250 -keep-aspect \
/etc/X11/xdm/ltsp.gif
fi

В файле ltsp.gif находится логотип LTSP, который отображается на начальной стадии загрузки XDM.

На этом настройка сервера завершена. Переходим к подготовке терминалов.

Получение ядра сетевой загрузки Etherboot

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

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

Итак, идем на сайт и выбираем версию продукта (я пользовался версией 5.06). Затем выбираем модуль сетевой карты и тип загружаемого образа (для EPROM или загрузочной дискеты). Если загружен образ дискеты, далее следует выполнить команду

# cat eb-5.0.6-yournic.lzdsk > /dev/fd0

Не забудьте указать правильное название загруженного файла.

Это команда Linux. В DOS следует воспользоваться утилитой RAWRITE, поставляемой с дистрибутивами Linux. Теперь все готово к загрузке терминала. Если все настроено правильно, то на экране появится приглашение XDM. Впрочем, если видеокарта не поддерживает XFree86 4.x, возможно, придется выполнить дополнительную настройку данного терминала.

Подбор X-сервера для устаревших видеокарт

X-серверы версий 3.3.6 и 4.x поддерживают видеокарты по-разному. XFree86 4.0 просто загружает необходимый видеомодуль - если только данная видеокарта поддерживается этой версией. Если же в терминале установлена старая видеокарта (например, очень популярная в свое время S3Trio или S3Virge), то система будет использовать X-сервер версии 3.3.6, где каждому типу видеокарты соответствует свой вид этой программы (например, для S3Virge это XF86_S3V). Если в системе LTSP не установлен нужный XFree, то X-сервер откажется загружаться, о чем вы узнаете из информационной строки на экране терминала:

/tmp/start_ws: /usr/X11R6/bin/XF86_S3V : No such file or directory

Чтобы устранить эту проблему, достаточно указать в каталоге /opt/ltsp/i386/usr/X11R6/bin/ подходящий сервер. В нашем случае это программа XF86_S3V.

Единые параметры настройки терминалов

В проекте LTSP существует возможность корректировки общих и индивидуальных параметров терминалов, благодаря чему система достаточно легко адаптируется к аппаратным и программным особенностям среды. Необходимые параметры и значения хранятся в файле /opt/ltsp/i386/etc/lts.conf. Знакомство с ним мы начнем с секции [Default], определяющей значения, общие для всех подключаемых терминалов. При необходимости для отдельных терминалов эти значения могут быть переопределены:

[Default]
 SERVER  = 192.168.0.1
 XSERVER  = auto
 X_MOUSE_PROTOCOL  = "PS/2"
 X_MOUSE_DEVICE   = "/dev/psaux"
 X_MOUSE_RESOLUTION  = 400
 X_MOUSE_BUTTONS  = 3
 USE_XFS  = N
 LOCAL_APPS  = N
 RUNLEVEL  = 5

Рассмотрим эти параметры по очереди.

SERVER = 192.168.0.1 обозначает машину, выступающую в роли сервера графических приложений.

XSERVER = auto указывает на то, что система сама определяет тип загружаемого сервера XFree86. Рекомендуется это значение не изменять.

X_MOUSE_PROTOCOL = "PS/2" - название протокола манипулятора мыши, используемого на удаленной машине. Если в большинстве компьютеров используется мышь с последовательным интерфейсом, это значение следует изменить на

X_MOUSE_PROTOCOL = "Microsoft"

X_MOUSE_DEVICE = "/dev/psaux" - порт PS/2. Для порта COM1 следует использовать значение /dev/ttyS0.

USE_XFS = N показывает, надо ли использовать сетевой сервер X-шрифтов. Советую настроить XFS-сервер приложений так, чтобы он мог использоваться удаленными машинами (подробнее об этом будет рассказано отдельно). После этого не забудьте изменить соответствующую запись в lts.conf:

USE_XFS = Y

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

Используя этот же файл, можно произвести настройку отдельного терминала, параметры которого отличаются от остальных. Для этого создается секция [terminal], где указываются дополнительные опции или опции, уже существующие в [Default]. В последнем случае локальные значения параметров "перекрывают" общие. В качестве определения [terminal] может выступать имя хоста (в этом случае оно должно быть определено в /etc/hosts или средствами DNS), IP- или MAC-адрес терминала, например [ 00:30:84:0a:62:8d], [192.168.0.200] или [term01].

Теперь можно указать, что данный компьютер использует мышь на порту COM1 и получает список шрифтов с сетевого сервера:

[192.168.0.200]
 X_MOUSE_PROTOCOL  = "Microsoft"
 X_MOUSE_DEVICE   = "/dev/ttyS0"
 USE_XFS  = Y

Важные параметры файла lts.conf

Теперь рассмотрим наиболее часто используемые параметры в конфигурации lts.conf.

XSERVER. Определяет тип X-сервера, который будет выполняться на рабочей станции. Для XFree86 4.x указывают видеомодуль, например atati ati, cirrus, i810. Для XFree86 3.3.6 надо указать имя сервера, например XF86_SVGA, XF86_S3.

X_MODE_0 … X_MODE_10. Настраивает параметры вывода на экран. Можно просто указать разрешение: X_MODE_0 = 800x600, а можно все параметры полностью:

X_MODE_6 = 1280x1024 157.5 1280 1344 1504 1728 1024 1025 1028 1072 +HSync +Vsync

X_MOUSE_PROTOCOL. Тип мыши. Обычно это "PS/2" или "Microsoft".

X_MOUSE_DEVICE. Порт, к которому подключена мышь: /dev/psaux для PS/2 и /dev/ttyS0 для COM1.

X_MOUSE_BUTTONS. Количество кнопок мыши - 2 или 3 (по умолчанию 3).

X_MOUSE_EMULATE3BTN. Режим "Y" соответствует эмуляции третьей кнопки мыши (нажатием двух кнопок одновременно).

USE_XFS. Использование внешнего сервера X-шрифтов.

XFS_SERVER. Имя или IP-адрес сервера шрифтов.

XF86CONFIG_FILE. Использование для терминала собственного конфигурационного файла XFree86. Можно создать для терминала term01 отдельную конфигурацию X, например в файле XF86Config.term01, который находится в папке /tftpboot/ltsp/etc. Затем нужно ввести в секции [term01] параметр, указывающий на этот файл с индивидуальными параметрами настройки X-сервера терминала:

XF86CONFIG_FILE = XF86Config.term01

XkbModel. Модель клавиатуры. Наиболее распространенные значения - "pc101", "pc102", "pc105".

XkbLayout. Раскладка клавиатуры - например, "us" или "ru(winkeys)".

XkbSymbols. Таблица скан-кодов. По умолчанию это "us(pc101)", но ее можно заменить на "en_US(pc105)+ru".

Запуск X-клиента по шифрованному каналу SSH

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

xhost +remote.dom.com

предоставляет графическим клиентам, работающим на компьютере remote.dom.com, доступ к локальным X-терминалам. Если после этого открыть ssh-соединение и запустить любое приложение, например gedit:

[faust@murmansk]$gedit

то для вывода результатов работы gedit будет использоваться удаленная консоль. К тому же поток данных будет передаваться по шифрованному ssh-каналу.

Русская раскладка в LTSP
Как известно, переключение национальной раскладки клавиатуры в Linux осуществляется двумя способами - непосредственно в X-сервере с помощью Xkb или в графической среде KDE/GNOME с помощью утилит, использующих xmodmap. Первый способ в последнее время становится все более популярным, опираясь на развитые средства интернационализации Xkb. Для установки англо-русской раскладки Xkb использует две опции из файла XF86Config (для XFree86 3.3.6; особенности версии 4 описаны далее).

XkbLayout "ru(winkeys)"

XkbOptions "grp:alt_shift_toggle,grp_led:scroll"

XkbLayout "ru(winkeys)" указывает на русскую раскладку, совместимую с Windows; XkbOptions "grp:alt_shift_toggle" определяет комбинацию клавиш для переключения между раскладками. В нашем случае это <ALT> + <SHIFT>. В настойках lts.conf есть возможность указать XkbLayout, но не XkbOptions. Чтобы "перехитрить" LTSP, придется немного поработать над инициализационными скриптами этого пакета.

Дело в том, что в процессе загрузки терминала скрипт /opt/ltsp/i386/etc/rc.setupx3 генерирует конфигурационный файл для Xfree 3.3.6 - XF86Config. В этот скрипт надо добавить одну строчку. Найдите блок определения клавиатуры, начинающийся строками:

Section "Keyboard"

Protocol "Standard"

AutoRepeat 500 5

После опций

XkbModel "${XkbModel}"

XkbLayout "${XkbLayout}"

добавьте

XkbOptions "grp:alt_shift_toggle"

Это подходит, если на терминале выполняется X-сервер версии 3. Для XFree86 4.0 конфигурация строится при помощи скрипта /opt/ltsp/i386/etc/rc.setupx. В этом файле находим раздел

Section "InputDevice"

Identifier "Keyboard0"

Driver "keyboard"

Option "XkbLayout" "${XkbLayout:-"us"}"

EndSection

И в нем после Option "XkbLayout" "${XkbLayout:-"us"}" добавляем

Option "XkbOptions" "grp:ctrl_shift_toggle"

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

Для этого демон xfs должен запускаться в режиме, допускающем обращение сетевых компьютеров к его ресурсам. С этой целью можно использовать конфигурационный файл /etc/X11/fs/config. Деактивируем в нем параметр no-listen = tcp:

# don't listen to TCP ports by default for security reasons

#no-listen = tcp

Затем надо установить загрузку демона xfs с ключом, предполагающим его конфигурирование необходимым файлом. В системе RH можно исправить стартовый сценарий /etc/rc.d/init.d/xfs, заменив в секции start() строчку

daemon xfs -droppriv -daemon

на

daemon xfs -droppriv -daemon -config /etc/X11/fs/config

Для использования сетевого сервера шрифтов конфигурация X-сервера предусматривает параметр FontPath "unix/:7100" в файле XF86Config и XF86Config-4. Это значение используется по умолчанию и означает обращение к локальному xfs через порт 7100. Для загрузки шрифтов с сетевого ресурса вместо unix нужно указать имя хоста или IP-адрес сервера:

FontPath "192.168.0.1/:7100"

Пакет LTSP, в свою очередь, предлагает использовать для этой цели параметры

USE_XFS = Y

XFS_SERVER = 192.168.0.1

Типы энергонезависимой памяти

ROM. Read-Only Memory, память, доступная только для чтения. Используется в BIOS для хранения постоянных данных. Не требует энергопитания. Другими словами, информация на таких чипах не стирается, даже если выключить компьютер. Эти чипы программируются на стадии производства и изменить записанную на них информацию нельзя.

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

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

EEPROM. Electrically EPROM, электроуправляемая EPROM. Разновидность EPROM, в которой стирание информации в микросхеме и подготовка ее к записи производится электрическим зарядом. Такая память отстает от RAM по скорости работы, но зато является энергонезависимой. Особенность ее принципа записи - один байт за такт.

FRAM. Ferroelectric Random Access Memory, ферроэлектрическая память произвольного доступа. Эта технология обеспечивает скорость работы, сравнимую с DRAM и SDRAM, в сочетании с энергонезависимым хранением информации. Все это привело к тому, что FRAM вытеснила EEPROM во многих устройствах. FRAM - зарегистрированная торговая марка Ramtron International Corporation.

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

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

 Новые статьи на Linuxbegin.ru:

Обзор свободного софта для создания и показа презентаций - Mini-HOWTO.
Мой MiniHOWTO адресован людям, которые используют портативный компьютер под управлением Linux, и хотят применить его для демонстрации презентаций с помощью проектора, используя при этом ПО с открытым исходным кодом, а не проприетарное ПО (такое, как PowerPoint).
История о том, как я настраивал USB flash-memory-drive в Linux
Итак, купил я себе замечательную вещь, USB Flash Memory Drive, в народе называется просто "флешка". Интернета у меня временно нет, поэтому желание скачать документацию и "сделать все как написано" сразу пропало, и появилось желание поэкспериментировать...
Так ли хороша VMware для пользователей Linux?
Конечным результатом моих изысканий является то, что концепция VMware, при всех ее недостатках, достаточно привлекательна. Она может быть полезна в среде разработки, для программирования или для системного администрирования. Но ее не стоит использовать в сфере производства -- если действительно необходимы две операционных системы, лучше купить два компьютера...
ОС - не роскошь, а средство передвижения
Героические полеты Васи Пупкина подвигли меня изложить собственное видение проблемы - операционные системы и транспортные средства, темы, над которой я много размышлял (даже писал как-то - в книжке своей, что про Linux). Да и опыт Василия показался мне пока несколько ограниченным - ведь средства эти самолетами отнюдь не исчерпываются...
Linux. Cистема безопасности
Если ваш компьютер работает под управлением Linux, если он постоянно включен и все время соединен с Internet, и на нем, к тому же, хранится важная информация - думаю, вы явно не хотели бы, чтобы доступ к ней имел кто-нибудь ещё..
Изготовление мультизагрузочного CD-диска.
Немногие производители специализированного коммерческого софта под Windows включают в свои продукты возможность создания загрузочных компакт-дисков. Но мне ещё не приходилось встречать программу, позволяющую создавать мультизагрузочные диски. На мой взгляд, создание таких дисков в среде Linux - задача более простая, чем в Windows.
Использование OpenOffice.org
В этой статье даются некоторые практические рекомендации по использованию пакета OpenOffice. Автор статьи работает в среде KDE, но основные приемы работы и комбинации клавиш так же работоспособны и в среде GNOME, и при работе с другими оконными менеджерами.
Краткое сравнение KDE 3.1 и GNOME 2.2
Наш герой установил и сравнил две наиболее популярных графических среды для Linux и прочих UNIX'ов. Итак, рассмотрим KDE 3.1 (релиз от 28 января 2003) и GNOME 2.2 (релиз от 6 февраля 2003)...
Установка и настройка эмулятора Windows - wine
Многие из тех, кто перешел на Linux, сделав ее основой своей рабочей станции, столкнулись с проблемой запуска приложений для Windows операционных систем. Для запуска таких программ используются эмуляторы... Но не стоит забывать, что при использовании wine вы подвержены вирусам, написанным для Windows :).
Первым делом, первым делом - самолёты...
Ещё одно сравнение современных осей с самолётами. По-моему, получилось правильно - судить вам. В следующий раз сравню среды разработок с авто.
Запись CD в Linux + описание программ для записи.
Полный мануал по записи СД в Линукс (апдэйт статьи "Болваним в Линукс"). Рассмотрены теоретические и практические основы + описание работы с программами для записи.
Рискованные развлечения.
Вы - руководитель. Вы впечатлены рекламой Linux и желаете быть прогрессивным - перевести офис на новую базу. Что вас ожидает? Речь идёт, конечно, не о серверном, а об офисном применении.
Доступ к Linux-разделам из Windows.
Использование Total Commander и Explore2FS для использования Linux-разделов из Windows. Включение режима записи в Explore2FS + иллюстрации.
Начало программирования в Linux.
Я решил написать эту статью, поскольку я столкнулся при переходе с Windows на Linux с тем, что способы программирования в Linux значительно отличаются от традиционного Windows. Поначалу это было очень страшно. Тем более, что во всех форумах пишут, что для программирования в Linux можно использовать только vim и gcc, а для отладки - gdb. Безусловно, с помощью этих программ и создают программы в Linux, но для новичка это - не самый лучший способ..
Самый большой недостаток Linux.
Самый большой недостаток Linux - это не удобство использования или установки. Нет проблем с программным обеспечением. Поддержка аппаратных средств - нормальная. И мне действительно кажется, что Linux уже готов для массового использования. Но величайший недостаток заключается в другом - просто никто до сих пор не знает, что такое Linux...
Курсы по Линукс.
Для новичка, который хочет научиться работать с Linux, существует несколько путей - можно накупить книг, и читать их, можно рыскать по интернету в поисках нужной информации, можно зайти на сайт LinuxBegin.ru и взять всю нужную информацию там. Но кроме документации и советов бывалых пользователей всё же нужен некоторый опыт работы..
Мифы о Linux.
Вы уверились в прогрессивности Linux? Вы решили, что это - последнее слово? Вы поверили рекламной кампании? Не спешите. Очень многое в Linux является совсем не тем, чем кажется...
LAN Информационный сервер -- LISa.
LISa -- маленький "демон" (daemon), предназначеный для работы на пользовательских системах. Он обеспечивает нечто вроде "сетевого окружения", полагаясь при этом лишь на стек протокола TCP/IP, не используя smb (SAMBA) или чего-то подобного.

 Новые статьи (ru):

Linux без проблем на личном примере (Knoppix рулез форева).
История одного знакомства с Linux...
Как разделяют пингвинов - 1.
Как и любая другая операционная система, Linux обычно размещается на жестком диске компьютера, и пользователю, начиная с установки и заканчивая повседневным пользованием, приходится как-то взаимодействовать с разделами винчестера...
Как разделяют пингвинов - 2.
В первой части статьи мы рассмотрели вопросы, связанные так или иначе с дисковыми разделами. Но создать раздел на диске мало — для того, чтобы можно было разместить на нем данные, необходимо позаботиться о создании на нем файловой системы.
Аудиопроигрыватель ZINF.
О новом аудиоплейере, продолжающем дело FreeAmp.
Дух ветра.
Испокон веков для чтения и отсылки почты под Линуксом я использовал программу Kmail, которая входит в поставку любого дистрибутива, оснащенного графической оболочкой KDE. О другом популярном e-mail клиенте, Sylpheed, разработанном японцем Хироюки Ямамото, я слышал давно, однако в силу врожденной лени не обращал внимания...
Основные команды Linux.
Очень краткий справочник.
Запуск Linux без жесткого диска.
Вы можете запустить полноценный Linux на своей машине, используя только CD-ROM. Здорово? Вот она - демонстрация настоящей мощи и продуманности Linux..
Локальное SSH-туннелирование.
Хотите шифровать потоки информации, которые обычно идут “открытым текстом”? Туннелирование может оказаться для вас полезным.
Перенос Linux на другой жесткий диск с сохранением работоспособности.
Всё понятно из названия.
Справочное руководство по MySQL.
Документация по MySQL 4, переведённая на русский язык.
Оформление вывода в shell-сценариях.
Программирование на Shell.
Новичкам: компилируем Linux-ядро.
Статья для тех, кому нравится стиль журнала ][ :).
Open Source – где начинается второе дыхание?
Проблема идеологии Open Source и её возможные решения.

 Новые статьи (en):

Switching to Linux? From the end user's perspective.
Открытое письмо человека, который перешел на Linux.
A strategic comparison of Windows vs. Unix, version 2.0.
Сравнение Windows и Unix.
KDE 3.1 vs. GNOME 2.2: How GNOME became LAME.
Продолжение темы "KDE против Gnome".
Digital CD playing in Linux.
Руководство по проигрыванию CD с иллюстрациями.
Approaches to a Linux PVR.
Создание персонального video recorder'а на основе Linux.
Linux Drive and Partition Basics.
О разделах.
Advice for Buying a Linux-Compatible Laptop.
Выбор laptop'а для работы в Linux.
Moving to Linux: A Small Business Introduction to Using Linux.
Причины перехода предприятий на Linux и 3 первых шага, которые необходимо для этого сделать.
Roll Your Own $450 Linux Box.
Как собрать дешевый компьютер с Linux.
TransGaming gives Linux game.
Интервью с CEO компании TransGaming Technologies - Gavriel State. О компании Transgaming и о текущем состоянии игр для Linux вообще.
Red Hat sees no threat in UnitedLinux.
Matthew Szulik, CEO компании RedHat, рассказывает о планах развития своего дистрибутива и о том, что они не собираются присоединяться к инициативе UnitedLinux.
CollegeLinux: Learning the Linux Way.
Интервью с создателями дистрибутива College Linux.
Perceptions: Is Linux a suitable desktop platform?
Лидер проекта Samba рассуждает о применении Linux на десктопе.
Mitchell Baker of mozilla.org on Browser Innovation, Gecko, and the Mozilla project.
Размышления участника проекта Mozilla о будущем Web и браузеров.
Young project leader hopes to make Linux software installation easier.
Интервью с Mike Hearn, лидером проекта Autopackage. Цель проекта - создание универсальной системы для работы с пакетами в Linux (один из важнейших аспектов - обработка зависимостей).
Interview with Linus Torvalds.
Создатель Linux отвечает на вопросы журнала Linux Magazine.
School Laboratory Management Blues.
О поддержке школьных лабораторий и архивировании загрузочных образов.
Two OCR packages for Linux compared.
Сравнение 2 программ распознавания текста - Kooka & Gocr (свободный софт) и OCR Shop (проприетарный софт).
Windows or Linux: hazards of a choice.
Перенос баз данных с Windows на Linux является не только трудной задачей, но и занимает немалое количество времени. Стоит задуматься о неожиданных расходах - например, на оплату труда нового специализированного персонала...
Linux isn't free but it does pay.
По словам Richard'а Voaden'а из IBM, Linux способен приносить немалую прибыль. Он считает, что слишком многие заблуждаются в своих мнениях о "бесплатности Linux"...
A tale of two licenses: Part 1 (MS EULA).
На что вы соглашаетесь, когда нажимаете "OK" при появлении лицензионного соглашения Microsoft?
Windows servers seek to unseat Unix, Linux.
После выхода Microsoft's Windows Server 2003 начнется борьба за сервера среднего класса...
Perspective: Microsoft's foreign policy on Linux.
Опять о взаимоотношениях Microsoft и Linux.
How Far Can Open Source Go?
О перспективах развития Open Source.
Business case for Linux Desktop in India.
Факторы распространения Linux в Индии.
Moto and Linux.
Motorola + Linux = будущее мобильных телефонов?
Alternative Licensing for Music.
Альтернативное лицензирование музыки.
SanDisk ImageMate Dual Reader.
Использование внешнего USB Flash card reader'а в Linux.
Exploring RSA Encryption.
Использование шифрования RSA.
Samba + XP.
Как подружить Samba на Linux и Windows XP? Оказывается, это вполне можно.
Linux ext3 FAQ.
Ответы на часто задаваемые вопросы по журналируемой файловой системе ext3fs.
/etc under cvs.
Организация контроля изменений конфигурационных файлов в /etc разными системными администраторами.
Qt and PyQt.
Статья знакомит программистов на языке Python с библиотекой PyQT, позволяющей создавать GUI приложения на Python в стиле Qt toolkit.
Manage packages using Stow.
В статье описывается Stow - альтернативный интерфейс для управления пакетами программ в Red Hat и Debian Linux.
Secure MySQL Database Design.
Интересная статья, описывающая аспекты создания защищенных приложений для MySQL. Рассматриваются концепции увеличения безопасности и разграничения привилегий.
The ELF Virus Writing HOWTO.
Создание вирусов для Linux + способы защиты.
Optimizing GCC.
Оптимизация и ускорение работы компилятора.
Secure Untrusted Applications with Chroot.
Подробно освещена проблема помещения программ в chroot окружение под Linux. Рассказано, как подготовить chroot окружение, содержащее только необходимые библиотеки и программы, и как проверить работоспособность созданного окружения.
"Dualling" Nameservers on OpenBSD.
В статье подробно описывается, как настроить пакет djbdns для создания DNS сервера, одновременно обслуживающего запросы из внешнего мира и из локальной сети (технология split-view).

 Читайте в следующем номере:

Проголосуйте за понравившуюся вам статью, отправив мне письмо по Email. Та статья, которая наберет больше всего голосов, будет опубликована в выпуске #44. Статья, занявшая второе место, будет размещена в выпуске #45. Там же появится новое голосование, и т.д.

Linux без проблем на личном примере (Knoppix рулез форева) - История одного знакомства с Linux... (Только не это!)
Запись CD в Linux - Теоретические и практические основы + описание программ для записи. (Только не это!)
Что такое SAMBA? - Довольно часто в одной локальной сети можно встретить компьютеры под управлением Linux и Windows... (Только не это!)
Обзор Lindows - Что только не говорят об этом дистрибутиве в последнее время... :). (Только не это!)
30 дней на свободном ПО - Впечатления от ASP Deluxe Edition и о последних достижениях из мира Linux. (Только не это!)
Новая OS каждый день - Обновление системы, дистрибутивы и репозитарии. (Только не это!)
Не нужно ничего из вышеперечисленного - Тогда я размещу какую-нибудь супер новейшую статью :).
Ваше предложение - Пишите на xoid26@linux-online.ru, какую информацию хотели бы вы видеть в рассылке, и, может быть, в следующих выпусках вы найдете именно то, что вам нужно!!

 Лучшие Linux-проекты Рунета:

*nix project.

Цель проекта: помогать начинающим в unix-like операционных системах. На сайте присутствуют: новости, статьи, каталог программ, драйвера, и многое другое! Вся информация - на русском языке и постоянно обновляется.

http://www.nixp.ru

/\ Наверх /\ OS Linux для начинающих. (c) 2003 Valery V. Kachurov


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное