- Установка и настройка i3wm
- Простой вариант установки и настройки i3wm (минимализм)
- Ссылки
- Установка
- Настройка конфига i3wm
- Настройка i3WM
- Введение
- Настройка i3WM
- Устройство конфига в i3WM
- Внешний вид
- Рамки окон
- Внешний вид приложений
- Анимации и VSync
- Conky
- Лаунчер Приложений
- Вывод
- Регулировка яркости экрана в i3
- Действия
- События
Установка и настройка i3wm
В этой статье расписал, как я настроил под свои нужды i3wm. Конечно же тут можно многое еще что добавить и настроить. Можно поставить и полибар и разные плюшечки, можно поставить также и rofi для “более удобного” поиска установленных программ, но мне как-то и так хорошо. Вы если хотите можете все это себе поставить. Я даю тут все в упрощенном варианте и без особых наворотов. Далее уже вы сами подстраивате конфиги под свой вкус и цвет, под свои “фломастеры”.
Простой вариант установки и настройки i3wm (минимализм)
Ссылки
Установка
Сначала давайте установим все, что нам понадобится. При этом помним, что это вариант минимализма. Чтобы понять, что к чему, а далее уже будем делать рюшечки 🙂
Нам понадобится:
- i3wm — оконный менеджер и его форк (ответвление) i3-gaps
- i3status — вывода строки статуса в i3bar
- dmenu — утилита для запуска программ
- ttf-font-awesome — шрифтовые иконки
- feh — установка обоины на рабочий стол
- lxappearance — установка тем для окон, иконок, курсора
- pcmanfm — файловый менеджер
- gvfs и udiskie — для авто монтирования внешних дисков
- xorg-xbacklight — для управлением яркостью экрана
- ristretto, viewnior или tumbler — для просмотра фото
- picom — для прозрачности окон и для устранения тиринга (вместо compton)
Можно еще поставить sbxkb — индикатор раскладки и переключения клавиатуры, но можно и без этого! Когда вы последний раз смотрели на раскладку? Уверены, что это вам нужно? Еслитакой вариант переклюения клавиатуры вам не нравтся, а хотите тектовой, то есть другой вариант, но для этого вам уже нужно будет ставить polibar. Если нужно то пишите в комментах. Будет много желающих напишу как это делать.
Ставим пакеты из pacman:
Настройка конфига i3wm
При первичной загрузке вы увидите примерно такое сообщение:
Нажмите 2 раза на Enter — это создаст конфигурационный файл, который мы потом будем менять. Вы увидите просто черный экран и возможно курсор мыши :))) Не пугайтесь все нормально, система работает и вы сделали все правильно.
Зачастую можно видеть символ загрузки, который постоянно вращается (до 60 сек.) — система пытается запустить какой-то процесс. Если вас это раздражает, то можно убрать прописав перед запуском программ код:
Источник
Настройка i3WM
В современных графических оболочках концепция тайлига очень сильно недооценивается, примитивный тайлинг есть и в Windows и в таких оболочках как KDE, Gnome, XFce. Но все это лишь частичная поддержка тайлинга. По настоящему тайлинг отлично реализован в таких оконных менеджерах как Awesome, DWM, i3WM. И сегодня как раз поговорим о последнем.
Один из самых легких, удобных и гибких в настройке оконных менеджеров Linux это несомненно i3WM. Львиную долю своей популярности он получил благодаря очень простой настройке, и в этом гайде мы разберем конфиг i3wm с примерами конфигурации оконного менеджера.
Введение
Думаю многие читатели этого поста уже знают что такое динамический оконный менеджер — коим и является i3WM. А те кто не знает — сообщаю, оконные менеджеры (составная часть любого DE) делятся на два типа, стековые (плавающие окна) и фреймовые (окна располагаются мозаикой). А если все это смешать, то получиться гибрид в виде динамических оконных менеджеров, в которых окна могут переключаться из плавающего режима в фреймовый.
Не важно почему вы выбрали именно i3wm среди многих других динамичных оконных менеджеров… Будто простота настройки (в чем вы убедитесь ниже), его легкость по сравнению с другими или же просто по совету более опытного линуксойда. Для начала я предлагаю рассмотреть что мы будем иметь из коробки после установки i3wm:
- i3 — Собственно сам оконный менеджер
- i3bar — «Родная» панель в i3wm все что умеет это отображение рабочих столов и строку терминала
- i3status — Отображение некоторой информации строчкой терминала
- i3lock — Экран разблокировки компьютера
Теперь давайте разберемся со всем по порядку.
Настройка i3WM
После запуска нас встретит окно выбора mod клавиши. Будет два варианта Meta (windows кнопка) и Alt. После запуска перед собой мы будем видеть только i3bar с запущенным в ней i3status и больше ничего.
Окно выбора Mod клавиши
В качестве терминала по умолчанию используется xterm — запускается комбинацией Mod+Enter. Не будем пока зацикливаться на управлении, уясним лишь то, что бы закрыть окно нужно нажать Mod+Shift+q , а что бы перезапустить i3 — Mod+Shift+r.
Теперь давайте проясним для себя то что нам надо
- Обои — Для этого будем использовать Nitrogen
- Лаунчер приложений — Тут есть много вариантов, рассмотрим мы только самые популярные
- Анимации и VSync — Для этого нам понадобится композитор, я предлагаю Compton потому что он легкий и стабильный
Памятка стандартных хоткеев i3WM
Устройство конфига в i3WM
По умолчанию конфиг i3WM находится в папке
Вообще для того чтобы виртуозно работать с конфигом i3wm надо всего лишь знать что все что идет после # — комментарий, и еще три вещи :
1) Запуск программ происходит с помощью exec, для того чтобы наш оконный менеджер что то запустил используем следующий шаблон
- Пример
exec compton
При запуске i3 — запуститься и композитор compton - Пример
exec
/script.sh
При запуске i3 — запуститься скрипт который лежит в домашней папке под именем script.sh
exec nitrogen — -restore
При запуске i3 — запуститься nitrogen с опцией restore
2) Установка переменных. В i3wm можно создать переменные, работает это все как define в C++. На место переменной встанет заданная ей строчка. Переменные можно задать с помощью set.
- Пример
set $color #023537
Переменной $color задано значение #023537 - Пример
set $fileManager pcmanfm-qt
Переменной $fileManager заданное значение pcmanfm-qt
Переменные удобно использовать создавая блок настроек, дабы потом не бегать по конфигу i3wm и не искать нужный пункт.
3) Комбинации клавиш задаются с помощью bindsym, синтаксис предельно прост
- Пример
bindsym $mod+1 workspace 1
При нажатии mod клавиши и цифры 1 — мы перейдем на рабочий стол 1. - Пример
bindsym XF86Tools exec firefox
При нажатии кнопки Tools — запустится FireFox - Пример
set $press XF86Search
set $search dmenu
bindsym $press $search
При нажатии заданной в переменной кнопки — будет выполнена заданная в другой переменной программа.
В начале конфига стоит поправить пару строчек на свой вкус :
set $mod Mod4 # Установка mod клавиши
font pango:xos4 Terminus 8 # Установка шрифта для рамок окна
Теперь давайте поглубже копнем в создание горячих клавиш.
Скорей всего у вас на клавиатуре будет 6той ряд клавиш, который хочется использовать по полной. Что бы узнать имя клавиши я использую xev.
Запустите xev , и наведя на белое окно нажимайте нужную клавишу что бы узнать ее имя. Для удобства анализа 6го ряда запускайте его так
Этого было бы достаточно если бы не пару проблем с которыми я столкнулся когда пытался настроить некоторые клавиши.
1) Регулировка громкости. Я использую pactl для этих целей, и для работы кнопок +\- и переключения состояния микрофона и звука я использую вот такие бинды
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle
bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle
2) Регулировка яркости. Вообще вряд-ли это будет проблемой, но для того что бы более менее избавить вас от гугления — я просто покажу как это делается
bindsym XF86MonBrightnessUp exec xbacklight -inc 6
bindsym XF86MonBrightnessDown exec xbacklight -dec 6
Внешний вид
Рамки окон
Кнопки управления окном в i3wm заменены хоткеями
Изменить размер рамок окна по умолчанию можно с помощью new_window pixel — я себе поставил 1, только чтобы видеть границы окон.
Цвет рамок окна можно задать по шаблону
Классы окон:
client.focused — окно в фокусе
client.unfocused — окно вне фокуса
client.focused_inactive — окно в фокусе но не активно
client.urgent — окно требует внимания (всплывающее уведомление например)
Пример настройки цвета;
Ну и думаю стоит привести пример настройки цветов i3bar — все по той же схеме, только немного другие теги.
Классы индикаторов рабочих столов:
- focused_workspace — Рабочий стол в фокусе;
- active_workspace — Активный рабочий стол;
- inactive_workspace — Неактивный рабочий стол;
- urgent_workspace — На рабочем столе есть приложение которое требует внимания;
Примернастройки цветов для i3bar:
Внешний вид приложений
Для настройки внешнего вида приложений надо будет попотеть.
Начнем с простого — настройки GTK+
Все что нам надо, это лишь программа lxappearance,в ней можно настроить иконки , тему GTK и курсора.
Теперь сложнее — настройка Qt.
Для настройки Qt нам нужно будет всего два приложения qt4config и qt5ct.
Запускаем qt4config — выбираем тему , шрифт и т. п. — все.
Но вот если мы запустим qt5ct то увидим сообщение о отсутствии переменной среды. Чтобы исправить нам надо будет отредактировать файл Xsession, т.к я использую sddm — то у меня он находиться по адресу /usr/share/sddm/scripts/Xsession. В него нам надо добавить строчку export QT_QPA_PLATFORMTHEME=»qt5ct» — после чего перелогинимся и уже спокойно можем запустить qt5ct и там провести настройку
По мимо стандартных тем для Qt можно выбрать движок тем. Советую обратить внимание на Kvantum — это SVG based движок для Qt. Простой в настройке, тем пока что мало, но то что есть выглядят очень круто и футуристично.
Анимации и VSync
Мы с вами уже условились что для обеспечения красивой анимации будем использовать композитор compton, сейчас я не буду писать про то как надо настраивать его, т.к пост про i3WM а не про compton, просто покажу с чего стоит начать.
Добавим в конфиг exec compton -f —vsync drm
И после перезапуска получаем красивые переходы, прозрачность и главное вертикальную синхронизацию, все очень просто !
Про обои мы тоже договорились что будем использовать nitrogen. Запускаем его, выбираем обоину и радуемся, все что остается, это только добавить в конфиг exec nitrogen —restore
Conky
Conky достаточно популярный виджет в мире Linux
Это необязательный пункт, но я подумал что стоит и его упомянуть, тут я просто покажу как надо запускать коньки в i3wm
exec conky -c
/.config/i3/conky_c
Информации по настройке коньков в интернете уйма, от себя добавлю лишь то — что стоит исключить их из обработки теней в compton.
Лаунчер Приложений
Вообще под Linux есть уйма различный лаунчеров, рассмотрим самые популярные.
- Dmenu — каноничный лаунчер, по факту это выпадающая строка терминала с автодополнением. Минималистичный и легкий.
- Xfce AppFinder — лаунчер приложений из окружения XFace, основан на GTK+ , не сказать что удобное решение, но он простой и понятный.
- Rofi — Достаточно гибкий лаунчер, по мимо простого запуска приложений умеет навигацию по окнам и ssh клиент.
Вывод
Прочитав этот гайд вы точно сможете настроить оконный менеджер i3WM под себя, и иметь неповторимую среду рабочего стола. Лично от себя могу добавить что именно благодаря знакомству с i3WM я осознал насколько гибок Linux, и что можно работать именно с теми инструментами которые тебе удобны. В этом плане i3WM тебя не ограничивает, надо лишь только посидеть за конфигом.
Настоятельно рекомендую прочесть Официальный гайд
Ну раз уж такое дело, то думаю ShowMyDesktop тред в комментариях будет не лишнем.
Спасибо за внимание !
Источник
Регулировка яркости экрана в i3
TechKnow — ПК HP Touchsmart 520-1070
Я хочу регулировать яркость экрана в i3, в ноутбуках Intel с Fn ключи для этой цели. Эти клавиши работают с любыми другими DE.
Сначала убедитесь, что доступны устройства Intel:
В другом форуме программа xbacklight предлагается как средство управления яркостью в i3. Однако он не работает на ноутбуках, которые я пробовал до сих пор:
Есть ли другой способ управления яркостью в i3?
- может попробовать xrandr ? также проверьте wiki.archlinux.org/index.php/Backlight#xbacklight
Чтобы изменить яркость экрана, вы можете использовать xrandr .
Для этого вы можете:
Это вернет все подключенные мониторы (например, LVDS-1 или же DVI-D-0 например).
Теперь, чтобы изменить яркость экрана, выполните команду (замените DVI-D-0 выводом предыдущей команды):
Например, эта команда устанавливает яркость на 70%.
Надеюсь, это поможет !
- 6 Обратите внимание, что это будет только подражать яркость экрана.
- Чтобы уточнить, изменив «яркость» с помощью xrandr на самом деле не регулирует яркость подсветки, а просто регулирует цвета, передаваемые пикселям. Из-за этого цвета выглядят ужасно при более низкой «яркости».
brightnessctl можно использовать для установки актуальный яркость устройства.
Копирование из моего старого ответа на вопрос: специальные клавиши XF86MonBrightnessUp / XF86MonBrightnessDown не работают
редактировать: Как указано ниже, у вас должен быть acpi установлен на вашем компьютере, чтобы они работали 🙂
Это старый вопрос, но ответ может помочь другим. Я столкнулся с проблемой при новой установке i3wm на моем ноутбуке, где по какой-то причине мой XF86MonBrightnessUp/Down ключи не регистрировались (я проверял xev ). В итоге я создал acpi действия и события, соответствующие нажатым клавишам.
Ниже приведены действия / события, которые я определил в /etc/acpi/actions и /etc/acpi/events соответственно:
Действия
События
/ и т.д. / acpi / события / bl-вниз
/ и т. д. / acpi / события / вспышка
Вы можете проверить коды событий acpi для повышения / понижения яркости с помощью acpi_listen в вашем терминале, а затем нажмите соответствующую комбинацию клавиш (например, для меня это Fn + стрелка вниз для уменьшения яркости).
Наконец, не забудьте перезапустить acpid с участием sudo /etc/init.d/acpid reload
Заметка: Ваше устройство подсветки может быть определено в другом месте, чем /sys/class/backlight/acpi_video0 — вот где мой оказался. Покопайся.
- 1 Это был ответ, который мне помог! Было бы неплохо упомянуть, что вам нужно acpi установил вверху 🙂
Есть 2 xbacklight . В Archlinux (может быть таким же в вашем дистрибутиве) один входит в пакет xorg-xbacklight получено с https://xorg.freedesktop.org/, а другой находится в пакете acpilight получено с https://gitlab.com/wavexx/acpilight. Если один не работает, возможно, другой сработает.
Описание для xorg-xbacklight говорит:
Приложение для управления подсветкой на основе RandR
И из acpilight ссылка:
На некоторых современных ноутбуках «XRandR» может не иметь возможности настроить яркость дисплея. Эта возможность была перемещена / унифицирована в интерфейс ACPI ядра через / sys / class / backlight /. «acpilight» обеспечивает замену команды xbacklight, которая использует интерфейс ACPI вместо «XRandR».
Итак, это может быть причиной того, что ваш xbacklight не работает.
- 1 Это то, что мне было нужно 🙂 При поиске acpilight Я нашел это в вики Arch: wiki.archlinux.org/index.php/Backlight «xbacklight returns: Ни у одного выхода нет свойства подсветки. В зависимости от установленной видеокарты, иногда xbacklight от xorg-xbacklight возвращает сообщение» Нет выходов backlight свойство «. Установка acpilight предоставляет альтернативу xbacklight, которая может работать должным образом.»
мое текущее решение:
получить дисплей по умолчанию (например, DVI-0)
xrandr -q | grep ‘ connected ‘ | cut -d’ ‘ -f1 | head -n 1
добавить следующее к
/.config/i3/config замена DVI-0 на любой ваш дисплей
Мое решение. Протестировано на Ubuntu 20.04.
sudo apt install light
sudo chmod +s /usr/bin/light
Добавляем в конфиг i3:
bindsym XF86MonBrightnessUp exec light -A 1 # increase screen brightness
bindsym XF86MonBrightnessDown exec light -U 1 # decrease screen brightness
Вот решение сценария bash на основе xrandr : Сначала создайте файл для хранения текущего значения яркости, используя echo 1.o > brightness.txt . Теперь можно использовать следующий сценарий bash:
Предположим, что приведенный выше сценарий называется brightness.sh тогда его можно использовать как:
И поскольку вы используете i3 вы можете привязать ключи к этим командам. Например, вы можете добавить эти строки в свой i3-config :
Далее добавьте эту строку в свой i3-config чтобы начать с последнего использованного значения яркости:
Ответ Вдохновленный_Blue — хороший ответ для использования xrandr, но он неполный, я предлагаю добавить эти строки в конце сценария bash, чтобы он работал:
будьте осторожны, чтобы проверить свое отображаемое имя с
xrandr -q | grep ‘ connected’ | head -n 1 | cut -d ‘ ‘ -f1
как показано Jae Beojkkoch. В моем случае это LVDS-1.
Первая строка перезаписывает текстовый файл с использованием нового значения яркости, вторая используется для установки яркости с помощью xrandr.
Источник