Войти
Android, Windows, Apple, Ликбез. Социальные сети. Драйверы
  • Японские телефоны Новый японский смартфон
  • Lenovo G500S: характеристики, основные особенности
  • Определяем серию продукта видеокарт Nvidia Характеристики карты nvidia 9800 gt
  • А конкуренты у смартфона есть
  • Что такое расширение файла TRZ?
  • Не работает динамик в "айфоне"
  • I3wm. Лучший оконный менеджер для Linux

    I3wm. Лучший оконный менеджер для Linux

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

    Оконный менеджер - это программа, которая управляет окнами приложений в системе. А именно: осуществляет позиционирование окон на экране, отвечает за изменение их размера, фокусировку и прочее. При этом оконный менеджер работает поверх существующей оконной системы. В простейшем случае, оконный менеджер просто управляет окнами и взаимодействием с ним оборудования ввода, и не делает с ними ничего другого. При этом нагрузка за отрисовку ложится на центральный процессор (так называемая программная отрисовка ). Некоторые оконные менеджеры, помимо управления окном, могут отрисовывать тени на его гранях, добавлять различные анимации, плавности, полупрозрачности и так далее. В этом случае, оконный менеджер является композитным . Одной из важнейших (но необязательных) функций композитного оконного менеджера является задействование для отрисовки окна возможностей видеокарты, как правило посредством OpenGL . Тем самым увеличивая качество отрисовки и значительно снижая нагрузку на центральный процессор. Функционал композитного менеджера может быть как встроенным в оконный менеджер, так и являться отдельной программой. Часто отрисовку окна через композитный оконный менеджер называют просто - композитингом . Если вы хорошо знакомы с Windows, то вот пример из Windows 7 : когда в ней отключены эффекты Aero , отрисовка ведётся силами центрального процессора. Нагрузка на видеокарту меньше, однако при воспроизведении видео на экране появляются артефакты, известные как тиринг (когда кадры меняются слишком быстро и посередине видно прозрачную мерцающую полосу).

    Когда эффекты Aero включены - отрисовка ведётся силами видеокарты. Что становится очевидным, так как появляются анимации появления и сворачивания окна, полупрозрачности и так далее.

    Однако, композитинг имеет и обратную сторону. При отрисовке рабочего стола силами видеокарты, частота кадров в секунду синхронизируется с частотой монитора (как правило 60 кадров в секунду, что соответствует стандартным 60 герцовым мониторам), поэтому в играх частота будет несколько ниже, так как будет идти двойная синхронизация кадра. В тяжёлых случаях - производительность игры может упасть вдвое . Поэтому часто можно встретить рекомендации отключать графические эффекты при запуске игр (к примеру выключать тот же Aero в Windows 7). Вернёмся непосредственно к Линуксу. В данный момент доминирующей графической подсистемой в Линуксе является Xorg (иксы). И работа оконного менеджера в ней точно такая, какой я описал её выше. При этом функционал композитинга не был изначально в Xorg, и его реализовали значительно позже, потому композитный менеджер работает там как-бы сбоку. В общем случае, получается весьма толстый бутерброд различных слоёв, через который происходит отрисовка картинки.

    В большинстве случаев для пользователя это не важно. Но вот в играх это даёт ощутимые ограничения. Сейчас же на смену Xorg идут две графические подсистемы - Wayland и Mir . Первый не привязан к какому-либо дистрибутиву или графической оболочке, в то время как второй разрабатывается для Ubuntu и её графической оболочки Unity , и уже работает в мобильной редакции Ubuntu. О Mir поговорим в отдельной статье. Что же касается Wayland - в нём отсутствуют привычные понятия оконного и композитного менеджера. В нём есть только композитор , который и производит все операции над окнами, без лишних прослоек. Отрисовка приложения при этом ложится на программный инструмент (тулкит), на котором оно написано. Например Qt , или GTK . Это так называемая отрисовка на стороне клиента . В случае же если отрисовка окна идёт непосредственно в Wayland-композиторе, то это называется отрисовкой на стороне сервера . В случае отрисовки на стороне клиента, заголовок окна приложения, его внешний вид и прочее целиком ложится на разработчика приложения. В результате может случиться так называемый "эффект Windows": если в приложение не заложен функционал изменения размера окна, то окно приложения будет всегда фиксированного размера. Пример окна с декорацией заголовка на стороне клиента (обратите внимание на кнопки управления приложением в заголовке окна):

    Этот функционал реализован в GNOME. В KDE же используется отрисовка на стороне сервера, в результате все окна будут иметь одинаковый заголовок и легко меняться в размере:

    Кстати, если запустить приложение с CSD (Client-Side Decorations) в оконном менеджере, не поддерживающем отрисовку на стороне клиента - приложение получит два заголовка:

    CSD кстати говоря, оказался довольно удачным решением. Настолько удачным, что его взяла к себе сама Apple:

    Wayland уже работает в автомобильных ОС, в мобильных операционках Tizen и SailfishOS , и много где ещё. Философия Wayland - "Каждый выводимый кадр должен быть идеальным" . И это действительно так. Отрисовка в Wayland по качеству превосходит таковую в Xorg (к примеру в Wayland в принципе невозможен тиринг), плюс ко всему - в Wayland сильно затруднено создание кейлоггеров (перехватчиков клавиатурных нажатий), что положительно сказывается на безопасности. Однако Wayland пока не поддерживается фирменными проприетарными драйверами Nvidia и AMD , что сильно затрудняет его введение по умолчанию в дистрибутивах Linux. К вопросу поддержки его Линуксовыми графическими оболочками мы вернёмся чуть позже. Говорить на эту тему можно очень долго, потому предлагаю перейти непосредственно к обзору оконных менеджеров в популярных графических окружениях в Linux.

    Metacity - оконный менеджер ныне покойной графической среды GNOME 2 . Пришёл на замену использовавшимся там Sawfish и Enlightenment . Отличается весьма скромным потреблением ресурсов. Поддерживает простой программный композитинг (отбрасываемые тени, прозрачности, предпросмотр окон). Изначально был написан на GTK+ 2 , позже был переписан на GTK+ 3 , что сделало возможным его использование в GNOME 3.0-3.8. В настоящее время является частью проекта GNOME Flashback , ипользуется в графической среде Cinnamon для запуска на оборудовании, не поддерживающим аппаратное ускорение графики, а также поставляется в качестве опции в Linux Mint MATE и UbuntuMATE .

    Mutter - дальнейшее развитие Metacity для GNOME 3 . Mutter является полностью композитным менеджером, для отрисовки 2D задействует высокопроизводительную библиотеку векторной графики Cairo , а для отрисовки 3D - Clutter , который использует для ускорения OpenGL . Работа оболочки GNOME Shell реализована в виде плагина для Mutter, в результате чего задействуются все возможности этого оконного менеджера во всём функционале GNOME 3. Начиная с GNOME 3.10 , работа среды без Mutter невозможна. Mutter также является оконным менджером с наиболее полной и законченной поддержкой Wayland, отрисовка ведётся на стороне клиента (клиентом выступает библиотека GTK+ 3 ). Функциональность Mutter может расширяться с помощью плагинов . Mutter нельзя назвать легковесным оконным менеджером, и он абсолютно не годится для старого и слабого оборудования.

    Muffin - форк Mutter от разработчиков графического окружения Cinnamon . Разрабатывается командой разработчиков Linux Mint . Muffin унаследовал многие функции Mutter, для отрисовки также задействует Cairo и Clutter. Однако не имеет поддержки Wayland (разработчики пока не считают его готовым для применения), а также абстрагируется от возможностей GTK+ (если релизы Mutter привязаны к релизам GTK+, то Muffin может собираться с любой версией GTK+, не ниже минимально поддерживаемой). В отличии от Mutter, Muffin почти вдвое меньше потребляет оперативной памяти, а также меньше нагружает видеоподсистему, что делает применение Cinnamon идеальным для бюджетных ноутбуков. Функционал также расширяем за счёт плагинов.

    Marco - форк Metacity от разработчиков графического окружения MATE . Использует те же принципы отрисовки окон, программный композитинг и так далее. Может быть заменён на Metacity или Compiz.

    Compiz - один из первых полностью композитных оконных менеджеров с большим функционалом и поддержкой расширений. Первоначально, Compiz работал только с 3D аппаратурой поддерживаемой Xgl : большей частью видеокарт NVIDIA и ATI . Но с 22 мая 2006 года Compiz стал работать на стандартном X.org Server используя AIGLX . Кроме видеокарт Intel GMA, AIGLX поддерживает видеокарты AMD (начиная с R300) при использовании открытых драйверов. Знаменит Кубом рабочих столов , и прочими плагинами-украшалками. В паре с декоратором окон Emerald , в своё время, являлся наиболее популярным способом показать графические возможности Linux (очень многие эффекты, создаваемые им, были не доступны в других операционных системах того времени, а некоторые были скопированы именно из Compiz). Compiz может применяться как полностью самостоятельный оконный менеджер, отрисовка полностью аппаратная, посредством OpenGL. Оконные менеджеры Metacity, Marco и Xfwm4 очень часто заменяются на Compiz, в первую очередь - для избавления от тиринга. В настоящее время, официальная разработка Compiz закрыта. Ветка 0.8 поддерживается энтузиастами, а 0.9 - разработчиками Ubuntu, для графической оболочки Unity 7, которая как и GNOME Shell для Mutter, является плагином для Compiz. Также Compiz поставляется как опция в Linux Mint MATE и UbuntuMATE.




    Xfwm4 - стандартный оконный менеджер графической среды Xfce . С версии 4.2 обзавёлся программным композитингом. Данный оконный менеджер весьма легковесный, простой и может применяться не только в Xfce, но и, например, в MATE. В настоящее время разработчики портируют его на GTK+ 3, а также реализуют поддержку отрисовки через OpenGL. Может быть заменён на Compiz, Metacity или Marco.

    Kwin - один из самых полнофункциональных, стабильных и гибких оконных менеджеров в Linux. Является стандартным для графической среды KDE . Начиная с KDE 4 , стал полностью композитным, поддерживает многие эффекты из Compiz, может задействовать для отрисовки OpenGL 2.0 , 3.1 , OpenGL ES или отрисовку через расширение Xrender , способен блокироваться полноэкранным приложением (например игрой, увеличивая тем самым производительность), имеет широкие возможности настройки эффектов, анимации, а с версии 5 - имеет поддержку Wayland, отрисовки через расширения EGL (вместо стандартного интерфейса GLX ), и многое другое. В KDE 4 может быть без проблем заменён на Compiz. Kwin написан на Qt , и задействует многие возможности этого фреймворка. Но если GNOME практически прибит гвоздями к GTK+ 3, разработчики которого всё время ломают его API с новыми релизами, то в Qt ситуация во много раз лучше, и выпуски KDE не привязаны жёстко к выпускам Qt. В аварийных ситуациях, Kwin показывает потрясающую стабильность - он будет автоматически переключать режимы отрисовки, в случае проблем с видеодрайвером, будет перезапускаться, но не прекратит отрисовку. Также Kwin, при всём своём функционале, весьма легковесен (в сравнении с Mutter и отчасти Muffin), что делает его пригодным к применению на слабых ноутбуках, нетбуках и подобном.




    Compton - композитный менеджер, форк Xcompmgr . Не является оконным менеджером, а просто дополняет существующий функционалом композитного. Часто применяется в паре с Openbox, Metacity и Marco. Эффектами не богат, но наиболее популярные, такие как прозрачности, тени, анимации, плавные переходы и, конечно же, отрисовка через OpenGL, реализованы в полной мере. Также поставляется как опция в Linux Mint MATE и UbuntuMATE.

    Openbox - популярный суперлегковесный оконный менеджер. Не имеет в себе функционала композитного, даже программно. Является стандартным оконным менеджером в окружениях LXDE и LXQt . Может быть заменён на любой другой, как и использоваться для замены во многих окружениях, например MATE и Xfce.


    Разумеется это далеко не все доступный в Linux оконные менеджеры. И в будущем я напишу как создать своё собственное графическое окружение из разных компонентов. Некого монстра Франкенштейна, сшитого из разных кусков:) Если есть пожелания - пишите в комментариях.

    Менеджеры окон Linux управляют системными окнами, которые вызывают приложение. Проясним это на примере:

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

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

    Лучшие оконные менеджеры Linux

    Awesome WM

    Один из лучших оконных менеджеров Linux, который позволяет портировать асинхронную библиотеку XCB вместо XLib. Множественные теги разрешены для организации рабочего пространства с помощью Awesome WM, и оно полностью расширяемо с помощью LUA. Оно может быть настроено, оформлено скином и дружественно к клавиатуре наряду с функцией использования ярлыков.

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

    Скачайте его с этого сайта https://awesomewm.org/download/

    i3

    Это тщательно документированный Linux Window Manager, который полностью настраивается. Этот менеджер может быть настроен любым способом, который который Вам будет удобен, от размещения открытого приложения до пользовательских сочетаний клавиш. Он настраивается во всех отношениях. Простые текстовые конфигурации легко читаются и не требуют никакого Haskell или LUA.

    Переключение и управление плавающими окнами также просты, так как их можно переключать с помощью $ mod + shift + space. Процесс разработки нормален, ошибки предотвращаются, и Вы также можете использовать терминал для получения уведомления о выполненных действиях.

    Его Вы можете скачать с официального сайта https://i3wm.org/downloads/

    Openbox

    Он очень легкий, является одним из известных Linux Window Manager для вашей системы. При загрузке будет использоваться около 100 МБ ОЗУ. Он легко настраивается и легок для выполнения. Вы можете без особого труда отредактировать несколько файлов конфигурации этого менеджера, которые также будут отлично сочетаться с традиционными элементами рабочего стола, такими как панели, кнопки меню и прочее.

    Попробуйте его в работе, скачав с официального сайта http://openbox.org/wiki/Openbox:Download

    XMonad

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

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

    Вы получите всю дополнительную информацию по его установке на сайте https://xmonad.org/download.html

    Gala

    Этот оконный менеджер Linux работает с клиентской отделкой Gtk. Имеет элегантный дизайн.

    Его очень легко использовать начинающим пользователям Linux. Будучи невероятно настраиваемым, Gala имеет ярлыки для простоты использования. Горячие углы полезны для многозадачности или любых пользовательских команд. К управлению добавляются 4 супер-легкие сочетания клавиш.

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

    Скачайте его https://github.com/elementary/gala

    DWM

    Этот оконный менеджер Linux является сектором suckles suite, и обычно он может побудить пользователя настроить и расширить его с помощью изменения кода. dwm также очень легок для вашей системы, и Вы без проблем его освоите в работе. Он простой в дизайне и является менеджером низкого ресурса.

    Простая конфигурация dwm, функциональность и привязка клавиш невероятно хорошо продуманы, что делает его одним из лучших оконных менеджеров Linux. Доступны горячие клавиши, такие как ALT + TAB.

    Вы можете использовать дизайн парадигмы, который поможет вам сгруппировать клиентов или приложения, которые можно перенести в рабочее пространство. Это позволит вам получить несколько клиентов и поможет вам назначить и переназначить теги. Строка состояния dwm является информативной, которая показывает вам сигнал Wi-Fi, силу WiFi, уровень громкости и уведомление батареи.

    Воспользоваться им можно зайдя на сайт https://dl.suckless.org/

    Fluxbox

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

    У него есть своя панель, а также он содержит набор обоев, что делает его лучшим оконным менеджером. Меню простое и управляется мышью. Щелчок правой кнопкой мыши поможет вам открыть главное меню.

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

    Скачайте и воспользуйтесь его удобством на сайте http://fluxbox.org/download/

    KWin

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

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

    spectrwm

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

    Скачать можно с сайта https://github.com/conformal/spectrwm

    musca

    Интерфейс musca интуитивно понятен. Значения по умолчанию этого оконного менеджера считаются также простыми и понятными. Он экономит место, так как имеет нулевые панели, поскольку декорации окон, такие как вкладки и значки, могут занимать огромное место на экране, musca избегает этого элемента (установка отдельных приложений также может добавить их). Система группировки этого менеджера близко к виртуальным рабочим столам.

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

    От переводчика: эта заметка интересна тем, что представляет собой справочник по современным оконным менеджерам, в том числе, новым и мало известным. В принципе, в ней нет ничего, что бы «ниасилил» пользователь с самыми минимальными познаниями в английском, так что перевод её вроде бы и ни к чему. Однако мы знаем, что заметки из блогов имеют обыкновение иногда исчезать, что применительно к данной было бы жалко. Единственный метод борьбы с этим — переразмещение. Но на русскоязычном ресурсе нелепо было бы переразмещать англоязычную статью, поэтому я и решил сделать этот перевод.

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

    Window Maker

    Window Maker — популярный менеджер окон, разработанный для эмуляции графического интерфейса пользователя NeXT в качестве OpenStep-совместимой среды, характеризуется, как "один из самых полезных и универсальных менеджеров окон из числа доступных". Window Maker имеет репутацию быстрого, эффективного и очень устойчивого. Он очень популярен как Open Source решение для использования и на новых, и на старых машинах. Как и большинство оконных менеджеров, он поддерживает большое количество тем.

    Blackbox

    — минималистический оконный менеджер для тех, кто ищет быструю и прозрачную среду без излишеств. Ряд функций Blackbox обеспечивается только через другие приложения. Пример — приложение bbkeys для использования "горячих клавиш". Blackbox написан на Си++, и код его полностью оригинален. Он был разработан Брэдли Т. Хьюзом (Bradley T. Hughes) и распространяется по лицензии MIT.

    Fluxbox

    Fluxbox — оконный менеджер, основанный на Blackbox версии 0.61.1. Он отличается лёгкостью и настраиваемостью, и имеет минимальную поддержку графических пиктограмм. Его пользовательский интерфейс имеет только панель задач и меню, которое вызывается щелчком правой кнопки мыши на рабочем столе. Конфигурация — через текстовые файлы.

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

    dwm

    dwm — минималистичный и динамичный менеджер окон тайлингового типа. Внешне он сходен с wmii, но внутри намного более прост. Менеджер dwm написан на чистом Си и для упрощения не имеет никаких инструментов настройки, кроме правки исходников. Это не так страшно, как кажется. Однако одна из установок проекта: исходный текст никогда не будет превышать 2000 строк, и опции пользовательской конфигурации должны быть представлены макросами и содержаться в одном заголовочном файле. Как говорит автор проекта, dwm оптимизирован для ноутбуков с высоким разрешением и широкоформатных дисплеев.

    FVWM

    F Virtual Window Manager (в F ныне не вкладывается никакого официального значения) — витуальный оконный менеджер для системы X. Первоначально происходя от twm, FVWM развился в мощную и хорошо конфигурируемую среду для систем UNIX.

    Вот некоторые из его особенностей:

    • Поддержка любого количества виртуальных рабочих столов, каждый из которых может быть разделен на множество страниц.
    • Полная поддержка EWMH, ICCCM-2 и хинтов GNOME.
    • Полная интернационализация, включая мультибайтные наборы символов и двунаправленный текст.
    • Заголовочная панель может быть отключена или размещена на любом краю окна.
    • Анимированные тени окон в любом направлении.
    • Конфигурируемые панели рабочих столов.
    • Есть возможность рисовать мышью формы и связывать их с командами.
    • Поддержка Xinerama для использования нескольких мониторов.
    • Динамически расширяемые пользовательские модули.

    JWM

    JWM , Joe"s Window Manager — оконный менеджер, написанный Джо Вингбермухле (Joe Wingbermuehle). JWM написан на Си, и для минимизации в нем используется только библиотека Xlib. При компиляции может быть добавлена поддержка следующих опций:
    • иконки в формате PNG и/или XPM;
    • Xinerama;
    • FriBidi;
    • расширение Shape.

    wmii

    wmii — динамичный оконный менеджер тайлингового типа. Он поддерживает классическое и динамическое управление окнами с клавиатуры, мышью, а также удалённое управление. В нем парадигма рабочего пространства заменена новым подходом теггирования.

    Минималистичность философии wmii выражена в том, что для достижения простоты и понятности его размер не превышает 10 000 строк кода (включая все утилиты и библиотеки). Как и сходный с ним dwm, wmii изначально настроен использовать dmenu для запуска программ и поддерживает быстрый доступ к пользовательским скриптам, расположенным в подкаталоге пользовательского каталога.

    Openbox

    Openbox — свободный оконный менеджер для X Window System, лицензируемой под GNU GPL. Openbox первоначально происходил от Blackbox версии 0.65.0, но был полностью переписан на Си, так что его версия 3.0 не содержит никакого кода Blackbox.

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

    WindowLab

    WindowLab основан на aewm, наследуя его компактность и лёгкость. Во многих отношениях WindowLab сделан под влиянием пользовательского интерфейса Amiga, но не является её полным клоном. Доступ к верхнему уровню меню осуществляется щелчком правой кнопкой мыши на нём, как в Amiga, и это обеспечивает удобство и простоту использования, поскольку как только мышь входит в область меню, её перемещения ограничены им и в горизонтальном, и в вертикальном направлениях.

    Строка меню не управляется приложениями; это &mdach; меню запуска, содержимое которого прописывается в dot-файле домашнего каталога пользователя в виде списков заголовков и соответствующих им команд.

    ratpoison

    ratpoison — свободный минималистический менеджер окон для оконной системы X, изначально написанный Шоном Беттсом (Shawn Betts). Его пользовательский интерфейс и бо льшая часть функциональных возможностей происходят от терминального мультиплексора GNU Screen. Название связано с тем, что этот оконный менеджер позволяет пользователю управлять окнами, не используя мышь.

    Преемник ratpoison — Stumpwm; ratpoison становился всё объёмнее, и Беттс решил повторно воспроизвести его функциональные возможности с помощью Common Lisp.

    Sawfish

    Sawfish прежде был известен как Sawmill; это название было изменено, поскольку так же именовалась коммерческая программа анализа web-логов. В Sawfish используется Lisp-подобный язык сценариев, что позволяет легко его расширять. Например, в него легко включить клавиатурные последовательности для XMMS.

    Sawfish не имеет панели и использовался как оконный менеджер в GNOME, пока в версии 2.2 последнего его не заменили на Metacity.

    IceWM

    IceWM — оконный менеджер, написанный Марко Масеком (Marko Macek) "с нуля" на Си++. Менеджер распространяется на условиях GNU Lesser General Public License. IceWM предоставляет превосходный look and feel, будучи легким и настраиваемым.

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

    wm2

    wm2 — минималистический оконный менеджер, написанный Крисом Каннамом (Chris Cannam). Он обеспечивает перемещение, изменение размеров и удаление окон, но не поддерживает пиктограммы. Вместо этого wm2 использует временное скрытие окон с рабочего стола; скрытые окна могут быть восстановлены через меню корневого окна. Этот менеджер окон не предлагает ни интерактивного конфигурирования (некоторые настройки могут быть выполнены путем редактирования конфигурационного файла), ни виртуальных рабочих столов, ни других особенностей современных оконных менеджеров типа конфигурируемых главных меню, инструментальных панелей и т.д.


    StumpWM

    StumpWM — оконный менеджер для POSIX-совместимых Unix-подобных операционных систем, запускаемый из оконной системы X. Он является преемником ratpoison. StumpWM пытается быть настраиваемым и одновременно визуально минимальным. В нем нет никаких декораций окон, пиктограмм и кнопок. Зато имеются различные "крючки" для прикрепления личных изменений и переменные, которые можно менять.

    Waimea

    Waimea — легкий менеджер окон для системы X, разработанный в стиле Blackbox. Он заимствует некоторый код из Blackbox, однако не является его форком.

    Waimea имеет очень продвинутый движок стилей с такими особенностями, как поддержка стиля Blackbox, стиля pixmap и прозрачных текстур. Текст может рендериться двояко, с использованием и шрифтов ядра X, и шрифтов Xft. Waimea также включает быструю легкую систему меню с поддержкой динамических меню.

    xmonad

    xmonad — оконный менеджер тайлового типа, написанный на функциональном языке Haskell. Разрабатываемый с марта 2007 года, он, подобно dwm, larswm, StumpWM и другим родственным менеджерам, стремится позволить пользователю продуктивно управлять окнами без использования мыши. xmonad распространяется со многими Unix-подобными операционными системами, включая Archlinux, Debian, Ubuntu, Gentoo, FreeBSD, NetBSD и OpenBSD.

    Сейчас я вам расскажу про мой любимый оконный менеджер.

    Я пробовал различные:

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

    Gnome , который в последнее время превратился будто бы в оболочку для планшета, так как там сейчас просто огромные кнопки и все элементы управления. Такое ощущение что все масштабировали на 300%. Из-за этого пропадает большое количество свободного места.

    Unity мне тоже как-то не понравился.

    XFCE на мой взгляд не плох, но при этом его UI оставляет желать лучшего. Мне нравится интерфейс MacOS из-за того, что там везде очень правильные соотношения всех элементов друг к другу. Нет слишком больших или слишком маленьких кнопок. Везде правильные отступы внутри окна. Из-за этого все выглядит очень гармоничным. Вот именно этого сейчас не хватает XFCE. Хотя если вы не перфекционист, то вам пойдет.

    Кроме привычных WM, есть еще и тайлинговые. Это такие WM в которых окна не накладываются друг на друга.

    Awesome , мне он нравится. Но Lua немного смущает. Но если вдруг вы видите преимущества Awesome над i3wm, то расскажите мне о них пожалуйста, я с удовольствием бы с вами поговорил.

    DWM , который не плох, но как-то довольно странно то, что его нужно перекомпилировать каждый раз при смене конфига. Ну, кому-то возможно окей. Но я довольно часто меняю что-то в своем интерфейсе или вижу что-то прикольное и хочу добавить. И меня очень утомляет вот эта возня. Хотя мне он очень нравится, за то, что он очень маленький и практически никогда не глючит. И сама suckless философия мне очень нравится. И я обязательно вернусть к нему в будущем и попробую его еще раз. Так же, ребята. Если вы используете DWM и считаете его лучше чем i3 то напишите мне, я бы с удовольствием с вами пообщался. Пишите мне куда угодно.

    Xmonad . Но он как-то мне не зашел. Конфиг на Lua еще более менее. Но конфиг написанный на хаскеле это как-то не по людски.

    i3 в данный момент мне нравится больше остальных. И мне вообще нравится идеология тайлинговых менеджеров. Нравится из-за того, что во-первых у тебя очень упрощается работа с окнами. Тебе не нужно постоянно что-то передвигать мышкой и что-то постоянно приподнимать или опускать в третьем измерении.

    Во-вторых мне это нравится тем, что не пропадает зря место на твоем экране. У тебя просто нет пустого места. Никогда не надо растягивать окна. Ну и еще место экономится за счет того что у окон больше нет бордеров.

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

    А тут бах и другой подход. Сначала это кажется странным.

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

    В общем вам надо попробовать. Вы либо полюбите либо возненавидите.

    Давайте уже перейдем к самому i3.

    Как я уже сказал окно тут занимает всегда полное пространство


    А при открытии нового окна пространство делится пополам. Открывать вы можете сколько угодно окон.


    Вы можете сами решать как делить пространство.


    Так же вы можете изменять размеры каждого окна.

    Это основной режим i3, но так же есть еще два дополнительных. При одном окна ведут себя как списки а при втором накладывайтся друг на друга

    Но если вам вдруг очень очень нужно, то вы можете сделать какое-либо окно плавающим.


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

    Так же очень удобным является то, что вы можете задать жестко чтобы какое-то окно открывалось на нужном вам виртуальном столе.

    И вы всегда будете точно знать что у вас где находится. У меня, например, Slack и Telegram всегда находятся в 9 виртуальном столе. Мой проект на go находится в 8 виртуальном столе. А мой проект на Node.js находится в 7 виртуальном столе. Вся моя личная база знаний всегда открыта в 6 виртуальном столе. На первом виртуальном столе у меня всегда браузер. А на втором виртуальном столе у меня всегда вся информация по работе.

    Но если нужно, то я само собой могу это все менять.

    Таким образом я никогда не путаюсь. Я всегда знаю где у меня что.

    Не важно, даже если закрыто окно, при открытии я знаю где оно откроется.

    Запуск программ

    Теперь о том как запускать программы. Есть два способа. Первый это хоткеи. То что вы запускаете чаще всего вы можете забиндить. Например у меня по CTRL+SHIFT+P запускается калькулятор. Так же на кнопках повешено включение и выключение VPN. Или создание скриншота. В общем все, что вы захотите.

    А все остальное можно запускать через штуку, которая похоже на спотлайт в маке. Она называется Rofi.


    Просто нажимаем контрол и пробел и вызывается окно. Начинаем вводить что-то нажимаем ентер. Если программа закреплена за каким-то экраном, то она там и откроется, если нет, то откроется на текущем виртуальном столе.

    Если вам нужно, то вы можете переместить программу на другой виртуал32ьный стол.

    Так же i3 отвечает у вас за всю автозагрузку программ. И делается это довольно легко в конфиге.

    Bar

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

    Давайте расскажу про Polybar.

    Справа вы видите значки, это обычный трей. Слева вы видите цифры, это как раз виртуальные столы.

    А все что между ними это модули. Которые вы загружаете. Модули по сути это просто скрипты. не важно на чем. На баше или на пайтоне. Вы можете использовать что угодно.

    Вот что делают мои

    • Показывают корзину, очищают ее при левом клике и открывают ее при правом клике;
    • Показывают свободное место на диске;
    • Показывает свободное место на моем рейд массиве на другом сервере в моей локалке;
    • Показывает погоду, и время через которое встанет или зайдет солнце.
    • Показывает загрузку процессора. Значения за минуту, за пять минут и за 15 минут;
    • Показывает количество доступных обновлений
    • Показывает цену на биткоин
    • Показывает цену на доллар
    • Показывает айпишник
    • Штука, которая регулирует громкость
    • Загруженность, температура процессора и обьем занятой памяти
    • Заряд батареи

    Ну а вообще вы можете вывести сюда абсолютно любую информацию которую только захотите. Можно, например, вывести информацию из JSON или из вашей гугл-таблицы.

    Оконные менеджеры Linux используются для управления окнами приложений в системе. Например, когда вы запускаете любое графическое приложение, оно открывает своё окно. Для того, чтобы этим окном можно было двигать и оно выглядело красиво, в фоне работает менеджер, который отвечает за все эти функции.

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

    Не путайте оконные менеджеры с окружением рабочего стола. Окружения рабочего стола обычно содержат панели инструментов, обои, виджеты, папки и иконки. Также они обычно имеют отдельный набор библиотек и приложений, чтобы вам было удобнее работать за своим компьютером. А оконные менеджеры же только управляют окнами. В окружениях рабочего стола уже есть встроенные оконные менеджеры и компоновщики окон, которые позволяют рисовать и создавать окна отдельно.

    1. i3

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

    Переключение между плавающими окнами выполняется с помощью Win+Shift+Space. Оконный менеджер активно развивается, а обнаруженные ошибки исправляются разработчиками. Также можно использовать терминал для выполнения нужных действий.

    2. Awesome WM

    Awesome WM - один из лучших оконных менеджеров для Linux, который использует асинхронную библиотеку XCB вместо Xlib. Оконный менеджер написан на C++. Его можно настроить, изменить стиль, внешний вид, а также настроить горячие клавиши. И всё это надо делать на языке LUA.

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

    3. XMonad

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

    Из особенностей можно отметить поддержку нескольких мониторов, а также, если вам не хватает какой-либо функции, то её можно добавить с помощью модулей.

    4. Openbox

    Openbox - это очень лёгкий и притом один из самых популярных оконных менеджеров для Linux. Он занимает всего 100 мегабайт оперативной памяти после загрузки. Он достаточно стабилен, и разработчики постоянно закрывают новые "дыры" и ошибки.

    Он высоко настраиваемый и простой в использовании. Вы можете редактировать конфигурационные файлы или использовать утилиты для настройки.

    5. DWM

    Этот оконный менеджер Linux входит в пакет программного обеспечения Suckles Suite. Обычно пользователи могут настраивать и расширять его возможности путём изменения исходного кода. Весь код dwm помещается меньше, чем в 2000 строк, поэтому он является примером очень чистого и читабельного кода. Кроме того, dwm очень лёгкий, имеет простой дизайн и потребляет мало ресурсов.

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

    6. Gala

    Этот оконный менеджер работает на основе клиентской декорации GTK. У него простой, но в то же время продуманный дизайн, как будто использовались правила проектирования ElementaryOS.

    Gala подходит для новичков. Он невероятно конфигурируемый и имеет все необходимые горячие клавиши для удобного использования. Для горячих углов можно назначить выполнение определённых задач или своих команд.

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

    7. KWin

    Легко настраиваемый оконный менеджер в окружении рабочего стола KDE. Но его можно использовать и в другой графической среде. Любые настройки можно поменять через графический интерфейс.

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

    8. Fluxbox

    Если вы ищете самый лёгкий оконный менеджер для Linux, тогда Fluxbox будет лучшим выбором для вас. На любом железе он будет работать очень быстро. А также он прост в использовании и настройке.

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

    9. Musca

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

    Окна распределяются по различным именованным группам, и вы можете очень просто переключаться между ними. Пользователь может создавать или удалять группы. Musca поддерживает несколько мониторов и может создавать группы окон автоматически.

    10. SpectrWM

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

    Настраивать spectrwm очень просто, поскольку здесь есть базовый набор настроек и вам не нужно знать никакого языка программирования для их изменения. Поэтому он идеально подходит для новичков и тех, кто хочет использовать Xmonad, но не знает Haskell.

    11. HerbstluftWM

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

    Для настройки здесь используется скрипт на Bash, но в остальном здесь всё достаточно просто. Можно использовать разные шаблоны расположения, а также создавать шаблоны на лету. Также поддерживается использование двух мониторов.

    12. Enlightenment

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

    Вы можете полностью настроить его по своему вкусу, а также добавить дополнительный композитный менеджер. Здесь также есть виртуальные рабочие столы, виджеты. Enlightenment - очень быстрое окружение, идеально подойдёт для ноутбуков.

    13. JWM

    JWM - чрезвычайно лёгкий оконный менеджер. Он используется в качестве дисплейного менеджера по умолчанию в Puppy Linux. Он также идеально подойдёт для любого старого компьютера. Меню и окна открываются быстрее, чем в других менеджерах. Также JWM легко настраивается, вам не нужно для этого каких-либо знаний по программированию.

    14. Window Maker

    Дизайн Window Maker очень похож на графический интерфейс NeXT и пользователю будет удобно работать с ним. Оконный менеджер очень лёгкий и элегантный, поддерживает расширение с помощью различных док-панелей.

    15. IceWM

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

    16. Pantheon

    Новички в Linux могут решить, что Pantheon создан для людей, которые раньше имели опыт использования MacOS. Это современный оконный менеджер с красивым дизайном. Здесь есть док-панель, которую можно использовать для запуска приложений. Программы можно отсортировать по категории или алфавиту.

    17. XFWM

    С помощью этого композитного менеджера вы можете очень просто разделить экран на части и разместить там окна. Здесь есть встроенная возможность привязки окон, а также есть множество тем оформления и возможность создавать новые темы. Можно настроить, где будут открываться новые окна: у края экрана или по центру.

    18. Ratpoison

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

    19. Compiz

    куб рабочего стола Compiz

    Compiz - старый оконный менеджер, который раньше очень часто использовался. Здесь есть ещё больше эффектов, чем у Kwin. Например, он известен таким эффектом, как куб рабочего стола. Также поддерживается расширение возможностей Compiz с помощью плагинов. Можно включить или отключить ту или иную возможность, включая или отключая её плагин. Процесс настройки очень прост - всё есть в специальной утилите.

    20. Wayland

    У этого оконного менеджера нет API-рисования. Пользователи Wayland получают дескриптор DRM-буфера, который работает, как указатель на графическую память. Для отрисовки изображений в Wayland используется графическая карта, а не процессор. Wayland сделает работу графической оболочки проще и уберёт многие ненужные вещи. Основная его цель - упростить графический стек ОС Linux. В будущем он будет использоваться вместо X-сервера во всех окружениях, но пока он находится в разработке.

    Выводы

    Есть три основных типа оконных менеджеров в Linux: стековые, тайлинговые и композитные. Композитные заботятся о 2D- и 3D-окружении. Стековые позволяют окнам перекрывать друг друга поверх фонового рисунка рабочего стола. А тайлинг гарантирует, что все окна будут видны одновременно и не будут перекрываться.

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