Классный оконный менеджер — Awesome WM / Хабр
Здравствуйте! Прочитав недавно статью про оконные менеджеры в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут — «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).
Описание
Awesome WM — тайлинговый wm, с возможностями быть и композитным. Это одна из его особенностей, часто пользователям требуется компактность (тайлинговая сторона этого WM), но и иногда можно и поработать в обычном режиме (композитном). Он очень легок, не нагружает процессор, и пространство экрана используется очень размерено и пустых пространств не остается (в тайлинговом режиме).
Настраивается он при помощи конфигурационного файла, на скриптовом языке Lua. Есть поддержка плагинов, которые тоже, в свою очередь, написаны на Lua.
Установка
Установить его очень просто, например на Arch Linux просто напишите
sudo pacman -S awesome vicious
Или на Debian based
sudo apt-get install awesome awesome-extra
Пакет «vicious» содержит в себе базовые плагины, которые Вы в дальнейшем можете использовать.
Далее требуется прописать его загрузки при загрузке X Window System. Это прописывается в файле, находящемся в домашнем каталоге, «.xinitrc».
#!/bin/sh exec awesome
Перезагружаемся и появляется это wm.
Первое знакомство
Вот так выглядит ваша сессия при первом включении. Казалось бы, как в этом работать и что тут делать? На самом деле все просто, когда поймешь ее систему. Все действия с окнами выполняются с помощью хоткеев. По умолчанию они таковы (все это можно прочитать в «man awesome», сам текст взят с gentoo wiki):
super + number переход на другой тэг, где тэг это номер клавиши, точнее его положение (проводя аналогию с другими wm, тэг = вирт. рабочий стол).
super + j, super+k переход между окнами.
super + shift + j или super + shift + k поменять местами два окна.

