Window manager (Русский) - ArchWiki

# Window manager (Русский)

Ссылки по теме

- Среда рабочего стола
- Оконный менеджер
- Xorg (Русский)
- xinitrc
- Запуск X при входе

Эта страница нуждается в сопроводителе

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

Оконный менеджер (WM) — программа, которая управляет отображением окон в оконной системе графического интерфейса пользователя (GUI). Он может являться частью среды рабочего стола или работать отдельно.

## Обзор

Оконные менеджеры работают в роли клиентов оконной системы X, которые управляют внешним видом и поведением прямоугольных фреймов ("окон"), где отображаются элементы интерфейса графических программ. Они добавляют фрейму рамку, панель заголовка, возможность изменять его размер и т. д., а также часто предоставляют дополнительную функциональность — например, создают специальные области на экране для "приклеивания" виджетов (dockapps), как Window Maker, или позволяют объединить несколько приложений в одном окне, переключаясь между ними с помощью вкладок, как Fluxbox. Некоторые оконные менеджеры даже включают в свой набор простые утилиты вроде меню запуска программ или графического инструмента для настройки самого менеджера.

Спецификация Extended Window Manager Hints от X Desktop Group создана и используется для того, чтобы позволить разным оконным менеджерам единообразно взаимодействовать с сервером X и другими клиентами.

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

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

### Типы

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

Сравнение популярных оконных менеджеров вы можете найти на страницах Сравнение тайловых оконных менеджеров и Wikipedia:Comparison of X window managers.

## Список оконных менеджеров

### Стековые оконные менеджеры

- 2bwm — Быстрый стековый менеджер, отличающийся наличием двойной рамки у окон на основе mcwm, написанной Майклом Карделлом. В 2bwm вся функциональность доступна с клавиатуры, однако, мышь также может быть использована для управления окнами. Имя недавно было сменено с mcwm-beast на 2bwm.

  https://github.com/venam/2bwm || 2bwmAUR

- aewm — Современный, минималистичный оконный менеджер для X11. Полностью управляется мышью, но содержит также набор команд, которые похожи на команды vi. Созданный уже очень давно (1997) для того, чтобы выжать максимум из старых машин с небольшим количеством памяти, полностью неинтуитивный и враждебный для новичков, но в каком-то отношении весьма быстрый и элегантный.

  http://www.red-bean.com/decklin/aewm/ || aewmAUR

- AfterStep — Оконный менеджер для X Window System. Изначально повторяющий внешний вид интерфейса NeXTStep, он предоставляет конечным пользователям гармоничный, чистый и элегантный рабочий стол. Целью разработки AfterStep является предоставления возможности гибкой настройки рабочего стола, эстетичного дизайна при эффективном использовании системных ресурсов.

  http://www.afterstep.org/ || afterstepAUR

- Blackbox — Быстрый и легкий оконный менеджер для X Window System, без всех этих раздражающих зависимостей. Blackbox написан на C++ и содержит полностью собственный код (хотя реализация графики идентична таковой в WindowMaker).

  http://blackboxwm.sourceforge.net/ || blackbox

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

  https://launchpad.net/compiz || compizAUR

- cwm — Изначально отделившийся от evilwm, но позже переписанный с нуля. cwm нацелен на простоту, и при этом предлагает некоторые полезные возможности, такие как поиск окон.

  http://monkey.org/~marius/cwm/cwm.1.a || cwmAUR

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

  http://www.enlightenment.org/ || enlightenment

- evilwm — Минималистичный оконный менеджер для X Window System. Минималистичный тут не значит, что этот менеджер голый и неюзабельный — под этим просто понимается, что он в нем отказались от всего, что делает неюзабельными другие оконные менеджеры.

  http://www.6809.org.uk/evilwm/ || evilwmAUR

- Fluxbox — Оконный менеджер для X, основанный на коде Blackbox 0.61.1. Нетребователен к ресурсам и практичен в использовании, при этом полон возможностей для создания простой и очень быстрой рабочей среды. Он написан на C++ и имеет лицензию MIT.

  http://www.fluxbox.org/ || fluxbox

- Flwm — Попытка совместить лучшие идеи из разных оконных менеджеров. Основное влияние и кодовую базу получил от wm2 автора Криса Каннама.

  http://flwm.sourceforge.net/ || flwmAUR

- FVWM — Экстремально навороченный ICCCM-совместимый много-виртуально-десктопный оконный менеджер для X Window System. Находится в активной разработке и имеет отзывчивую техподдержку.

  http://www.fvwm.org/ || fvwm

- Gala — Симпатичный оконный менеджер из Elementary OS, является частью Pantheon. Также, являясь композитным менеджером, работает на libmutter.

  https://launchpad.net/gala || gala-bzrAUR

- Goomwwm — Оконный менеджер X11, написанный на C по методологии "чистой комнаты". Он предоставляет возможность гибкого управления окнами посредством клавиатуры: есть хоткеи для переключения окон, изменения размеров, перемещения, укладывания плиткой и других операций. Он также быстрый, легкий, знает, что такое Xinerama и совместим с EWMH везде, где только это возможно.

  http://aerosuidae.net/goomwwm/ || goomwwmAUR

- IceWM — Оконный менеджер для X Window System. Целью своей ставит стремление к скорости, простоте и старается как можно меньше раздражать пользователя при работе.

  http://www.icewm.org/ || icewm

- JWM — Оконный менеджер для X11 Window System. JWM написан на C и использует только Xlib.

  http://joewing.net/projects/jwm/index.shtml || jwm

- Karmen — Оконный менеджер для X, написанный Йоханом Винхуйзеном. "Создан, чтобы просто работать". Тут нет никаких файлов настройки и других зависимостей, кроме Xlib. Karmen совместим с ICCCM и EWMH.

  http://karmen.sourceforge.net/ || karmenAUR

- KWin — Стандартный оконный менеджер KDE 4.0. Имеет встроенную поддержку композитного режима, что делает его также композитным менеджером. Это позволяет KWin использовать разнообразные графические эффекты, подобно Compiz, при этом также предоставляя все возможности с предыдущих релизов KDE (например, очень неплохую интеграцию со средой, гибкость в настройке, предотвращения потери фокуса, надежный механизм обработки сбоев приложений/тулкитов и т. д.).

  https://techbase.kde.org/Projects/KWin || kwin kdebase-workspaceAUR kwin-gitAUR

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

  http://www.jfc.org.uk/software/lwm.html || lwm

- Marco — Оконный менеджер MATE, форк Metacity.

  https://github.com/mate-desktop/marco || marco

- Metacity — Этот оконный менеджер стремится быть компактным и стабильным, при этом просто тихо выполнять свою работу и не отвлекать пользователя.

  http://blogs.gnome.org/metacity/ || metacity

- Mutter — Оконный и композитный менеджер для GNOME, основанный на Clutter; использует OpenGL.

  http://git.gnome.org/browse/mutter/ || mutter

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

  http://openbox.org/wiki/Main_Page || openbox

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

  http://www.pleyades.net/pawm/ || pawm

- pekwm — Оконный менеджер, некогда основывавшийся на aewm++, но теперь уже далеко от него ушедший. У него сильно больший набор возможностей, например группировка окон (аналогично Ion, PWM, или Fluxbox), auto-properties, Xinerama, keygrabber с поддержкой наборов ключей и многое другое.

  http://www.pekwm.org/projects/pekwm || pekwm

- rio — Оконный менеджер для X11, схожий с Plan9. На деле это форк 9wmAUR с некоторыми изменениями. Здесь нет значков, кнопок, заголовков окон, настроек. Поддерживается перемещение, перестройка, удаление (закрытие), сокрытие окон и виртуальных рабочих столов из простого меню. Rio использует все три кнопки мыши и не нацелен на управление с клавиатуры.

  http://swtch.com/plan9port/ || rioAUR[ссылка недействительна: сохранено в aur-mirror]

- Sawfish — Расширяемый оконный менеджер, который использует скриптовый язык наподобие Lisp. Многие высокоуровневые функции также реализованы на Lisp.

  http://sawfish.wikia.com/wiki/Main_Page || sawfishAUR

- TinyWM — Оконный менеджер Tiny, который автор создал, чтобы поупражняться в минимализме. Он может быть весьма полезен в обучении основ построения оконных менеджеров. Включает в себя около 50 строк кода на C. Есть также версия на python, которая использует python-xlib.

  http://incise.org/tinywm.html || tinywmAUR

- twm — Оконный менеджер для X Window System. Он предоставляет заголовки окон, рамки, несколько способов управления значками, макросы, а также поддержку горячих клавиш

  http://cgit.freedesktop.org/xorg/app/twm/ || xorg-twm

- UWM — Оконный менеджер UDE.

  http://udeproject.sourceforge.net/ || ude

- WindowLab — Компактный и простой оконный менеджер. Имеет свои отличительные особенности.

  http://nickgravgaard.com/windowlab/ || windowlab

- Window Maker — Оконный менеджер для X11, изначально разработанный для поддержки интеграции для GNUstep Desktop Environment. Везде, где возможно, он повторяет элегантный стиль графического интерфейса NEXTSTEP. Он быстрый, обладает широкими возможностями, прост в настройке и использовании. Это свободное ПО, созданное благодаря вкладу разработчиков со всего мира.

  http://windowmaker.org/ || windowmaker

- WM2 — Оконный менеджер для X. Он предоставляет необычный стиль оформления окон и настолько скромную функциональность, насколько его автору кажется приемлемым для оконного менеджера. wm2 ненастраиваемый: вы можете только редактировать исходный код и пересобирать его. Он точно не для тех, кому нужен дружелюбный оконный менеджер.

  http://www.all-day-breakfast.com/wm2/ || wm2AUR

- Xfwm — Оконный менеджер Xfce управляет отображением окон на экране, предоставляет привлекательное оформление окон, управляет виртуальными рабочими столами и умеет работать с несколькими экранами. Предоставляет собственный композитный режим (благодаря расширению X.Org Composite) для прозрачности и теней. Оконный менеджер Xfce также включает редактор сочетаний клавиш для команд пользователя, а также панель настроек для конфигурирования.

  http://www.xfce.org/projects/xfwm4/ || xfwm4

### Фреймовые оконные менеджеры

- Bspwm — Фреймовый оконный менеджер, который предоставляет окна как листья бинарного дерева. Есть поддержка EWMH и нескольких мониторов, а еще он настраивается и управляется посредством сообщений.

  https://github.com/baskerville/bspwm || bspwm

- dswm — Оконный менеджер Deep Space является ответвлением от Stumpwm.

  https://github.com/dss-project/dswm || dswmAUR[ссылка недействительна: сохранено в aur-mirror]

- Herbstluftwm — Фреймовый оконный менеджер для X11, использующий Xlib и Glib. Размещение фреймов основано на принципе разделения областей экрана на подфреймы, которые, в свою очередь, также могут быть разделены снова (все как в i3/musca). Тэги (виртуальные рабочие столы) могут быть добавлены или убраны "на лету". Каждый тэг имеет собственную схему размещения. Только один тег может быть отображен на каждом мониторе, но, в целом, теги независимы от экранов (как в xmonad). Он настраивается в рантайме посредством IPC-вызовов от herbstclient. Поэтому файл настроек — это просто скрипт, который запускается при старте системы (как в to wmii/musca).

  http://herbstluftwm.org || herbstluftwm

- howm — Легкий фреймовый оконный менеджер для X11, который подражает vi, предлагая для своего управления операторы, движения и режимы. Настройка выполняется в заголовочном файле `config.h`.

  https://github.com/HarveyHunt/howm || howm-x11AUR

- Ion3 — Фреймовые оконный менеджер с поддержкой вкладок для X11, разработанный для управления с клавиатуры. Он был одним из первых в новой волне фреймовых оконных менеджеров (вместе с которым следовал LarsWM, имеющий несколько иной подход) и с тех пор относится к несколько другой категории оконных менеджеров X11. Он использует Lua как встроенный интерпретатор, который выполняет всю настройку.

  http://tuomov.iki.fi/software || ion3AUR

- Notion — Фреймовый оконный менеджер с поддержкой вкладок для X Window System.
  - Фреймы: вы разделяете экран на неперекрывающиеся фреймы. Каждое окно занимает целиком один фрейм.
  - Вкладки: фрейм может иметь несколько окон внутри, но отображается всегда только одно — окно текущей вкладки.
  - Статичность: большинство фреймовых менеджеров динамические, что значит, что они автоматически изменяют размер и передвигают фреймы при появлении и исчезновении окон. Notion, однако, не делает этого самостоятельно.

  Notion — форк Ion3.
  http://notion.sf.net/ || notion

- Ratpoison — Простой оконный менеджер без объемных зависимостей, ненужных эффектов, и декораций окон. Ratpoison настраивается в обычном текстовом файле. Информационная панель в Ratpoison несколько необычная, и показывается только по необходимости. Она предоставляет возможность запуска приложений и отображает уведомления. Ratpoison не включает в себя системный трей.

  http://www.nongnu.org/ratpoison/ || ratpoison

- Stumpwm — Фреймовый оконный менеджер для X11, нацеленный на управление с клавиатуры, и написанный целиком на Common Lisp. Stumpwm старается одновременно быть гибок в настройке и кастомизации, и при этом визуально минималистичен. Различные хуки позволяют подключить вашу собственную функциональность, а сам менеджер может быть перенастроен и перезагружен без полного перезапуска. Здесь нет декораций окон, значков, кнопок и системного трея. Информационная панель может быть настроена для постоянного отображения, либо появляться только по требованию.

  http://www.nongnu.org/stumpwm/ || stumpwm-gitAUR

- subtle — Фреймовый оконный менеджер с несколько нестандартным подходом.

  http://subforge.org/projects/subtle || subtleAUR[ссылка недействительна: сохранено в aur-mirror]

- WMFS — Оконный менеджер From Scratch ("созданный с нуля") — легкий и гибкий в настройке фреймовый оконный менеджер для X. Поддерживает шрифты Xft (FreeType), совместим со спецификациями EWMH, Xinerama и xrandr. WMFS может управляться vi-подобными командами (ViWMFS).

  https://github.com/xorg62/wmfs || wmfsAUR

- WMFS2 — Последователь WMFS, обратно с ним несовместимый. Он еще более минималистичен, но в него были добавлены и некоторые новые особенности.

  https://github.com/xorg62/wmfs || wmfs2-gitAUR

### Динамические оконные менеджеры

- awesome — Гибко настраиваемый с помощью скриптового интерпретатора Lua оконный менеджер для X нового поколения, очень быстрый и расширяемый. Выпускается под лицензией GNU GPLv2. Имеет встроенные системный трей, панель информации и панель запуска приложений. Доступно множество расширений, написанных на Lua. Awesome использует XCB вместо Xlib, что дает лучшую производительность.

  http://awesome.naquadah.org/ || awesome

- catwm — Компактный оконный менеджер, даже более простой чем dwm, написанный на C. Настройка выполняется редактированием заголовочного файла config.h и перекомпиляцией.

  https://github.com/pyknite/catwm || catwm-gitAUR

- dwm — Оконный менеджер Dynamic Window Manager для X. Управляет окнами в фреймовом, полноэкранном и стековом режимах. Все схемы размещения могут быть изменены динамически. Не включает в себя трей или панель запуска, хотя неплохо интегрируется с dmenu (все-таки, у них один автор). Настраивается модификацией кода C с последующей перекомпиляцией.

  http://dwm.suckless.org/ || dwm

- echinus — Простой и легкий фреймовый и стековый оконный менеджер для X11. Изначально являясь форком dwm с более простой настройкой, echinus стал полноценным репарентинговым оконным менеджером с поддержкой EWMH. Имеет панель задач ouricoAUR, совместимую с EWMH.

  http://plhk.ru || echinusAUR

- euclid-wm — Простой и легкий фреймовый и стековый оконный менеджер для X11 с поддержкой сворачивания окон. Настройки и сочетания клавиш задаются в текстовом файле. Изначально являясь форком dwm с более простой настройкой, он стал полноценным репарентинговым оконным менеджером с поддержкой EWMH. Имеет панель задач ouricoAUR, совместимую с EWMH.

  http://euclid-wm.sourceforge.net/index.php || euclid-wmAUR[ссылка недействительна: сохранено в aur-mirror]

- i3 — Фреймовый оконный менеджер, написанный полностью с нуля. i3 был создан оттого, что wmii, наш любимый оконный менеджер, не предоставлял некоторых возможностей, которые мы хотели (например, работа на нескольких мониторах работала со сбоями), развивался медленно и был сложен в освоении и кастомизации (отсутствовала документация/комментарии в исходном коде). i3 заметно отличается в плане поддержки нескольких экранов и реализации метафоры дерева. Интерфейс Plan 9 не был реализован для более быстрой работы менеджера.

  http://i3wm.org/ || i3-wm

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

  https://github.com/c00kiemon5ter/monsterwm || monsterwm-gitAUR[ссылка недействительна: сохранено в aur-mirror]

- frankenwm — Продолжение monsterwm с правильно реализованным стековым режимом. Из добавленных возможностей: новые схемы размещения (fibonacci, equal stack, dual stack), рамки и отступы можно настраивать, сворачивание/разворачивание отдельных окон, возможность показать/спрятать все окна и прочее

  https://github.com/sulami/FrankenWM || frankenwm-gitAUR

- Musca — Простой динамический оконный менеджер для X, с возможностями, взятыми из ratpoison и dwm. По умолчанию Musca работает как фреймовый оконный менеджер. Пользователь определяет, как экран разбивается на неперекрывающиеся фреймы (при этом не ограничен в схеме размещения). Окна приложений всегда целиком заполняют свой фрейм, за исключением временных и всплывающих окон, которые отображаются в стековом режиме над основным окном приложения.

  http://aerosuidae.net/musca.html || muscaAUR[ссылка недействительна: сохранено в aur-mirror]

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

  https://github.com/moetunes/Nextwm || snapwm-gitAUR[ссылка недействительна: сохранено в aur-mirror]

- spectrwm — Компактный динамический фреймовый оконный менеджер для X11, на который в свое время повлияли xmonad и dwm. Старается занимать как можно меньше места на экране, предоставляя возможность распорядиться им для более важных вещей. Настраивается в текстовом файле. Написан хакерами для хакеров и стремится быть легким, компактным и быстрым. Имеет встроенную строку статуса.

  https://opensource.conformal.com/wiki/spectrwm || spectrwm

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

  https://github.com/qtile/qtile || qtile-gitAUR

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

  https://github.com/BurntSushi/wingo || wingo-gitAUR

- wmii — Компактный динамический фреймовый оконный менеджер для X11. Поддерживаются скрипты; есть интерфейс файловой системы 9P, а также поддержка классического и фреймового (Acme-подобного) режимов. Настраивается с помощью скрипта на Bash и rc (оболочка Plan 9). Есть встроенная панель статуса и панель запуска приложений, а также системный трей (`witray`).

  http://wmii.suckless.org/ || wmii

- xmonad — Динамический фреймовый оконный менеджер для X11, написанный и настраиваемый на Haskell. В обычном менеджере, вы тратите кучу времени на размещение окон, а затем на их поиск. Xmonad делает жизнь проще, автоматизируя эти процессы. После изменения в настройках, xmonad необходимо перекомпилировать, поэтому должен быть установлен компилятор Haskell (больше 100 Мбайт). Большая библиотека xmonad-contrib предоставляет множество дополнительных возможностей.

  http://xmonad.org/ || xmonad

## Смотрите также

- http://www.gilesorr.com/wm/

Categories:

- Window managers (Русский)
- Русский

Hidden category:

- Pages with broken package links