Вход/Регистрация
Внутреннее устройство Linux
вернуться

Уорд Брайан

Шрифт:

Для совместной работы всем приложениям необходимо иметь что-либо общее, и в сердцевине почти всего в большинстве рабочих столов Linux находится X-сервер (сервер системы X Window). Рассматривайте его как своего рода «ядро» рабочего стола, которое управляет всем, начиная с рендеринга окон и конфигурирования дисплеев и завершая обработкой ввода от таких устройств, как клавиатура и мышь. X-сервер является также тем компонентом, которому вы с трудом сможете подыскать замену (см. раздел 14.4).

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

14.1.1. Менеджеры окон

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

Существует масса реализаций менеджера окон. Такие варианты, как Mutter/GNOME Shell и Compiz, предназначены для автономной работы, в то время как другие являются встроенными в среду, например Xfce. Многие из менеджеров окон, входящие в стандартные версии Linux, стремятся предоставить пользователю максимальное удобство работы, но некоторые снабжены специфичными визуальными эффектами или используют минималистский подход. Вряд ли когда-либо появится стандартный менеджер окон Linux, поскольку вкусы и потребности пользователей различны и постоянно изменяются, в результате чего все время появляются новые менеджеры окон.

14.1.2. Инструментарий

Приложения рабочего стола содержат некоторые общие элементы, например кнопки и меню, которые называют виджетами. Для ускорения разработки и придания единства оформлению программисты используют графический инструментарий для реализации этих элементов. В таких операционных системах, как Windows или Mac OS X, их производители обеспечивают единый инструментарий, который использует большинство программистов. В Linux чаще всего применяется инструментарий GTK+, но вам также будут встречаться виджеты, созданные с помощью фреймворка Qt и других.

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

14.1.3. Окружение рабочего стола

Несмотря на то что инструментарий обеспечивает унифицированное оформление, для некоторых деталей рабочего стола требуется определенная степень кооперации между различными приложениями. Например, одному из приложений может потребоваться совместно использовать данные с другим приложением или обновить общую строку уведомлений на рабочем столе. Чтобы удовлетворить эти потребности, инструментарии и другие библиотеки объединяются в обширные пакеты, называемые окружениями рабочего стола. Распространенными окружениями рабочего стола Linux являются GNOME, KDE, Unity и Xfce.

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

14.1.4. Приложения

На вершине рабочего стола находятся приложения, например браузеры и окно терминала. X-приложения могут быть как довольно «грубыми» (вроде древней команды xclock), так и достаточно сложными (например, браузер Chrome и пакет LibreOffice). Эти приложения, как правило, работают автономно, но они часто используют межпроцессное взаимодействие, чтобы быть в курсе происходящих событий. Например, какое-либо приложение может проявить интерес к тому, что вы подключили новое устройство хранения или получили новое электронное письмо или мгновенное сообщение. Такое взаимодействие обычно происходит по шине D-Bus, описанной в разделе 14.5.

  • Читать дальше
  • 1
  • ...
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • ...

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

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: