Предыдущий Содержание Следующий

4.3  Система X Window

Система X Window является стандартным GUI (Графическим Интерфейсом Пользователя) для всех UNIX платформ, включая Linux. В отличие от Windows и MacOS, в Linux и Unix, GUI не имеет ничего общего с ядром операционной системы. Это независимые части. Это придаёт системе большую стабильность: если GUI зависает, это не приводит к зависанию всей системы.

Единственная проблема с X, это то, что её достаточно трудно настроить. Тем не менее, в Slackware 7 представлена безнастроечная установка X, Которая использует framebuffer драйвер. А это означает, что вам не надо проходить через процедуру настройки описанную в подразделах xf86config и XF86Setup. framebuffer будет работать на всех VESA 2.0 - совместимых видео картах. Что в свою очередь означает, что все современные видео-карты будут работать в X. Но всё же, framebuffer работает значительно медленнее, чем правильно настроенный под вашу видео-карту X сервер.

Если вы всё же решили использовать framebuffer сервер, то вам надо установить пакет xxfb.tgz из раздела программ X. Вам так же необходимо будет выбрать одно из разрешений консоли во время процесса настройки в программе установки. Тем не менее, для большинства пользователей мы всё же рекомендуем пройти через процедуру настройки X.

Если вы решили настроить X в вашей системе, то вам надо следовать инструкциям из раздела 4.3.1 или из раздела 4.3.2. Первый из разделов описывает использование xf86config(1) - программу в стиле командной строки, для настройки X. Второй из разделов относится к программе XF86Setup(1) - графической версии программы настройки.

4.3.1  xf86config

xf86config это одна из двух программ, для настройки X, доступных в вашей системе. Основная идея довольно проста. Вам следует ответить на серию вопросов с фиксированным числом ответов. Выбирайте ответы, наиболее подходящие вашей системе. После того, как вы пройдётесь через всю программу, она создаст файл /etc/XF86Config(5)23. И вы будете готовы к запуску X. Если вы ошиблись где-то, вам надо прервать выполнение программы при помощи control+c и начать всё с самого начала.

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

# SuperProbe

Её запуск выдаст вам вначале предупреждение о возможном подвисании системы. Если это испугало вас, то выйдете при помощи control-c до того, как пяти секундный отсчёт не закончился. Если вы всё же продолжите,то вы получите некоторую информацию о вашей видео-карте:

First video: Super-VGA
Chipset: ATI 264GT3 (3D Rage Pro) (Port Probed)
Memory: 4096 Kbytes
RAMDAC: ATI Mach64 integrated 15/16/24/32-bit
        DAC w/ clock
        (WITH 8-BIT WIDE Lookup tables)
        (programmable for 6/8-bit wide lookup tables)
Attached graphics coprocessor:
       Chipset: ATI Mach64
       Memory: 4096 Kbytes

Вот так выглядит информация для ATI Rage Pro видео-карты. Запишите информацию о вашей видео-карте или переключитесь на другой виртуальный терминал (используя комбинацию клавиш alt-Fx (функциональная клавиша), где x - число от 1 до 6) и запустите там xf86config. Информация о видео-карте понадобится вам позже. xf86config должна быть запущена пользователем root, так как она запишет фалы и создаст символические ссылки в местах, где только у root пользователя есть права на запись:

# xf86config

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

Mouse protocol
(протокол мыши).


Figure

Выберите тип вашей мышки из списка. Большинство компьютеров сегодня поставляются с PS/2 или Microsoft Intellimouse. Более старые мышки, вероятно, потребуют один из более старых протоколов.

Emulate3Buttons
(эммулировать 3-ю кнопку).


Figure

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

Mouse device name
(имя устройства мышки).


Figure

Обычно вариант по умолчанию - /dev/mouse сработает здесь. Но если ваша мышь подключена к какому-то необычному порту, вам необходимо ввести что-то другое. Для большинства мышек, подключённых к последовательному или PS/2 портам, подойдёт вариант по умолчанию.

XKEYBOARD extension
(расширение XKEYBOARD).


Figure

Если вы не выберете эту опцию, то вы получите какое-то странное поведение backspace и delete кнопок. Выбор расширения клавиатуры приведёт к тому, что кнопки будут работать так, как они и должны.

Bindings for alt keys
(назначение дополнительных кнопок).

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

Horizontal sync range
(диапазон синхронизации по горизонтали).


Figure

Это первый из вопросов о вашем мониторе. Очень важно сделать здесь правильный выбор. Не выбирайте диапазон, выходящий за пределы спецификации вашего монитора. Это не так важно на новых мониторах, так как у них есть защита и они не вылезут за свои пределы. Более старые мониторы могут быть повреждены, при указании диапазона превосходящего возможности монитора. Так что если вы сомневаетесь, лучше перестрахуйтесь и выберите консервативный диапазон. Очень полезно иметь под рукой документацию от вашего монитора. Для большинства современных мониторов вы можете выбрать 31.5-48.5 или 31.5-57.0. Те из вас, у кого high-end мониторы, могут выбрать один из более широких диапазонов. Или вы можете ввести свой собственный диапазон частот, если вы не можете выбрать подходящий из списка.

Vertical sync range
(диапазон синхронизации по вертикали).


Figure

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

Identification strings
(строка идентификации).

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

Video card database
(база данных видео-карт).


Figure

Следующий большой подраздел при настройке X относится к вашей видео-карте. Документация от видео-карты и информация, полученная при помощи SuperProbe помогут вам при её настройке. Скорее всего, вы захотите заглянуть в базу данных видео-карт, чтобы выбрать вашу из списка, так что отвечайте ''y'' здесь. Если вы просто нажмёте ввод, то вы пропустите этот экран и перейдёте к следующему. В базе данных есть около 800 карт. В левом столбце указан номер каждой из видео-карт, и их названия. В правом столбце содержится информация о чипсете, использованном в данной видео-карте. Продолжайте нажимать ввод, пока не найдёте вашу видео-карту. Когда вы найдёте её, введите соответствующий ей номер и нажмите ввод. Если вы не знаете, какой тип видео-карты у вас установлен, вам предоставляется несколько возможностей. Первое - вы можете посмотреть ''Chipset'' строку из вывода SuperProbe и поискать карту с таким чипсетом в базе данных. Так же вы можете воспользоваться ''generic SVGA'' типом карты. Многие карты, для которых нет их собственного X сервера, поддерживаются SVGA сервером, так что скорее всего, это и будет ваш выбор. После выбора карты, вы получите более детальную информацию. Продолжая использовать ATI Rage Pro для примера, вы получите такое сообщение:

Your selected card definition:
Identifier: ATI Mach64
Chipset: ATI-Mach64
Server: XF86_Mach64
Do NOT probe clocks or use any Clocks line.

На этом этапе вам следует проверить, что вы установили пакет сервера. XF86_Mach64 сервер находится в пакете xma64.tgz. Убедитесь, что необходимый пакет установлен, иначе вам не удастся запустить X.

Which server to run?
(какой из серверов запускать?).


Figure

Этот вопрос предлагает вам выбрать один из серверов, пригодных для использования. Если вы выбрали видео-карту правильно, просто нажмите ввод здесь. Это скажет X пользоваться сервером, специфичным для вашей видео-карты. Так же вы можете выбрать Mono сервер, VGA16 сервер, SVGA сервер, или accelerated сервер. Лучше всего использовать сервер, указанный для вашей видео-карты.

Setting the symbolic link
(установка символической ссылки).


Figure

Это установит ссылку на соответствующий сервер.

Video memory
(видео память).


Figure

Выберите размер имеющейся у вас видео памяти. Вы можете использовать SuperProbe для получения этой информации. Если в списке нет подходящего варианта, то вы можете выбрать ''Other'' и ввести вручную объём вашей видео памяти. Обратите внимание, что объём должен быть указан в килобайтах.

Identification strings
(строчки идентификации). Вам предложат ввести три идентификационных строчки. Как и с монитором, вы можете просто нажать ввод три раза, или ввести названия, какие пожелаете.
RAMDAC
Вам понадобится выбрать RAMDAC только если вы пользуетесь S3, AGX или W32 серверами. SuperProbe скажет вам, какой тип RAMDAC чипа присутствует на вашей видео-карте. Пройдитесь по списку, пока не найдёте нужный вам и введите соответствующий ему номер. Если вы пользуетесь не S3, AGX или W32 сервером, введите ''q'' для продолжения без выбора RAMDAC.
Clockchip setting
(установки clockchip).


Figure

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

Clocks line
(clock строчка).

Следующий экран полон информации о том, что такое ''clock line''. В соответствии с приведенным объяснением, на современных видео-картах это вам не понадобится. Затем вам будет предложено проверить clock. Вам так же будет сообщено, следует ли проверять это для вашей карты. В случае с ATI картой xf86config выдаст:

The card definition says to NOT probe clocks.

Если вы увидите что-то вроде этого, выберите ''n''. Очень старые графические карты потребуют выполнения этого процесса. xf86config подскажет вам, что делать в таком случае.

Video modes
(видео режимы).


Figure

Ну вот, наступило время выбрать в каких режимах ваш X сервер будет работать. Вы увидите четыре различных глубины цвета - 8bpp, 16bpp,24bpp и 32bpp. Возле каждого есть список различных видео режимов, которые могут быть использованы с этой глубиной цвета. Когда вы запустите X, он запустится с глубиной цвета по умолчанию и с первым из перечисленных для этой глубины разрешений. Если вы захотите изменить разрешение по умолчанию, сейчас самое время сделать это. Если порядок режимов вас устраивает, выберите ''Ok''. Иначе выберите глубину цвета, для которой хотите сделать изменения. Например, вам предоставлен следующий выбор:

"640x480" "800x600" "1024x768" "1280x1024" for 8bpp
"640x480" "800x600" "1024x768" "1280x1024" for 16bpp
"640x480" "800x600" "1024x768" "1280x1024" for 24bpp
"640x480" "800x600" "1024x768" for 32bpp

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

Which modes? 5432

Вы так же можете удалить те разрешения, которые захотите. Если ваша видео-карта не может работать при 1280x1024, то нет никакого смысла пробовать этот режим. Вы можете удалить этот режим, ответив:

Which modes? 432

После выбора режимов для этой цветовой глубины, вас спросят, захотите ли вы использовать виртуальный экран, который больше чем ваш физический экран. Виртуальный экран больше вашего монитора. Когда вы двигаете мышью по виртуальному экрану, она будет ''пролистывать'' экран, при подводе курсора к краю. Это позволяет разместить больше окон на вашем экране. Но так как вы не можете видеть весь экран сразу, это может стать раздражительным. Но интересно попробовать поиграть с этой опцией. Так что если захотите, то вперёд. Затем вы вернётесь в список видео режимов. После изменения для 24bpp глубины он будет выглядеть следующим образом:

"640x480" "800x600" "1024x768" "1280x1024" for 8bpp
"640x480" "800x600" "1024x768" "1280x1024" for 16bpp
"1280x1024" "1024x768" "800x600" "640x480" for 24bpp
"640x480" "800x600" "1024x768" for 32bpp

Продолжите изменения для остальных глубин цвета, если пожелаете. Когда завершите, нажмите ''Ok'' для продолжения.

Write the config file
(запись конфигурационного фала).

Ну вот, настройка X завершена xf86config, должен ли он записать настройки в файл /etc/XF86Config. Если вы захотите пользоваться X, вы вероятно должны ответить ''y'' на этот вопрос, так как именно там X будет искать файл настроек.

В случае, если вы правильно ответили на все вопросы, и установили пакет X сервера, то теперь вы можете запустить X следующим образом:

$ startx

Если вы установили KDE или GNOME, то один из них загрузится. Иначе вам надо запустить xwmconfig и выбрать, какой из оконных менеджеров (Window managers) вы хотите, чтобы запускался по умолчанию. Оконные менеджеры будут описаны позже в этой части. xwmconfig устанавливает оконный менеджер по умолчанию только для пользователя, который запускает программу. Если в вашей системе есть несколько пользователей, каждому из них будет необходимо запустить программу, чтобы выбрать себе оконный менеджер.

Существует несколько комбинаций клавиш, которые весьма полезны при использовании X. Если вам надо выйти из X, и вы не можете сделать это правильно, воспользуйтесь комбинацией клавиш control-alt-backspace, которая ''убьёт'' X и выбросит вас в текстовый режим. Вы можете переключиться на терминалы командной строки, из X, нажав control-alt-функциональная кнопка. X запускается на 7-ом терминале, так что вы можете вернуться в X, нажав alf-F7. Ну и наконец, вы можете переключать видео режимы, находясь в X. control-alt-numeric keypad + переключит вас на следующее более высокое разрешение, в то время как control-alt-numeric keypad - переключит на следующее более низкое разрешение.

4.3.2  XF86Setup

Второй способ настройки X - программа XF86Setup, графическая программа настройки, которая является частью пакета xset.tgz. Вам так же необходимо установить xvg16.tgz.

Чтобы запустить XF86Setup, войдите в систему как root и выполните:

# XF86Setup

Если у вас уже есть /etc/XF86Config файл (если вы уже настраивали X), то вам будет задан вопрос, хотите ли вы использовать существующий файл. Иначе программа сразу перейдёт в графический режим.


Figure

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

4.3.3  Сессионные файлы настроек

xinitrc и ~/.xinitrc

xinit(1) - фактически является программой, запускающей X; она выполняется из startx(1), так что возможно, вы не заметили этого (и скорее всего это вам знать и не надо). Тем не менее, её конфигурационный файл определяет, какие программы (включая и оконный менеджер) запускать при загрузке X. xinit вначале проверяет, есть ли в вашем домашнем каталоге .xinitrc файл. Если она находит его, он выполняется, а иначе выполняется /var/X11R6/lib/xinit/xinitrc (системный файл по умолчанию). Вот пример простого xinitrc фала:

# !/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
    xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi
# start some nice programs
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

Все из этих ''if'' блоков используются для подключения разных конфигурационных фалов. Очень скоро мы вернёмся к .Xresources, а вот файл .Xmodmap мы оставим в покое. Наиболее интересная часть файла расположена в конце, это та часть, где запускаются различные программы. Эта X сессия начнётся с twm(1) оконным менеджером, с часами и с тремя терминалами. Обратите внимание на exec в строчке запуска последнего из терминалов. Эта команда говорит, что этот терминал (xterm(1)) заменит текущую оболочку (ту, которая запустила xinit сценарий). Когда пользователь выйдет из этого xterm, X сессия закончится.

Если вы хотите, определить, какие из программ должны быть запущены в X сессии, скопируйте /var/X11R6/lib/xinit/xinitrc в ~/.xinitrc и отредактируйте его, разместив там строчки, запускающие те программы, которые вы пожелаете. Последние строчки моего выглядят вот так:

# Start the window manager:
exec startkde

Обратите внимание, что есть несколько xinitrc.* файлов в каталоге /var/X11R6/lib/xinit, которые соответствуют разным оконным менеджерам и GUI-ам. Вы можете пользоваться тем из них, каким пожелаете.

.Xresources и .Xdefaults

Многие из программ X, для получения различных предпочтений пользователя (цвета, шрифты, и т.д.), используют X Resource Database. Эта база данных обслуживается при помощи xrdb(1) программы, которую напрямую, скорее всего вы никогда не станете запускать. В Slackware она запускается автоматически из xinitrc. Файл из которого xinitrc указывает программе xrdb загружать предпочтения -  /.Xresources. xrdb так же загрузит  /.Xdefaults. Минимальный файл .Xresources выглядит следующим образом:

xterm*background: black
xterm*foreground: gray
xterm*scrollBar: true
xterm*font: -*-lucidatypewriter-*-r-*-*-15-*-*-*-*-*-*-*

Эти четыре строчки определяют настройки для xterm программы. Xresource имеет следующую структуру:

program*option: setting/value

Таким образом содержание .Xresources должно быть само-достаточно для понимания. Не пугайтесь строчки с шрифтами; шрифты для X всегда описываются таким способом.

Серверы и оконные менеджеры

Изначально X Window система была разработана, для работы сквозь сеть. Один большой сервер выполняет X программы, а на экран они выводятся на других машинах-клиентах, где угодно в сети. Возможность удалённо выводить на экран программы может иметь много преимуществ. Главные недостатки этой концепции в том, что она менее безопасна, чем локально выполняемые программы, а так же она очень требовательна к сетевым ресурсам. Вы найдёте обсуждение этой концепции ниже в разделе 4.3.5.

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

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

Большое количество оконных менеджеров действительно отличает Linux от Windows. В Windows, у вас есть одна основная оконная среда. В Linux вы можете пользоваться одним из многих оконных менеджеров, каждый с различным внешним видом и различными настройками. Некоторые люди назовут это недостатком, так как нет одного стандартного внешнего вида. Но большинство пользователей Linux назовут это достоинством, так как вы можете настроить вашу систему так, как пожелаете.

4.3.4  Выбор рабочего стола

Многие годы Unix использовался исключительно как операционная система для серверов, за исключением мощных профессиональных рабочих станций. Только люди с техническими наклонностями пользовались Unix, как операционной системой, и интерфейс пользователя соответствовал этому факту. GUI были скелетами, разработанными для запуска нескольких необходимых приложений, вроде CAD программ и image render-ов. Управление файлами и системой производилось исключительно из командной строки. Различные производители (Sun Microsystems, Silicon Graphics, и т.д.) продавали рабочие станции с попытками предоставления ''look and feel'', но большое разнообразие сред разработки для GUI привело к исчезновению единого стандартного рабочего стола. Полоса прокрутки может выглядеть по разному в разных программах. Меню расположены в различных частях окна. В программах встречаются разные кнопки и переключатели. до тех пор, пока пользователями были лишь технические профессионалы, это было не очень важно.

С появлением свободных Unix подобных ОС, и растущим числом различных графических приложений, X стал использоваться в качестве рабочего стола пользователями. Большинство, конечно очаровано внешним видом предлагаемым Microsoft-овским Windows и Apple-овским MacOS; недостаток такого разделения в направлениях X-ориентированных приложений, стал барьером к более широкому использованию программ. В ответ на это появились два проекта с открытым исходником: The K Desktop Environment или KDE, и GNU Network Object Model Environment, известная как GNOME. Каждая из которых имеет широкий спектр приложений, от панелей задач и менеджеров файлов, до игр и офисных пакетов, написанных с теми же GUI toolkit, и сильно внедрёнными, чтобы предоставить универсальный и завершённый рабочий стол.

Различия между KDE и GNOME не очень велики. Они выглядят по разному, так как написаны с различными GUI toolkit. KDE основан на Qt библиотеке от Troll Tech AS, в то время, как GNOME основан на GTK, наборе инструментов, изначально разработанном для GNU Image Manipulation Program (или GIMP). Так как проекты независимы, то и разрабатываются они разными дизайнерами и программистами, с разными стилями разработки и с различной философией. Тем не менее, результат в обоих случаях, фундаментально идентичен: полная, тесно интегрированная рабочая среда и набор приложений. По функциональности и внешнему виду, обе среды предоставляют все те же функции, что и другие операционные системы.

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

В добавок к GNOME и KDE, в Slackware есть большая коллекция оконных менеджеров. Некоторые разработаны, как эмуляторы других ОС, некоторые для персональной настройки, другие для скорости. Выбор велик. Конечно, вы вольны установить столько, сколько пожелаете, поиграться с ними и выбрать какой же больше всех остальных вам больше нравится.

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

$ xwmconfig


Figure

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

А потом просто запустите X:

$ startx

4.3.5  Экспортирование экрана

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

Здесь следует определить использование слов ''клиент'' и ''сервер''. Когда вы экспортируете экран, можно запутаться в том, кто есть клиент, а кто сервер. Машина, которая выполняет X программы и посылает изображение, будет называться сервером. Машину, на которой изображение будет выводиться на экран, назовём клиентом. Программу, показывающую вещи назовём ''сервер'', а работающую программу - ''сервер''.

В этом примере мы будем использовать два компьютера: golf - довольно мощный сервер, расположенный под столом в другом конце забитого людьми и оборудованием кабинета. На нём есть очень много ОЗУ, мощный процессор. В добавок к этому, на нём установлено много X программ, но нет монитора. В другом конце комнаты расположен couch - старый компьютер, с небольшим объёмом ОЗУ и маленьким диском. На нём нет достаточно ресурсов для запуска программы вроде Netscape. couch имеет два существенных преимущества: монитор и он расположен прямо возле шикарного кресла. Вам даже не надо вставать, чтобы пользоваться компьютером. Было бы очень здорово, если бы вы могли запустить Netscape не вставая с кресла. Выход - экспортирование экрана.

Войдите в систему на couch и запустите X. Запустите вашу любимую терминальную программу (xterm, rxvt, eterm, aterm, или любую другую). Первый шаг при настройке удалённого отображения X программ - настройка клиента так, чтобы другие компьютеры могли показывать вывод программ. Для этого используется программа xhost. Она контролирует доступ. Если вы в безопасной внутренней сети, вам наверное безразлично, если кто-то может наблюдать, что вы делаете. В этом случае вы просто разрешите всем в этой сети выводить эту информацию на экран:

couch $ xhost +
access control disabled, clients can connect from any host

С другой стороны, вы можете захотеть сделать это в небезопасной сети (Internet, сеть колледжа, или что то в этом роде). Вы определённо не хотите, чтобы все видели, что вы делаете. xhost позволяет вам выбрать тех, кто сможет смотреть, что вы делаете:

couch $ xhost + golf.foc
golf.foc being added to access control list

Теперь только golf.foc (сервер указанный ранее) может выводить информацию на экран компьютера couch. вы можете проверить, у кого есть доступ для вывода на экран информации, запустив xhost без аргументов:

couch $ xhost
access control enabled, only authorized clients can connect
INET:golf.foc
INET:localhost
INET:couch.foc
LOCAL:

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

Настройка сервера так же не сложна. После того, как вы соединились с сервером, вам надо изменить $DISPLAY переменную. По умолчанию, вероятно, она будет пуста. Вам надо присвоить переменной значение, равное удалённому хосту, плюс число, соответствующее тому, на какую X сессию выводить экран. Скорее всего у вас будет только одна X сессия, так что тут никаких проблем возникнуть не должно.

Вот как надо установить $DISPLAY переменную в нашем примере (если на сервере используется Bash, в других случаях суть такая же, но синтаксис будет немного отличен):

golf $ export DISPLAY=couch.foc:0.0

Это всё, что необходимо сделать для настройки сервера. Теперь, не отсоединяясь, просто запустите X программы оттуда. Весь вывод программ будет послан через сеть на ваш экран.

golf $ netscape &

Эта команда запустит netscape с сервера, но так как переменная DISPLAY указывает на couch, всё будет выводится туда. Вам даже не придётся вставать из-за вашего старого компьютера для того, чтобы запускать программы. Одно важное замечание, которое здесь необходимо сделать: на сервере должны быть установлены все X библиотеки, и другие файлы, необходимые для выполнения программы. В то же время, вам не понадобится /etc/XF86Config файл, так как ничего не выводится на экран сервера.

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

couch $ xhost - golf.foc
golf.foc being removed from access control list
couch $

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

4.3.6  Итог

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


Предыдущий Содержание Следующий

File translated from TEX by TTH, version 2.89.
On 24 Apr 2001, 16:43.