ГлавнаяОперационные системыLinuxКак установить и настроить bspwm в Linux

Как установить и настроить bspwm в Linux

Диспетчер окон с разделением двоичного пространства (bspwm) — мощный минималистичный оконный менеджер для Linux. Он обладает широкими возможностями настройки и предлагает инновационный подход к управлению окнами. Bspwm написан на C и его можно настроить на любом языке. Bspwm — это воплощение пользовательской настройки в оконных менеджерах. Это делает его привлекательным для опытных пользователей и мастеров, которые заинтересованы в том, чтобы научиться создавать свой собственный уникальный рабочий процесс.

Разделение двоичного пространства, объяснение

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

Разделение двоичного пространства, объяснение

u/wp-content/uploads/2024/05/bspwm-01-root-nodes.png" alt="Bspwm 01 Корневые узлы">

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

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

Пример окна Bspwm 02

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

Пример окна Bspwm 03 2

Сочетания клавиш и строки состояния

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

Чтобы использовать привязки клавиш в bspwm, разработчики создали отдельную программу под названием Simple X Hotkey Daemon (sxhkd), которая управляет только привязками клавиш. Однако для строки состояния пользователь может использовать устанавливать различные сторонние приложения , например полибар и лимонбар.

Читайте также: 10 лучших доков для запуска Linux

Установка bspwm и sxhkd

Установка bspwm и sxhkd относительно проста. Обе программы также доступны в большинстве репозиториев Linux. Например, чтобы установить их в Debian и Ubuntu, вы можете сделать это, используя apt:

sudo apt install bspwm sxhkd

В Arch Linux вы можете использовать pacman:

sudo pacman -Syu bspwm sxhkd

В Fedora вы можете использовать dnf:

sudo dnf install bspwm sxhkd

Для Void Linux вы можете использовать xbps:

sudo xbps-install bspwm sxhkd

В моем случае я установлю его в свою систему Void Linux, поэтому буду использовать XBPS.

Установка Bspwm 04

bspc: универсальный контроллер для bspwm

Чтобы использовать bspwm, на

Сочетания клавиш и строки состояния

граммой: bspc. Это мощная утилита, которая позволяет контролировать и настраивать поведение bspwm. Фактически, все команды, которые мы будем использовать для управления окнами и настройки их поведения, являются всего лишь командами bspc.

Подготовка файла конфигурации для bspwm

Чтобы начать настройку bspwm, нам нужно сначала создать файл конфигурации. Здесь bspwm будет искать команды bspc, которые он выполнит при первом запуске. По умолчанию bspwm будет искать файл «/home/$USER/.config/bspwm/bspwmrc». Чтобы создать этот файл, вы можете ввести:

mkdir -p /home/$USER/.config/bspwm && touch /home/$USER/.config/bspwm/bspwmrc

Эта команда создаст папку bspwm в «/home/$USER/.config/», а также создаст файл bspwmrc в этой папке.

Bspwm 05 Bspwm Ls

Теперь файл bspwmrc можно написать на любом языке, если он является исполняемым. Это означает, что нам сначала нужно будет установить такие свойства файла. Мы можем сделать это, набрав следующее:

sudo chmod 774 /home/$USER

Установка bspwm и sxhkd

wm/bspwmrc

Это позволит нам и любому участнику нашей группы пользователей выполнить этот файл.

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

vim /home/$USER/.config/bspwm/bspwmrc

Откроется пустой файл, и теперь мы можем начать писать нашу конфигурацию.

Bspwm 06 Пустая конфигурация

Настройка bspwm

Базовая конфигурация bspwm выглядит примерно так:

#!/bin/bash
 
xsetroot -cursor_name left_ptr
sxhkd &
 
bspc config border_width	2
bspc config window_gap		0
 
bspc config split_ratio		0.62
bspc config focus_follows_pointer	true
bspc config pointer_modifier	mod1
 
bspc config automatic_scheme	spiral
 
bspc rule -a Chromium desktop='^2'
bspc rule -a Gimp de

