Cara Install dan Konfigurasi bspwm di Linux

Binary Space Partitioning Window Manager (bspwm) adalah window manager minimalis yang kuat untuk Linux. Ini sangat dapat dikonfigurasi dan mengusulkan pendekatan inovatif untuk manajemen jendela. Bspwm ditulis dalam C dan dapat dikonfigurasi menggunakan bahasa apapun. Bspwm adalah lambang penyesuaian pengguna di pengelola jendela. Ini membuatnya menarik bagi pengguna yang mahir dan pengotak-atik yang tertarik untuk belajar membuat alur kerja unik mereka sendiri.

Partisi Ruang Biner, Dijelaskan

Partisi Ruang Biner adalah gagasan bahwa jendela di desktop dapat direpresentasikan sebagai daun di pohon biner penuh. Pohon biner lengkap adalah struktur pengurutan informasi menggunakan node hierarkis. Informasi apa pun di dalam pohon itu diurutkan berpasangan dengan simpul akar selalu berisi dua simpul.

Bspwm bekerja dengan node. Dalam praktiknya, saat Anda membuat jendela pada desktop kosong, bspwm akan membuat satu simpul untuk menempatkan jendela itu. Anda dapat menganggap simpul itu sebagai simpul daun. Tetapi ketika Anda membuat jendela tambahan di desktop itu, simpul daun itu akan menjadi simpul akar dan bspwm akan membuat dua simpul daun baru yang melekat padanya. Itu kemudian menempatkan jendela saat ini dan yang baru dibuat ke dalam node daun tersebut.

Setiap jendela baru yang akan dibuat setelah ini sekarang akan dikaitkan dengan salah satu dari simpul daun tersebut, mengubahnya menjadi simpul akar masing-masing.

Mengatur jendela dengan cara ini menciptakan hierarki yang jelas di dalam desktop. Jelas simpul daun mana yang pertama kali muncul dan mana yang berasal dari kelompok simpul akar tertentu. Ini berguna saat membuat aturan perilaku khusus untuk jendela dan tata letak jendela tertentu.

Keybindings dan Status Bars

Penting untuk dicatat bahwa bspwm hanya mengatur windows. Ini berarti bahwa fungsi lain yang tidak berhubungan dengan pengelolaan windows tidak termasuk dalam paket bspwm. Ini termasuk kemampuan untuk mengikat tombol ke fungsi dan juga kemampuan untuk menampilkan bilah status.

Untuk menggunakan keybindings di bspwm, pengembang membuat program terpisah yang disebut Simple X Hotkey Daemon (sxhkd) yang hanya mengelola keybindings. Namun, untuk bilah status, pengguna dapat menggunakan GB

bspc: Pengontrol Universal untuk bspwm

Untuk menggunakan bspwm kita hanya perlu berinteraksi dengan satu program: bspc. Ini adalah utilitas yang kuat yang dapat mengontrol dan mengkonfigurasi perilaku bspwm. Faktanya, semua perintah yang akan kita gunakan untuk memanipulasi windows dan mengkonfigurasi perilakunya hanyalah perintah bspc.

Mempersiapkan File Konfigurasi untuk bspwm

Untuk memulai konfigurasi bspwm, pertama-tama kita perlu membuat file konfigurasi. Di sinilah bspwm akan mencari perintah bspc yang akan dieksekusi saat pertama kali dijalankan. Secara default, bspwm akan mencari file “/home/$USER/.config/bspwm/bspwmrc”. Untuk membuat file itu Anda dapat mengetik:

mkdir -P / rumah / $USER / .config / bspwm && menyentuh / rumah / $USER / .config / bspwm / bspwmrc

Perintah ini akan membuat folder bspwm di “/home/$USER/.config/” dan juga membuat file bspwmrc di dalam folder tersebut.

Sekarang, file bspwmrc dapat ditulis dalam bahasa apa pun yang Anda inginkan asalkan dapat dieksekusi. Ini berarti bahwa pertama-tama kita perlu mengatur properti filenya menjadi seperti itu. Kita dapat melakukan ini dengan mengetikkan yang berikut:

sudo chmod 774 / rumah / $USER / .config / bspwm / bspwmrc

Ini akan memastikan bahwa kami dan siapa pun di grup pengguna kami dapat mengeksekusi file ini.

Setelah itu, sekarang kita dapat membuka file bspwmrc. Dalam kasus saya, saya akan menggunakan vim untuk mengedit file konfigurasi saya. Untuk melakukan itu saya akan mengetik yang berikut ini:

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

Ini akan membuka file kosong dan sekarang kita dapat mulai menulis konfigurasi kita.

Mengkonfigurasi bspwm

Konfigurasi dasar untuk bspwm terlihat seperti ini:

#!/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_schemespiral bspc rule -a Chromium desktop = ‘^2’ bspc rule -a Gimp desktop = ‘^8’ status = mengambang ikuti = aktif

Seperti yang ditunjukkan oleh shebang di baris pertama, konfigurasi ini ditulis dalam Bash. Beberapa perintah pertama adalah program yang ingin saya jalankan sebelum menyetel konfigurasi apa pun untuk bspwm.

Yang pertama, xsetroot, mengubah kursor X default ke pointer kiri yang lebih familiar. Yang kedua menginisialisasi daemon hotkey kami di latar belakang.

konfigurasi bspc dan aturan bspc

Perintah berikut dalam konfigurasi khusus untuk bspc. config bspc berkaitan dengan konfigurasi umum window manager. Ini mencakup pengaturan estetika dan fungsional.

border_width menentukan ketebalan, dalam piksel, lebar batas jendela. window_gap berurusan dengan jumlah celah, dalam piksel, di sekitar jendela. split_ratio menentukan rasio antara dua simpul daun saat dipisah. focus_follows_pointer menyetel apakah penunjuk tetikus dapat mengontrol jendela mana yang mendapatkan fokus. pointer_modifier menentukan tombol keyboard untuk mengubah ukuran jendela menggunakan mouse. automatic_scheme menentukan tata letak jendela saat dibagi dalam mode otomatis.

aturan bspc, di sisi lain, berurusan dengan perilaku program saat dibuka di bspwm.

Aturan pertama dalam contoh konfigurasi kami memaksa Chromium untuk berjalan di desktop kedua. Aturan kedua dalam contoh kami memaksa Gimp untuk berjalan di desktop kedelapan. Itu juga memaksa Gimp untuk berjalan dalam keadaan mengambang daripada ubin default. Terakhir, ini memaksa jendela fokus pada Gimp saat dimuat.

Dengan itu, kami sekarang memiliki konfigurasi dasar untuk bspwm. Namun, penting untuk dicatat bahwa opsi untuk konfigurasi bspc dan aturan bpsc sangat luas. Jika Anda ingin tahu lebih banyak tentang menyempurnakan bspwmrc Anda, Anda dapat memeriksa Github GB

Kami, kemudian, perlu mengatur file sxhkdrc agar dapat dieksekusi:

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

Setelah selesai, kami sekarang memiliki file konfigurasi sxhkd kami untuk memasukkan semua ikatan kunci kami.

Mengkonfigurasi sxhkd

sxhkd mengenali ikatan kunci dalam pola tertentu. Ini pertama kali meminta kunci pengubah. Ini bisa berupa Alt , Super , Hyper atau Control . Setelah itu, Anda perlu menyediakan kunci normal untuk melengkapi kunci pengubah Anda. Kemudian, dapat digabungkan menjadi keybinding dengan menambahkan tanda “+” di antara kedua tombol tersebut.

Oleh karena itu, bentuk umum untuk sxhkd keybinding terlihat seperti ini:

kunci pengubah + kunci normal ( + { _, tambahan, kunci })

Setelah selesai, Anda perlu menekan Enter dan Tab untuk membuat garis indentasi di bawah ikatan tombol. Setelah itu, Anda perlu menentukan perintah y
ang ingin Anda jalankan saat keybinding ditekan.

Contoh file konfigurasi untuk sxhkd terlihat seperti ini:

# buat sxhkd memuat ulang file konfigurasinya alt + Escape   pkill -USR1 -x sxhkd # keluar atau mulai ulang bspwm alt + shift + { q,r } bspc { keluar, wm -r }   # buat jendela terminal baru atau tukar yang sekarang ke yang terbesar di layar alt + { _, shift + } Return       { st, bspc node -s greatest.local }   # tutup atau matikan jendela alt + { _, shift + } c        bspc node – { k,c }   # ubah status jendela alt + { t,ctrl + t,l,f }     simpul bspc -t { tiled,pseudo_tiled,mengambang,layar penuh }   # perluas jendela dengan menggerakkan salah satu sisinya ke luar super + alt + { h,j,k,l }         simpul bspc -z { kiri -20 0 , bawah 0 20 , atas 0 – 20 , kanan 20 0 }   # fokus atau kirim jendela ke desktop yang diberikan alt + { _, shift + }{ 1 – 9 , 0 }      bspc { desktop -f,simpul -d } ‘^{1-9,10}’

Menjelaskan Syntax Keybinding

Seperti yang telah kita bahas di atas, sintaks keybinding untuk sxhkd relatif sederhana. Selanjutnya, sxhkd dapat mengelompokkan keybindings bersama-sama dan dapat menjalankan perintah percabangan melalui penggunaan key chording.

Misalnya, sejumlah perintah dalam konfigurasi ini memanfaatkan kurung kurawal. Ini memungkinkan kami untuk menetapkan beberapa fungsi pada keybind yang serupa. Pertimbangkan perintah ini dalam konfigurasi:

