html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Тайловые оконные менеджеры под Unix: awesome и Xmonad


Продолжим прошлую тему, но уже для Unix-систем, на примере классических представителей — awesome и Xmonad.

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

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

Среди юниксовых тайлинговых менеджеров ИМХО наиболее популярен и продвинут awesome, написанный на языке Lua.

Одним из главных преимуществ awesome перед другими тайлинговыми менеджерами является хорошая поддержка мыши

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

awesome тайловые мозаичные фреймовые оконные менеджеры тайловый tile manager awesome

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

Установка awesome

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

sudo apt-get install awesome awesome-extra

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

Файл дефолтной конфигурации, написанный на языке Lua, находится здесь: /etc/xdg/awesome/rc.lua . Вам надо создать файл пользовательской конфигурации ~/.config/awesome/rc.lua . Дело в том, что awesome, стартуя, считывает настройки именно из ~/.config/awesome/rc.lua , но если этот файл отсутствует или повреждён, то он обращается к дефолтному файлу.

Поэтому сначала надо создать пользовательский директорий:

sudo mkdir ~/.config/awesome/

и скопировать туда дефолтный файл:

sudo cp /etc/xdg/awesome/rc.lua ~/.config/awesome/

Редактировать в дальнейшем надо именно пользовательский, а не дефолтный файл, опасаясь последний испортить, так как из-за возможных ошибок есть риск потерять власть над менеджером awesome.

Переключаемся

Скорее всего, окнами у вас управляет GNOME Display Manager или KDE Display Manager. Но не спешите останавливать его, освобождая X-сервер. Сначала посмотрите, есть ли в вашем домашнем директории скрытый файл ~/.xinitrc , содержащий скрипт запуска X-сервера командой startx . Если такого файла нет, то его надо создать командой:

sudo touch ~/. Xinitrc

и затем с помощью любого редактора (gedit, nano, kate и т.д.) наполнить содержимым, вставив строчку exec awesome и закомментировав остальное:

#!/bin/sh
......
exec awesome
exit 0

Сделайте этот сценарий исполняемым:

sudo chmod +x ~/.xinitrc

Закрываем, как обычно, приложения, данные которых вам важно сохранить. Переходим в true-терминал, а не его эмулятор: нажимаем Ctrl+Alt+F2, логинимся и вводим свой обычный пароль суперпользователя (цифры вводите основными клавишами!).

awesome тайловые мозаичные фреймовые оконные менеджеры тайловый tile manager awesome

Останавливаем текущий менеджер. Например, в Ubuntu 11.04 это выполняется командой:

sudo service gdm stop

А в Ubuntu 11.10 несколько иной командой:

sudo service lightdm stop

и запускаем X-сервер, который, в свою очередь, запустит менеджер awesome:

sudo startx

По умолчанию будет использована тёмная тема default из директория /usr/share/awesome/themes .

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

Знакомимся

Итак, awesome запущен. Видите в левом верхнем углу цифры от 1 до 9? Это так называемые тэги. Каждый тэг — это отдельный виртуальный рабочий стол. Каждый из них может содержать собственную мозаику из нескольких приложений или одно-единственное приложение, или не содержать ничего. Основная управляющая клавиша — это win, та, которая имеет логотип ОС Windows. Какой же Линукс без терминала?

Запустим его, нажав win + Enter, и вызовем мануал:

man awesome

В мануале клавиша win загадочно именуется как Mod4 , но win как-то привычнее. Там же в мануале подробно описаны и управляющие комбинации клавиш.

Перечислю основные:

  • win + <цифра> — переход на тэг с указанным номером,
  • win + shift + <цифра> — переместить окно на другой тэг,
  • win + j — переключиться между окнами в пределах тэга,
  • win + shift + j — поменять окна местами,
  • win + Space — изменить отображения окон,
  • win+shift+c — закрыть окно,
  • win+shift+q — выйти из awesome

Цифры надо нажимать на основной клавиатуре. Переключать тэги можно кликами мыши по ним или клавишами «влево-вправо», зажав клавишу win. Пора запустить какое-нибудь приложение. Щёлкаем левой кнопкой по желаемому тэгу и правой кнопкой вызываем меню приложений, которое очень похоже на стандартное гномовское, но составлено подробнее.