super + Space изменение отображения окон. (В awesome очень много видов отображений — тайлинговые: вертикально, горизонтально; композитные — можно мышкой таскать; приложение в фокусе на весь экран и пр.)
super + Enter запустить терминал.
super + r запуск программы.
super+shift+c закрыть окно.
super+shift+r перезапустить awesome.
super+shift+q выйти из awesome.
Несомненно кому-то они не удобны. Но ведь мы можем все изменить! Поэтому переходим к конфигурационному файлу.
Конфигурационный файл
Предупреждение, для редактирования его нужны хотя бы небольшие навыки в программировании или написании скриптов.
mkdir ~/.config/awesome cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
И будем изменять уже непосредственно его.
Прежде всего хотелось бы изменить некоторые клавиши.
Хоткеи находятся в секции
» — {{{ Key bindings «
Изменять все просто.
modkey — это наша клавиша super (с логотипом windows на клавиатуре).
Например:
awful.key({ modkey, "Shift" }, "q", awesome.quit),
Это строчка говорит, что super + Shift + q заставит awesome закрыться.
awful.key({ modkey, }, "q", awesome.quit),
Или например просто по клавише Esc (Это лишь пример!)
awful.key({}, "Esc", awesome.quit),
Думаю, логика понятна.
Так, с клавишами разобрались. Теперь стоит настроить глобальные переменные.
Эта секция находится в начале. (Далее мои собственные настройки, которые вы можете, конечно же, изменить)
terminal = "terminal" browser = "chromium-dev" editor = os.getenv("vim") or "vim" editor_cmd = terminal .. " -e " .. editor
Думаю с «внутренностями» мы разобрались, пора браться за внешний вид.
Еще чуть-чуть про настройку
Все так же продолжаем работать в конфигурационном файле.
«— {{{ Tags»
Вместо цифр просто напишите имена.
Например у меня:
tags[s] = awful.tag({ "All", "IM", "Work", "Etc", "Media"}, s, layouts[1])
Вообще про конфигурацию я написать хорошо не сумею, ведь это дело персональное. Лучше всего про это прочитать на awesome wiki. Вообще, дописав конфиг, Вы ощутите новую легкость работы с окнами. Большое количество плюшек можно найти здесь.
Вместо заключения
Хочу отметить, что данный wm идеально подойдет людям, которые часто держат в фокусе несколько окон. Так же он подойдет для слабых машин и легковесных систем, и машин с небольшими экранами (ноутбуки)
Заучив (по началу), а потом по наитию нажимая хоткеи, Вы уже не будете думать над тем, как, куда, что сделать с окном, как его разместить.
Но что слова! Скриншоты!
Полноразмерный последний скриншот
Мои обои, по просьбам трудящихся.
А так же видео, демонстрирующее работу WM.
Так же прилагаю архив со своим конфигом + плагины.
Надеюсь, я заинтересовал Вас этим классным (от англ. awesome) WM, и Вы попробуете его в деле! И готов с радостью ответить и помочь в комментариях.
UPD. Всех, кто хочет поделится своей конфигурацией или посмотреть чужие, ждут на соответствующей странице вики.
awesome — Gentoo Wiki
Other languages:
- English
- Nederlands
- español
- français
- italiano
- polski
- português do Brasil
- русский
- 中文(中国大陆)
- 日本語
- 한국어
awesome это высоконастраиваемый, динамичный оконный менеджер для X. Прежде всего он направлен на опытных пользователей, разработчиков, да и просто людей, заинтересованных в наличие контроля над различными аспектами графического окружения. Функционал можно увеличить с помощью языка программирования Lua.
Contents
- 1 Prerequisites
- 1.1 Services
- 1.2 Miscellaneous
- 1.3 X server
- 1.3.1 Starting the X server
- 2 Установка
- 2.1 USE-флаги
- 2.2 Emerge
- 3 Конфигурация
- 3.1 Первоначальная настройка
- 3.2 Конфигурационный файл
- 3.3 Тэги
- 3.4 Меню
- 3.5 Дата и время
- 3.6 Настройка громкости
- 3.7 Мультимедиа клавиши MPD
- 3.8 Удаление зазоров между окнами
- 3.9 Исправление ошибок конфигурации при помощи Xephyr
- 4 Горячие клавиши
- 5 Внешние ресурсы
Prerequisites
Services
Choose exactly one of:
- elogind: Standalone logind package, extracted from the systemd project for use with OpenRC or other init systems.
- systemd: Uses the session tracker part of systemd. Users of systemd do not need to take any other initiative here.
Miscellaneous
- D-Bus: Enables use of the D-Bus message bus system.
- polkit: Enables the polkit framework for controlling privileges for system-wide services.
- udisks: Enables support for some storage related services.
X server
Follow the instructions on Xorg/Guide to set up the X environment.
Starting the X server
One of the following methods can be used to start X:
- Display manager: Presents the user with a graphical login screen.
- X without Display Manager: When running a single-user system, one may find display managers an unnecessary waste of resources.
Установка
USE-флаги
USE flags for x11-wm/awesome
A dynamic floating and tiling window manager dbus | Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
doc | Add extra documentation (API, Javadoc, etc).![]() |
gnome | Add GNOME support |
test | Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
Emerge
Установите x11-wm/awesome:
root #
emerge --ask x11-wm/awesome
Конфигурация
Первоначальная настройка
Для запуска awesome используйте display manager или startx.
Чтобы использовать startx с поддержкой ConsoleKit, установите ConsoleKit и создайте следующий файл:
Файл ~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome
Конфигурационный файл
Стандартный конфигурационный файл awesome находится в ~/. config/awesome/rc.lua. Если данный каталог или файл отсутсвует, его следует создать. Стандартная конфигурация поставляется в комплекте с awesome и находится по адресу /etc/xdg/awesome/rc.lua. Просто скопируйте его в домашний каталог пользователя.
Создадим каталог awesome/:
user $
mkdir -p ~/.config/awesome/
И скопируем туда конфигурационный файл rc.lua:
user $
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
Если не установлен x11-terms/xterm, то следует либо установить его, либо изменить терминал по умолчанию на тот, который представлен в системе. Ниже мы используем в качестве подобного терминала konsole, часть kde-apps/konsole.
Файл ~/.config/awesome/rc.lua
-- Далее мы используем его как терминал по умолчанию. terminal = "konsole"
После внесения изменений не помешает проверить файл на наличие ошибок:
user $
awesome -k
✔ Configuration file syntax OK
Поддержка обоев рабочего стола очуществляется пакетом media-gfx/feh:
root #
emerge --ask media-gfx/feh
Но можно установить обои и при помощи awsetbg, для чего следует добавить в ~/. config/awesome/theme/theme.lua следующую строку:
Файл ~/.config/awesome/theme/theme.lua
Устанавливаем обои с использованием awsetbg
theme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }
Или просто настройте обои в параметрах темы:
Файл ~/.config/awesome/theme/theme.lua
Настройка определенной картинки фона рабочего стола с помощью определения wallpaper
theme.wallpaper = ".config/awesome/themes/awesome-wallpaper.png"
Тэги
В awesome тэгами называются виртуальные рабочие столы, на которых запущены приложения. Можно присвоить им различные символы:
Файл ~/.config/awesome/rc.lua
-- {{{ Tags tags = {} for s = 1, screen.count() do tags[s] = awful.tag({ "➊", "➋", "➌", "➍" }, s, layouts[1]) end -- }}}
Меню
Рассмотрим пример меню awesome:
Файл ~/.
config/awesome/rc.lua
-- {{{ Menu myawesomemenu = { { "инструкция", terminal .. " -e man awesome" }, { "править конфиг", editor_cmd .. " " .. awesome.conffile }, { "перезагрузка", awesome.restart }, { "выход", awesome.quit }, { "перезагрузка", "reboot" }, { "выключения", "shutdown" } } appsmenu = { { "urxvt", "urxvt" }, { "sakura", "sakura" }, { "ncmpcpp", terminal .. " -e ncmpcpp" }, { "luakit", "luakit" }, { "uzbl", "uzbl-browser" }, { "firefox", "firefox" }, { "chromium", "chromium" }, { "thunar", "thunar" }, { "ranger", terminal .. " -e ranger" }, { "gvim", "gvim" }, { "leafpad", "leafpad" }, { "htop", terminal .. " -e htop" }, { "sysmonitor", "gnome-system-monitor" } } gamesmenu = { { "warsow", "warsow" }, { "nexuiz", "nexuiz" }, { "xonotic", "xonotic" }, { "openarena", "openarena" }, { "alienarena", "alienarena" }, { "teeworlds", "teeworlds" }, { "frozen-bubble", "frozen-bubble" }, { "warzone2100", "warzone2100" }, { "wesnoth", "wesnoth" }, { "supertuxkart", "supertuxkart" }, { "xmoto" , "xmoto" }, { "flightgear", "flightgear" }, { "snes9x" , "snes9x" } } mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu }, { "приложения", appsmenu }, { "игры", gamesmenu }, { "терминал", terminal }, { "браузер", browser }, { "текстовый редактор", geditor } } }) mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), menu = mymainmenu }) -- }}}
Дата и время
Ниже приведён пример нестандартного формата времени. Для формата используется синтакс %d.%m %H:%M
, а 60
указывает интервал обновления.
Файл ~/.config/awesome/rc.lua
Создание виджета текстовых часов
-- {{{ Wibox -- Create a text-clock widget mytextclock = wibox.widget.textclock(" %d.%m %H:%M ", 60) -- }}}
Заметка
Чтобы узнать больше о различных форматах, запустите date —help.
Настройка громкости
media-sound/volumeicon позволяет использовать мультимедиа-клавиши и видеть уровень громкости при помощи иконки в трее.
root #
emerge --ask media-sound/volumeicon
Автоматический запуск volumeicon из ~/.xinitrc:
Файл ~/.xinitrc
Фоновый запуск volumeicon при старте X
volumeicon & exec ck-launch-session dbus-launch awesome
Или же можно добавить обработку мультимедиа-клавиш прямо в конфигурации awesome:
Файл ~/.config/awesome/rc.lua
Настройка клавиш громкости
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 2dB-") end) awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 2dB+") end)
Мультимедиа клавиши MPD
Установите media-sound/mpc чтобы привязать мультимедия клавиши к MPD:
root #
emerge --ask media-sound/mpc
И обновите конфиг awesome, чтобы присвоить мультимедиа-клавишам соответствующие команды:
Файл ~/.
Привязка мультимедия-клавиш config/awesome/rc.lua
awful.key({ }, "XF86AudioNext",function () awful.util.spawn( "mpc next" ) end), awful.key({ }, "XF86AudioPrev",function () awful.util.spawn( "mpc prev" ) end), awful.key({ }, "XF86AudioPlay",function () awful.util.spawn( "mpc play" ) end), awful.key({ }, "XF86AudioStop",function () awful.util.spawn( "mpc pause" ) end),
Удаление зазоров между окнами
Зазоры между окнами могут быть видимыми, наиболее заметно между окнами терминала. Их можно удалить, вставив свойство size_hints_honor=false
в таблицу awful.rules.rules
, например:
Файл ~/.config/awesome/rc.lua
Установка свойства size_hints_honor
awful.rules.rules = { { rule = { }, properties = { size_hints_honor = false, -- Remove gaps border_width = beautiful.border_width, border_color = beautiful.border_normal, ...
Исправление ошибок конфигурации при помощи Xephyr
Xephyr удобен для исправления ошибок, так как запускает X без клиентского окна.
user $
Xephyr -ac -nolisten tcp -br -noreset -screen 800x600 :1
Создастся окно размерами 800×600. Чтобы запустить внутри него awsome, необходимо выполнить следующую команду:
user $
DISPLAY=:1.0 awesome
Это запустит awesome внутри окна.
Горячие клавиши
Список наиболее полезных клавиш:
- mod4+mouse1 = переместить клиент мышью
- mod4+mouse2 = изменить размер клиента мышью
- mod4+enter = открыть терминал
- mod4+r = выполнить команду
- mod4+shift+c = закрыть
- mod4+m = развернуть
- mod4+n = свернуть
- mod4+ctrl+n = восстановить свёрнутые
- mod4+f = полноэкранный режим
- mod4+tab = переключиться на предыдущий клиент
- mod4+ctrl+space = режим плавающих окон
- mod4+j = подсветить левый
- mod4+k = подсветить правый
- mod4+shift+j = переместить вправо
- mod4+shift+k = переместить влево
- mod4+l = изменить размер тайлового окна
- mod4+h = изменить размер тайлового окна
- mod4+left / right = сменить тэг
- mod4+1-9 = сменить тэг
- mod4+shift+1-9 = отправить окно на тэг
Для дальнейшей кастомизации awesome можно присвоить действия к комбинациям вроде Alt+Tab, чтобы, например, переключиться на предыдущее окно:
Файл ~/.
Привязка клавиш Alt+TAB config/awesome/rc.lua
-- {{{ Key bindings globalkeys = awful.util.table.join( ... -- alt + tab awful.key({ "Mod1", }, "Tab", function () awful.client.focus.history.previous() if client.focus then client.focus:raise() end end), -- )}}}
Внешние ресурсы
- Пользовательские конфигурации на wiki-страничке awesome
Topic 07-my-first-awesome.md — потрясающая документация по API
Этот небольшой туториал предназначен для тех, кто никогда раньше не использовал оконный менеджер с плитками.
и не иметь причудливых хакерских навыков. Мы познакомимся с удивительным миром
Удивительно шаг за шагом и, наконец, придумать рабочий рабочий стол, предоставляя некоторые
базовые знания о том, как настроить Awesome в процессе. Мы начнем с
rc.lua по умолчанию, который поставляется с Awesome, немного поэкспериментируйте и попробуйте
сделать его более красивым и полезным с помощью виджетов. Для этого урока вам не нужно
любые навыки программирования, кроме использования текстового редактора.
Explore Awesome
Я предполагаю, что вы правильно установили Awesome через свой дистрибутив
менеджер пакетов или скомпилировал его из исходников. Теперь вы должны добавить exec awesome
в
ваш ~/.xinitrc
. Как уже упоминалось, Awesome предоставляет файл конфигурации по умолчанию.
который будет нашей отправной точкой. Обычно вы найдете этот файл rc.lua в /etc/xdg/круто/
. Скопируйте его в ~/.config/awesome/
, а затем запустите X (для
например, запустив startx
).
Переместите указатель мыши в левый верхний угол и щелкните логотип Awesome. Немного
открывается меню. Просмотрите меню, затем снова щелкните логотип, чтобы закрыть его. Следующий
в меню Awesome вы видите цифры 1-9. Это ваши теги (или рабочие столы, если вы
хочу). Вы можете нажать на них, чтобы изменить их, но ничего не произойдет, потому что мы
никаких программ не открывал. В правом верхнем углу вы видите время/дату и
символ, показывающий текущую раскладку. Вы также можете нажать на символ, чтобы изменить
активный макет.
Одним из больших преимуществ Awesome по сравнению с другими мозаичными оконными менеджерами является его хорошая поддержка мыши. Awesome может работать как полноценный диспетчер плавающих окон (почти как openbox), если хотите. В этом базовом руководстве мы в основном сосредоточимся на управление с клавиатуры, так что давайте теперь изучим некоторые привязки клавиш.
Откроем терминал: нажмите Mod4+Enter . Mod4 — это ваш «ключ Windows», ключ
между Ctrl и Alt. Вы можете изменить modkey, если хотите, но мы перейдем к
что позже. xterm 9Появится окно 0008. Вы, конечно, можете использовать свой любимый
терминал, если хотите. Опять же, об этом позже. Теперь нажмите Mod4+Shift+c , чтобы
закрыть терминал. Это команда, которая позволяет закрыть любое приложение.
У Awesome есть элегантный способ запуска программ: нажмите Mod4+r .
Теперь вы будете
см. подсказку Run: в строке состояния. Начните все, что вам нравится, это также
Особенности Tab-дополнение!
Откройте другие приложения, чтобы увидеть функции мозаики. Теперь вы можете нажать Mod4+Пробел для циклического перебора всех возможных плиток (и плавающие) макеты. Обратите внимание, что значок в правом верхнем углу меняется.
Также попробуйте Mod4+h , Mod4+l , Mod4+Shift+h и Mod4+Shift+l для изменения размера окна. Вы также можете изменить размер с помощью Mod4+Button3 (щелчок правой кнопкой мыши). Mod4+f будет сделать ваше текущее окно полноэкранным.
С помощью Mod4+Number (1-9) вы можете просматривать свои теги. С Mod4+Shift+цифра (1-9) можно отправить окно на определенный тег. Мод4+Левый и Mod4+Right переходит к следующему тегу в указанном направлении.
Используйте Mod4+k и Mod4+j , чтобы изменить сфокусированный клиент — перемещение мыши
также сделать это.
Mod4+Shift+q завершает работу Отлично, но не делайте этого сейчас.
Для просмотра всех привязок клавиш нажмите Mod4+s . Нажатие любой клавиши закрывает этот обзор еще раз.
Если вы пользователь Vim, попробуйте следующее: нажмите Mod4+r для запуска, введите gvim
и нажмите Введите , чтобы запустить его. Теперь снова нажмите Mod4+s . Привязка ключей
обзор теперь также предоставляет шпаргалку по управлению Vim.
Изменить тему
Awesome имеет несколько встроенных тем, которые вы можете выбрать:
- по умолчанию
- ГТК
- небо
- xресурсы
- зенберн
Чтобы изменить тему, откройте файл rc.lua, найдите эту строку в начале
файл и измените по умолчанию
на одно из других упомянутых значений:
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
Однако для этого урока мы скопируем и настроим тему по умолчанию.
Скопируйте /usr/share/awesome/themes/default/theme.lua
в ~/.config/awesome/
и измените показанную выше строку в rc.lua следующим образом. Обязательно замените USER
с вашим именем пользователя.
beautiful.init("/home/USER/.config/awesome/theme.lua")
Изменение фонового изображения
Фоновое изображение рабочего стола обрабатывается в файле темы. Чтобы изменить его, отредактируйте эта строка в файле вашей темы:
theme.wallpaper = themes_path.."default/background.png"
По умолчанию используется путь относительно themes_path
с использованием оператора ..
для
соединить две струны вместе. Например, чтобы просто установить для него абсолютный путь,
ты мог бы сделать:
theme.wallpaper = "/usr/share/backgrounds/my-awesome-wallpaper.png"
Персонализируйте свои макеты
Чтобы оптимизировать наш рабочий процесс, мы теперь хотим дать имена нашим тегам и установить
определенный мозаичный или плавающий режим для каждого из них. Откройте ваш rc.lua и найдите раздел макетов. Это должно выглядеть так:
ужасно.layout.layouts = { ужасный.макет.костюм.плавающий, ужасный.макет.костюм.плитка, ужасный.макет.костюм.плитка.слева, ужасный.layout.suit.tile.bottom, ужасный.layout.suit.tile.top, ужасный.макет.костюм.ярмарка, ужасный.макет.костюм.справедливый.горизонтальный, ужасный.макет.костюм.спираль, ужасный.layout.suit.spiral.dwindle, ужасный.layout.suit.max, ужасный.layout.suit.max.полноэкранный, ужасный.макет.костюм.лупа, ужасный.layout.suit.corner.nw, -- ужасно.layout.suit.corner.ne, -- ужасно.layout.suit.corner.sw, -- ужасно.layout.suit.corner.se, }
Это все возможные мозаичные и плавающие макеты, которые есть у Awesome. если вы не
найти все из них полезными, вы можете прокомментировать некоторые из них, добавив "--"
к началу строки. Awesome уже поставляется с тремя макетами, которые
не используется в конфигурации по умолчанию, как вы можете видеть выше.
Персонализируйте свои теги
Далее мы хотим назвать наши теги. Это создание тега по умолчанию с номерами от 1 до 9:
-- Каждый экран имеет свою собственную таблицу тегов. ужасно.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, ужасно.layout.layouts[1])
Теперь мы хотим изменить имена тегов и назначить определенный макет для каждого из
их. По умолчанию каждый тег имеет плавающую компоновку (первая запись в раскладок
таблиц). Чтобы изменить это, мы определяем определенный макет для каждого тега.
Замените вышеуказанный код на этот:
-- Каждый экран имеет свою собственную таблицу тегов. локальные имена = { "main", "www", "skype", "gimp", "office", "im", "7", "8", "9" } local l = ужасно.layout.suit -- Просто чтобы не печатать: используйте псевдоним. локальные макеты = { l.floating, l.tile, l.floating, l.fair, l.max, л.плавающая, л.плитка.слева, л.плавающая, л.плавающая } ужасно.tag(имена, с, макеты)
Мы используем макеты
, чтобы установить макет для каждого тега. Отредактируйте это, как вам нравится.
Некоторые глобальные настройки
Пока мы на этом, мы также можем изменить терминал по умолчанию, редактор и назначить modkey на другой ключ:
terminal = "xterm" редактор = os.getenv("РЕДАКТОР") или "нано" […] ключ = "Мод4"
Измените эти настройки по своему вкусу. Они довольно понятны и хорошо задокументировано в комментариях.
Подведение итогов
Сохраните файл rc.lua и перезапустите awesome ( Mod4+Ctrl+r ). Теперь о модификациях сделано выше должны быть применены.
Обратите внимание, что любые ошибки в вашем rc.lua могут вызвать проблемы. Вы можете сохранить
себе некоторые проблемы, используя Xephyr
для проверки ваших изменений.
Откройте терминал и выполните следующую команду:
Xephyr :5 & sleep 1 ; ДИСПЛЕЙ=:5 отлично
Появится новое окно, и внутри него запустится новый экземпляр awesome.
Добавить виджеты
Перед следующей строкой:
mylauncher = ужасно.widget.launcher({ изображение = красиво.awesome_icon,
Добавьте это, чтобы создать новый виджет:
похвала виджета = wibox.widget.textbox() похвалаwidget.text = "Вы великолепны!"
Виджет еще нужно добавить на вайбар. Для этого найдите определение ваш вайбар и измените его следующим образом:
{ -- Левые виджеты макет = wibox.layout.fixed.horizontal, мой лаунчер, похвала, -- это новая строка с.mytaglist, s.mypromptbox, },
Это дает вам общее представление о том, как добавить виджет. Для обзора доступных виджеты и как их расположить, читайте на 03-declarative-layout.md.
Дополнительная литература
Чтобы узнать больше об отдельных частях файла конфигурации по умолчанию, см. пожалуйста, посмотрите на 05-awesomerc.md.
Установка и настройка Awesome WM
Awesome Window Manager — динамический оконный менеджер с широкими возможностями настройки. Он настроен на языке программирования Lua, очень быстр и расширяем. Это официальный сайт Awesome WM.
Ниже приведены инструкции по установке и некоторые шаги по настройке, которые помогут вам начать работу. В этом руководстве предполагается, что вы используете Arch Linux. У нас есть полное руководство по установке Arch Linux в этом блоге, если вы хотите установить его или сохранить для дальнейшего использования. Это один из лучших гайдов на Medium.
После установки Awesome вы можете проверить эту ссылку для установки приложений для различных целей.
Используйте эту команду для установки терминала Awesome, Xorg и Xterm:
# sudo pacman -S xorg-server xorg-xinit xterm awesome
Этот метод предназначен для инициализации и запуска Awesome без Display Manager, такого как lightdm
Добавьте Awesome в файл xinitrc:
# echo «exec awesome» > ~ /.xinitrc
Start Awesome:
# startx
При необходимости вы можете установить некоторые из этих пакетов. Некоторые из них необходимы для внесения изменений и получения помощи онлайн в оконном менеджере:
# sudo pacman -S firefox vlc virtualbox xfce4-taskmanager xfce4-power-manager xfce4-settings scrot pcmanfm kitty азот пиком geany файл-роллер dmenu
Чтобы внести изменения и модифицировать оконный менеджер, нам нужно отредактировать файл rc. lua, который является файлом конфигурации для Awesome.
Скопируйте файл конфигурации, чтобы мы могли отредактировать его позже. Убедитесь, что у вас есть папка .config и папка awesome , созданные в вашем домашнем каталоге:
# cp /etc/xdg/awesome/rc.lua ~/.config/awesome
Мы можем автоматически запускать некоторые приложения например пиком и азотом при запуске Awesome.
Добавьте эти строки внизу файла конфигурации для запуска приложений:
-- Автозапуск приложений awful.spawn.with_shell("picom") awful.spawn.with_shell("азот --restore")
Вы можете изменить терминал по умолчанию, внеся изменения в приведенную ниже строку:
-- Это используется позже в качестве терминала по умолчанию и редактора для запуска.
- В приведенной выше строке измените терминал, где он говорит. Он должен быть в строке 51:
terminal = «xterm»
Измените строку запуска на dmenu, если у вас установлено dmenu. Он должен быть на линии 313:
-- Подсказка
Измените вторую строку с:
ужасно.экран.фокусированный().mypromptbox:run()
на следующую:
ужасно.util.spawn("dmenu_run")
Изменить описание «запустить dmenu» вместо «запустить приглашение»
Вы можете добавить привязку клавиш к Firefox, чтобы вы могли легко запускать его, как dmenu.
Скопируйте три строки «Подсказка», которые вы изменили выше, и вставьте их под ними. Начинается с Подсказка и заканчивается на группа = «пусковая установка»}), .
Теперь измените ключ мода с r на b , функцию на «firefox» , а описание и группу на «firefox» и «приложения» . Теперь ваш код должен выглядеть так:
-- Firefoxawful.key({modkey}, «b», function () ужасно.util.spawn(«firefox») end,{description = «firefox», group = «applications ”}),
Для регулировки громкости можно установить volumeicon
# sudo pacman -S volumeicon
Чтобы настроить Awesome, вы можете изменить тему и фоновый рисунок. Вы также можете изменить макеты приложений и теги на панели Awesome. Для всего этого вы можете перейти по ссылке, указанной ниже и:
https://awesomewm.org/apidoc/documentation/07-my-first-awesome.md.html
Удалите строку заголовка (полоса поверх всех windows), отредактировав эту строку и изменив true на false . Это должна быть строка 500.
}, properties = {titlebars_enabled = true}
Вы можете запустить numlock при загрузке, установив этот пакет:
# sudo pacman -S numlockx
Затем вставьте эту строку в файл ~/.xinitrc двумя строками выше строки exec:
numlockx &
Если вы используйте ProtonMail, вы можете установить ProtonMail Bridge, используя ссылку, указанную ниже.
Для этого в вашей системе должен быть установлен групповой пакет base-devel :
# sudo pacman -S base-devel
Ссылка для установки ProtonMail Bridge:
https://protonmail.com/support/knowledge-base/install-bridge-linux-pkgbuild-file/
Если вы хотите изменить разрешение экрана или частоту обновления вашего монитора, вы можете использовать любой из этих программы.
Карты NVIDIA:
# sudo pacman -S nvidia-settings
Диспетчер настроек XFCE:
# sudo pacman -S xfce4-settings
Вы также можете использовать Xrandr для установки разрешения и частоты обновления. Для одного монитора 1080p с частотой обновления 120 Гц вы можете запустить эту команду
# xrandr --output DP-0 --mode 1920x1080 --rate 120
Вы также можете просто использовать xrandr, чтобы узнать, какие дисплеи подключены и какие разрешения и частоты обновления они поддерживают
# xrandr
Если вы используете ProtonVPN , как и мы, вы можете установить и настроить его, используя указанную ниже ссылку:
https://github.com/ProtonVPN/linux-cli/blob/master/USAGE.md
Если вы хотите настроить так, как вы используйте свою клавиатуру с Awesome, вы можете изменить привязки клавиш по умолчанию и добавить новые.
Одним из таких примеров является изменение привязки клавиш для закрытия приложения. Он должен быть в строке 346. По умолчанию он установлен на ‘modkey + Shift + c’ . Вы можете изменить его, скажем, на ‘modkey + q’ или ‘modkey + Shift + q’ . Просто найдите «закрыть» в файле rc.lua и измените его.
Ты должен быть осторожен с одной вещью. Что привязка клавиш, которую вы устанавливаете, бесплатна и больше нигде в файле rc.lua не используется. Вам нужно будет внимательно просмотреть файл, или вы можете нажать modkey + s привязка клавиш для проверки всех используемых в данный момент привязок клавиш.
Если вам не нравятся привязки мыши, вы можете прокомментировать все строки ниже. Они должны быть в строке 222:
. Вы можете прокомментировать любую строку в файле rc.lua, добавив два знака тире в начале строки, как показано ниже:
-- {{{ Привязки мыши -- root.buttons( gears.table.join(-- ужасно.button({ }, 3, function () mymainmenu:toggle() end),-- ужасно.button({}, 4, ужасно.tag.viewnext),-- ужасно.кнопка({ }, 5, ужасно.tag.viewprev)----))-- }}}
Awesome имеет меню в верхнем левом углу по умолчанию, которое может быть бесполезным для некоторых людей. Вы можете отключить его, если хотите, прокомментировав строки, как указано ниже. Эти строки должны начинаться с 83.
-- {{{ Меню
-- Создать виджет запуска и главное меню
--myawesomemenu = {
-- { "горячие клавиши", function() hotkeys_popup.show_help(nil, ужасно .screen.focused()) end },
-- { "manual", terminal .." -e man awesome" },
-- { "edit config", editor_cmd .." " .. awesome.conffile },
-- { "restart", awesome.restart },
-- { "quit", function() awesome.quit() end },
--} --mymainmenu = ужасно.menu({ items = { { " awesome", myawesomemenu, beautiful.awesome_icon},
{ "открыть терминал", terminal }
-- }
-- }} --mylauncher - ужасно.widget.launcher({ image = beautiful.awesome_icon,
-- menu = mymainmenu })
Чтобы найти файлы в вашей системе с помощью командной строки, можно использовать mlocate. Сначала нам нужно установить mlocate, выполнив эту команду:
# sudo pacman -S mlocate
Затем нам нужно обновить базу данных:
# sudo updatedb
И теперь мы можем искать файл в нашей системе. Здесь rc.lua — это файл, который мы ищем.
# locate rc.lua
Мы используем alacritty в качестве эмулятора терминала по умолчанию. Есть и другие хорошие альтернативы, такие как st, термит, urxvt и т. д. Чтобы настроить alacritty, скопируйте файл yml в свой домашний каталог:
# cp -i /usr/share/doc/alacritty/example/alacritty.yml ~/.config/алакритти
Убедитесь, что у вас есть папка с именем 'alacritty' в папке .config
Ниже приведены шаги для монтирования жестких дисков при запуске:
Создайте каталог для монтирования жесткого диска, например, /media/data
# sudo mkdir /media/data
- Run this command to get the UUID of the hard drive
# sudo blkid
- Edit the fstab file
# sudo nano /etc/fstab
- Insert строка с UUID, путем, типом файла, значениями по умолчанию и 0 0.
Строка должна выглядеть так
UUID=2f872a6b-2d86-6fb2-bc07-67ebe6de5025 / ext4 defaults 0 0
- Check the mounts
# findmnt
- Add a label to the hard drive
# e2label /dev/sdb1 Data
Здесь Data — это метка, которую мы хотим присвоить жесткому диску
- Чтобы размонтировать диск, используйте эту команду
# sudo umount /media/Data
Вы также можете установить ntfs-3g для записи доступ к жестким дискам, отформатированным в NTFS
# sudo pacman -S ntfs-3g
Вы можете заставить приложение всегда открываться в определенном теге. Для этого добавьте следующие строки в файл rc.lua
-- Настройте приложения так, чтобы они всегда отображались на теге 7 на экране 1.{ rule = { class = "Thunderbird" },properties = { screen = 1, tag = ужасно.util.tagnames[7] , switchtotag = true } },
Здесь мы хотим, чтобы Thunderbird открывался по тегу 7 и на экране 1.