alt + pergeseran + { q, r }    bspc { keluar, wm -r }

Perintah ini berkaitan dengan penutupan dan memulai kembali bspwm. Kurung kurawal di keybinding cocok dengan kurung kurawal yang kita miliki di baris perintah. Oleh karena itu, saat kita menekan Alt + Shift + Q di keyboard, perintah: bspc quit dijalankan. Namun, menekan Alt + Shift + R akan mengeksekusi bspc wm -r .

Kami juga dapat melewati kebutuhan untuk memberikan kunci tambahan saat bercabang. Pertimbangkan contoh ini:

alt + { _, shift + } Kembali   { st, bspc node -s terbesar.local }

Perintah ini berkaitan dengan pemijahan terminal. Itu juga menukar jendela di desktop. Saya dapat melakukan perintah pertama dengan menekan Alt + Enter dan saya dapat melakukan perintah kedua dengan menekan Alt + Shift + Enter .

Hal ini karena karakter garis bawah bertindak sebagai pass-through untuk keybindings. Ini memungkinkan kita untuk memiliki keybinding default untuk sebuah perintah tetapi juga memiliki keybinding yang “dimodifikasi” untuk perintah lain.

Terakhir, sxhkd tidak terbatas pada satu percabangan. Pertimbangkan contoh ini:

alt + { _, geser + }{ 1 – 9 , 0 }     bspc { desktop -f,simpul -d } ‘^{1-9,10}’

Perintah ini berkaitan dengan pergantian desktop. Itu juga mengelola pergerakan jendela di dalam desktop tersebut. Perintah pertama dijalankan saat Anda menekan Alt + 1 – 0 sedangkan yang kedua dilakukan dengan tombol pengubah Shift .

Dalam hal ini, kami menggunakan dua kurung kurawal untuk menyetel kunci pass-through dan angka untuk desktop. Kedua opsi ini kemudian sesuai dengan dua kurung kurawal pada perintah di bawahnya.

Menyelesaikan Instalasi

Dengan itu, kami sekarang memiliki pemahaman dasar untuk mengonfigurasi bspwm dan sxhkd. Hal terakhir yang perlu kita lakukan adalah mengaktifkan bspwm sebagai window manager kita. Anda dapat melakukan ini secara langsung melalui Xorg atau melalui manajer tampilan Anda.

Menjalankan bspwm menggunakan xinitrc

Cara termudah untuk menginisialisasi bspwm adalah dengan menambahkannya di file .xinitrc Anda. Jika Anda menggunakan distribusi Linux minimal, ini mungkin metode yang sudah Anda gunakan untuk memuat pengelola jendela.

Untuk melakukannya, Anda hanya perlu menambahkan baris berikut di baris terakhir .xinitrc Anda:

exec bspwm

Menjalankan bspwm menggunakan Display Manager

Namun, jika Anda menggunakan desktop berfitur lengkap seperti Linux Mint atau Ubuntu, Anda mungkin perlu memilih bspwm di layar login.

Misalnya, dalam instalasi Ubuntu saya, saya harus mengklik ikon roda gigi di layar login dan memilih bspwm dari menu konteks untuk memuatnya.

Selamat! Anda sekarang memiliki instalasi bspwm yang berfungsi. Anda sekarang dapat lebih menyesuaikan desktop Anda dengan mengutak-atik file konfigurasi Anda dan menginstal dok pihak ketiga. Berikut adalah beberapa desktop yang disesuaikan untuk menginspirasi Anda.

Pertanyaan yang Sering Diajukan

1. Mengapa layar saya hitam saat pertama kali masuk?

Mungkin karena Anda belum menyetel latar belakang desktop. Ini sering terjadi jika Anda menjalankan instalasi minimal. Anda dapat mengubah tema latar belakang dengan menggunakan program penampil gambar seperti feh.

2. Mengapa gantungan kunci saya tidak berfungsi?

Hal ini kemungkinan besar disebabkan oleh dua hal:

Ikatan kunci tidak dimuat karena sxhkd tidak berjalan. Ada kesalahan sintaks dengan sxhkdrc. Kesalahan paling umum yang dilakukan saat mengonfigurasi sxhkd adalah dengan indentasi. Untuk menginisialisasi perintah dengan benar, Anda harus menyisipkan Tab-spasi di baris indentasi.

3. Ketika saya masuk ke sistem saya, itu hanya mengembalikan saya ke prompt sistem.

Hal ini bisa disebabkan oleh beberapa hal. Namun, penyebab paling umum adalah masalah dengan file .xinitrc. Anda perlu memastikan bahwa bspwm adalah program terakhir yang dimuat Xorg dan tidak berjalan sebagai proses latar belakang.

Related Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *