Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Понятие об X Window System

Система, называемая X Window System, или просто X -- это стандартный графический пользовательский интерфейс для систем UNIX, а также мощная среда, поддерживающая многие приложения. Используя X, можно на одном дисплее иметь одновременно несколько окон (window), в каждом из которых может происходить свой сеанс работы (login session). С системами X часто используется координатный указатель типа мыши, хотя он и не является обязательным.

Многие приложения, включая игры, графические программы, средства программирования и создания документов, написаны специально для X. Комбинация Linux и X делает компьютер подлинной рабочей станцией. С помощью сетей, поддерживающих протокол TCP/IP, система Linux может выводить на экран окна X-приложений, работающих на других компьютерах.

Первоначально X Window System была разработана в Массачусетском технологическом институте (Massachusetts Institute of Technology, или MIT). Распространяется система свободно. Имеется много коммерческих приложений и расширений для X Window System. Версия X для системы Linux называется XFree86; она является переложением системы X11R6 и также распространяется свободно. В системе XFree86 поддерживается большое количество видеоадаптеров, включая VGA, Super VGA и ускоренные (accelerated) видеоадаптеры. Система XFree86 является полной реализацией X Window System и содержит собственно X-сервер, большое количество приложений и утилит, библиотеки для программирования и документацию.

Список стандартных приложений для X включает в себя: xterm -- эмулятор терминала, используемый для работы в окнах многими текстовыми приложениями, xdm -- программа, управляющая входом (login) пользователя в систему; man -- программа для постраничного чтения текстов; а также more. Здесь невозможно перечислить всевозможные X-приложения для системы Linux, отметим лишь, что среди них есть программы обработки таблиц (spreadsheets), WYSIWYG-редакторы, программы построения графики и www-браузеры (web browsers), подобные программе Netscape Navigator. Многие программы можно получить отдельно. Теоретически, любое приложение, написанное для X, должно без проблем компилироваться в системе Linux.

Интерфейс X Window System в основном управляется диспетчером окон (window manager). Это дружественная к пользователю (user-friendly) программа, среди прочего, отвечает за размещение окон и поддерживает пользовательский интерфейс, с помощью которого можно превращать окна в иконки (icons), изменять размеры и положения окон, вид рамок окон и т.п. В состав XFree86 входит twm -- классический диспетчер окон, разработанный в MIT, а также более развитые диспетчеры окон, такие, как olvwm (Open Look Virtual Window Manager). Среди пользователей системы Linux популярен fvwm -- небольшой диспетчер окон, занимающий меньше половины объема памяти, которая потребовалась бы для twm. Диспетчер fvwm дает трехмерное изображение окон и виртуальной "поверхности рабочего стола" (desktop). Пользователь может передвинуть указатель мыши к краю экрана, и рабочая поверхность сдвинется, как будто размер экрана больше, чем он есть в действительности. Диспетчер fvwm можно легко приспособить (customize) к конкретному пользователю; доступ к различным функциям в нем возможен как с помощью мыши, так и через клавиатуру. Многие дистрибутивы системы Linux включают fvwm в качестве стандартного диспетчера окон. Версия диспетчера fvwm95-2 своим внешним видом и организацией создает впечатление работы в системе Microsoft Windows 95.

Для системы Linux сегодня существуют два развитых графических интерфейса пользователя: KDE (K Desktop Environment) и GNOME. KDE и GNOME поставляются с большим количеством хорошо интегрированных приложений, в числе которых файловые менеджеры, редакторы, системные утилиты, средства работы со звуком. Вместе с тем, KDE и GNOME требуют для своей работы довольно большого количества оперативной памяти, и если ее окажется недостаточно, то можно использовать Window Maker -- популярный диспетчер окон. Он отличается превосходным дизайном, сделанным по мотивам NextStep, большим количеством тем, и не требователен к ресурсам.

Дистрибутивы XFree86 включают программные библиотеки для тех искусных программистов, которые хотят писать X-приложения. Поддерживаются также библиотеки для создания оконных интерфейсов, такие как Athena, Open Look и Xaw3D. Имеются также все стандартные шрифты, стандартные растровые картинки (bitmaps), справочная документация (в том числе интерактивная). Помимо этого, поддерживается PEX -- интерфейс для программирования трехмерной графики.

Помимо вышеперечисленных, современные дистрибутивы Linux включают такие пакеты для программирования приложений X, как Qt (C++, на нем написан KDE), Gtk++ (C, основа GNOME), fltk (C++). Кроме языка Tcl/Tk, очень удобен для написания X-приложений язык Python.

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

Наибольшие трудности к использованию X Window System представляют требования к аппаратным средствам. Система X может работать и на компьютере с процессором 80386 с 4 мегабайтами оперативной памяти. Однако для удобства работы требуется 16 мегабайт или более. Хорошо иметь также более быстрый процессор, но более критическое требование -- достаточное количество оперативной памяти. Кроме того, чтобы добиться действительно качественной динамической экранной графики, рекомендуется использование ускоренных видеоадаптеров. В системе Linux с XFree86 было достигнуто быстродействие более 300 000 xstones. При использовании соответствующих аппаратных средств быстродействие X в системе Linux не хуже (а иногда и лучше), чем у X на рабочих станциях под другими версиями UNIX.