bspc: универсальный контроллер для bspwm

=floating follow=on

Как указано в первой строке, эта конфигурация написана на Bash. Первые несколько команд — это программы, которые я хотел запустить перед настройкой каких-либо конфигураций bspwm.

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

Конфигурация bspc и правило bspc

Следующие команды в конфигурации относятся к bspc. bspc configпосвящен общей настройке оконного менеджера. Он включает в себя

Подготовка файла конфигурации для bspwm

.

Bspwm 07 Конфигурация Bspc 1
  • border_width определяет толщину (в пикселях) границы окон.
  • window_gap определяет количество промежутков в пикселях вокруг окон.
  • split_ratio определяет соотношение между двумя конечными узлами при разделении.
  • focus_follows_pointer определяет, может ли указатель мыши контролировать, какое окно получает фокус.
  • pointer_modifier определяет клавишу клавиатуры для изменения размера окон с помощью мыши.
  • automatic_scheme определяет расположение окон при разделении в автоматическом режиме.

Правило bspc, с другой стороны, касается поведения программ при открытии в bspwm.

  • Первое правило в нашем примере конфигурации заставляет Chromium запускаться на втором рабочем столе.
  • Второе правило в нашем примере заставляет Gimp запускаться на восьмом рабочем столе. Это также заставляет Gimp работать в плавающем состоянии, а не в плиточном состоянии по умолчанию. Наконец, при загрузке окна фокусируется на Gimp.

Теперь у нас есть базовая конфигурация bspwm. Однако важно отметить, что параметры bspc configи bpsc ruleобширны. Если вы хотите узнать больше о точной настройке вашего bspwmrc, вы можете посетить Github Документация на Гитхабе , чтобы получить полный список всех возможных настроек.

sxhkd: Утилита привязки клавиш для bspwm

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

Подготовка файла конфигурации для sxhkd

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

mkdir -p /home/$USER/.config/sxhkd/ && touch /home/$USER<

Настройка bspwm

fig/sxhkd/sxhkdrc
Bspwm 08 Sxhkd Ls

Тогда нам нужно сделать файл sxhkdrc исполняемым:

sudo chmod 774 /home/$USER/.config/sxhkd/sxhkdrc

После этого у нас есть файл конфигурации sxhkd для вставки всех наших сочетаний клавиш.

Настройка sxhkd

sxhkd распознает сочетания клавиш по определенному шаблону. Сначала он запрашивает ключ-модификатор. Это может быть Alt, Супер, Гиперили Control. После этого вам необходимо предоставить обычный ключ в дополнение к ключу-модификатору. Затем его можно объединить в привязку клавиш, добавив знак «+» между этими двумя клавишами.

Поэтому общая форма привязки клавиш sxhkd выглядит следующим образом:

modifier key + normal key (+ {_, additional, keys})

После этого вам нужно нажать Enterи Tab, чтобы создать линию с отступом под привязкой клавиш. После этого вам нужно указать коман

Конфигурация bspc и правило bspc

ии сочетания клавиш.

Пример файла конфигурации для sxhkd выглядит примерно так:

# make sxhkd reload its configuration files
alt + Escape
	pkill -USR1 -x sxhkd
 
# quit or restart bspwm
alt + shift + {q,r}
	bspc {quit,wm -r}
 
# create a new terminal window or swap the current one to the biggest one in the screen 
alt + {_,shift + }Return
	{st, bspc node -s biggest.local}
 
# close or kill a window
alt + {_,shift + }c
	bspc node -{k,c}
 
# change the window state
alt + {t,ctrl + t,l,f}
	bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
 
# expand a window by moving one of its side outward
super + alt + {h,j,k,l}
	bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
 
# focus or send a window to the given desktop
alt + {_,shift + }{1-9,0}
	bspc {desktop -f,node -d} '^{1-9,10}'

Объяснение синтаксиса привязки клавиш

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

Bspwm 09 Конфигурация Sxhkd 1

Например, ряд команд в этой конфигурации используют фигурные скобки. Это позволяет нам назначать несколько функций одинаковым сочетаниям клавиш. Учитывайте эту команду в конфигурации:

alt + shift + {q,r}
	bspc {quit, wm -r}

Эта команда предназначена для закрытия и перезапуска bspwm. Фигурные скобки в привязке клавиш соответствуют фигурным скобкам в командной строке. Поэтому, когда мы нажимаем Alt+ Shift+ Qна клавиатуре, команда: bspc quitвыполняется. Однако нажатие Alt+ Shift+ Rприведет к выполнению bspc wm -r.

Мы также можем обойти необходимость предоставления дополнительных ключей при ветвлении. Рассмотрим этот пример:

alt + {_,shift + }Return
	{st, bspc node -s biggest.local}

Эта команда занимается

sxhkd: Утилита привязки клавиш для bspwm

на рабочем столе. Я могу выполнить первую команду, нажав Alt+ Enter, а вторую команду — нажав Alt+ Shift+ Ввод.

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

Наконец, sxhkd не ограничивается одним ветвлением. Рассмотрим этот пример:

Подготовка файла конфигурации для sxhkd + }{1-9,0} bspc {desktop -f,node -d} '^{1-9,10}'

Эта команда занимается переключением рабочих столов. Он также управляет перемещением окон на этих рабочих столах. Первая команда выполняется, когда вы нажимаете Alt+ 10, а вторая — с помощью Shift. ключ-модификатор.

При этом мы использовали две фигурные скобки, чтобы задать ключ прохода и номера рабочих столов. Эти два параметра соответствуют двум фигурным скобкам в команде под ним.

Завершение установки

Теперь у нас есть базовое представление о настройке bspwm и sxhkd. Последнее, что нам нужно сделать, это включить bspwm в качестве нашего оконного менеджера. Вы можете сделать это напрямую через Xorg или через диспетчер отображения.

Запуск bspwm с помощью xinitrc

Самый простой способ инициализировать bspwm — добавить его в файл.xinitrc. Если вы используете минимальный дистрибутив Linux, вероятно, вы уже используете этот метод для загрузки оконного менеджера.

Для этого вам нужно всего лишь добавить следующее в последнюю строку вашего.xinitrc:

exec bspwm

Настройка sxhkd

decoding="async" src="https://saintist.ru/wp-content/uploads/2024/05/bspwm-10-xinitrc.png" alt="Bspwm 10 Xinitrc"><

Запуск bspwm с помощью диспетчера отображения

Однако, если вы используете полнофункциональный рабочий стол, например Linux Mint или Ubuntu, вам может потребоваться выбрать bspwm на экране входа в систему.

Например, в моей установке Ubuntu мне нужно щелкнуть значок шестеренки на экране входа в систему и выбрать bspwm в контекстном меню, чтобы загрузить его.

Бспвм 11 Ubuntu

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

Читайте также: 5 персонализированных рабочих столов Linux, которые вас вдохновят

Часто задаваемые вопросы

1. Почему мой экран черный при первом входе в систему?

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

2. Почему мои сочетания клавиш не работают?

Скорее всего, это связано с двумя причинами:

  • Сочетания клавиш не загрузились, поскольку sxhkd не запущен.
  • В sxhkdrc произошла синтаксическая ошибка. Самая распространенная ошибка при настройке sxhkd — это отступы. Чтобы правильно инициализировать команды, необходимо вставлять пробелы в строки с отступом.

3. Когда я вошел в свою систему, я просто вернулся к системной подсказке.

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

Объяснение синтаксиса привязки клавиш

Завершение установки

Запуск bspwm с помощью xinitrc

Запуск bspwm с помощью диспетчера отображения

Часто задаваемые вопросы

1. Почему мой экран черный при первом входе в систему?

2. Почему мои сочетания клавиш не работают?

3. Когда я вошел в свою систему, я просто вернулся к системной подсказке.

ПОХОЖИЕ СТАТЬИ

Популярные записи