Например, идём Debian->Приложения->Офис, вызываем libreoffice и выбираем writer. Изменить размер любого окна (распахнуть и снова уменьшить) можно комбинацией win+f. Уменьшенное окно можно таскать по экрану, зажав клавишу win и левую кнопку мыши. Откройте в пределах одного и того же тэга ещё несколько приложений, но не распахивайте их на весь экран. Видите в правом верхнем углу экрана квадратик?

Это схема тайлинга. Пощёлкайте по нему и посмотрите, как изменяется мозаика приложений.

awesome тайловые мозаичные фреймовые оконные менеджеры тайловый tile manager awesome

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

Да, кстати, статью эту я писал, находясь как раз в awesome.

Возвращаемся на круги своя

Это очень просто! Закрываем приложения, для которых важно сохранить данные, жмём правую кнопку мыши и выбираем выход из awesome. Вываливаемся в чёрный true-терминал. Всё, X-сервер освобождён.

Занимаем его своим штатным менеджером с помощью команды:

sudo service gdm start

или

sudo service lightdm start

в зависимости от версии ОС.

А стоит ли?

Я умышленно не затрагивал конфигурирование awesome «под себя» и вопросы написания экранных виджетов, иначе бы эта короткая статья превратилась в пространное эссе. В интернете полно подобных руководств. Если вам действительно понравился тайлинг, в частности, awesome, то стОит изучить Lua (он прост, как Бейсик) и подумать: а не снести ли вообще титульный менеджер окон вашей сборки Линукса и не сделать ли awesome менеджером, запускаемым по умолчанию?

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

Правда стремительным он будет, если откажетесь от тяжеловесных приложений вроде Firefox, Google Chrome, VLC и др. и взамен их подберёте более лёгкие и быстрые, как, например, Midori, Arora, mplayer и проч. Кроме того, не все тяжеловесы корректно работают с awesome.

Тем не менее, парадигма тайлинга реально экономит пользовательские телодвижения. Для сокращения времени переключения между рабочими средами есть смысл четко закрепить задачи за рабочими экранами, например: 1— браузер, 2 — чаты, 3 — среда разработки и т.д. СтОит ли этим заниматься — решать вам.

В заключение напомню, что начиная с версии 11.10 убунтуподобных ОС, не надо больше заморачиваться манипуляциями с файлом ~/.xinitrc , выходить в true-терминал, гасить X-сервер и т.д. Для ознакомления с awesome достаточно после установки awesome перелогиниться и щелчком по шестерёнке над окном пароля выбрать среди версий менеджеров awesome, после чего ввести свой пароль (тоже касается и др. «манагеров», которые можно установить из Центра.)

Альтернатива — Xmonad

Читатель уже, наверное, заметил необычность awesome — он написан на новомодном Lua, о котором я обязательно напишу серию статей его рассматривающих. Xmonad в этом плане также весьма и весьма примечателен — он в свою очередь был написан на не менее модном Haskell.

xmonad тайловые мозаичные фреймовые оконные менеджеры тайловый tile manager xmonad

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

«он написан на многоумном и чиста хакерском языке Haskell, и что для всего менеджера хватило пять сотен строк кода».

У меня есть, что ответить на эту легенду:

savgor:/tmp/xmonad-0.10/XMonad% wc -l *
 
 267 Config.hs
  425 Core.hs
  192 Layout.hs
  300 Main.hs
   90 ManageHook.hs
  535 Operations.hs
  541 StackSet.hs
2350 total

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

xmonad тайловые мозаичные фреймовые оконные менеджеры тайловый tile manager xmonad

Прощальный взгляд

Напоследок напомню ещё две интересные лично для меня оболочки.

Это, во-первых, Stumpwm (is a tiling, keyboard driven X11 Window Manager written entirely in Common Lisp), и, во-вторых: широкоизвестный DWM — для всех любителей минимализма и строгости, где нет ничего лишнего, который можно считать продвинутым спецпространством для удобного отображения консоли, только с одним большим отличием — быстрым запуском GUI-приложений.

Читать дальше
Twitter
Одноклассники
Мой Мир

материал с blogerator.ru

2

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • pleshner
          • домен blogerator.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции