Finalizarea desktopului Linux pentru tocilari. I3 și dmenu îmbunătățite, trece managerul de parole, browser de navigare, blocare slock, traducător de taste rapide. S-a instalat window manager i3 Window manager i3

sigla i3WM

În shell-urile grafice moderne, conceptul de tiling este mult subestimat în Windows și în shell-uri precum KDE, Gnome, XFce. Dar toate acestea sunt doar suport parțial pentru placare. Truly tiling este perfect implementat în astfel de manageri de ferestre precum Awesome, DWM, i3WM. Și astăzi vom vorbi doar despre acesta din urmă.

Unul dintre cele mai ușoare, mai convenabile și mai flexibile manageri de ferestre Linux de configurat este, fără îndoială, i3WM. A câștigat partea leului din popularitate datorită configurației sale foarte simple, iar în acest ghid vom analiza configurația i3wm cu exemple de configurare a managerului de ferestre.

Cred că mulți cititori ai acestei postări știu deja despre ce este vorba manager dinamic de ferestre- ceea ce este i3WM. Și pentru cei care nu știu, vă informez că managerii de ferestre (parte integrantă a oricărui DE) sunt împărțiți în două tipuri, bazate pe stiva (ferestre plutitoare) și bazate pe cadru (ferestrele sunt aranjate într-un mozaic). Și dacă amesteci toate acestea, obții un hibrid sub forma unor manageri dinamici de ferestre, în care ferestrele pot trece de la modul flotant la modul cadru.

Nu contează de ce ați ales i3wm printre mulți alți manageri dinamici de ferestre... Fie că este ușurința de configurare (după cum veți vedea mai jos), ușurința sa în comparație cu altele sau pur și simplu la sfatul unui utilizator Linux mai experimentat. Pentru început, îmi propun să luăm în considerare ce vom avea din cutie după instalarea i3wm:

  • i3- Managerul de ferestre în sine
  • i3bar- Panoul „nativ” din i3wm tot ce poate face este să afișeze desktop-uri și o linie de terminal
  • i3status- Afișarea unor informații cu o linie terminală
  • i3lock- Ecran de deblocare a computerului

Acum să ne ocupăm de totul în ordine.

Configurarea i3WM

După lansare, vom fi întâmpinați de o fereastră pentru selectarea unei taste de mod. Vor exista două opțiuni: Meta (butonul Windows) și Alt. După lansare, în fața noastră vom vedea doar i3bar cu i3status rulând în el și nimic altceva.

Fereastra de selecție a tastei mod

Terminalul implicit este xterm - lansat cu combinația Mod+Enter. Să nu ne agățăm de comenzi pentru moment, să clarificăm doar că pentru a închide fereastra trebuie să apăsați Mod+Shift+qși pentru a reporni i3 - Mod+Shift+r.

Acum să clarificăm singuri de ce avem nevoie

  • Tapet - Pentru aceasta vom folosi Azot
  • Lansatorul de aplicații - Există multe opțiuni aici, le vom lua în considerare doar pe cele mai populare
  • Animații și VSync - Pentru asta vom avea nevoie de un compozitor, sugerez Compton pentru că este ușor și stabil


Memo pentru tastele rapide standard i3WM

Configurați dispozitivul în i3WM

În mod implicit, configurația i3WM este localizată în folder ~/.config/i3

În general, pentru a lucra cu măiestrie cu configurația i3wm, trebuie doar să știi că tot ce urmează după # este un comentariu și încă trei lucruri:
1) Programele sunt lansate folosind exec pentru ca managerul nostru de ferestre să lanseze ceva, folosim următorul șablon

exec<команда>

  1. Exemplu
    exec compton
    Când pornește i3, va porni și Compton Componer
  2. Exemplu
    exec ~/script.sh
    Când porniți i3, va rula scriptul, care se află în folderul dvs. de acasă sub numele script.sh
  3. Exemplu
    exec nitrogen - -restaurare
    Când porniți i3, rulați azot cu opțiunea de restaurare

2) Setarea variabilelor. În i3wm puteți crea variabile, totul funcționează ca definit în C++. Variabila va fi înlocuită cu șirul dat. Variabilele pot fi setate folosind set.

setați $<имя переменной> <значение>

  1. Exemplu
    setați $culoarea #023537
    Variabil $culoare setați la #023537
  2. Exemplu
    setați $fileManager pcmanfm-qt
    Variabil $fileManager Valoarea setată pcmanfm-qt

Este convenabil să folosiți variabile atunci când creați un bloc de setări, astfel încât mai târziu să nu trebuiască să rulați prin configurația i3wm și să căutați elementul dorit.

3) Combinațiile de taste sunt setate folosind bindsym, sintaxa este extrem de simplă

bindsym<комбинация> <действие>

  1. Exemplu
    bindsym $mod+1 spațiu de lucru 1
    Când apăsăm tasta mod și numărul 1, vom merge la desktopul 1.
  2. Exemplu
    bindsym XF86Tools exec firefox
    Când faceți clic pe butonul Instrumente, se va lansa FireFox
  3. Exemplu
    setați $press XF86Search
    setați $search dmenu
    bindsym $apasă $căutare
    Când apăsați butonul specificat în variabilă, programul specificat într-o altă variabilă va fi executat.

La începutul configurației, ar trebui să ajustați câteva rânduri după gust:

set $mod Mod4 # Setează cheia mod

font pango:xos4 Terminus 8 # Setați fontul pentru ramele ferestrelor

Acum haideți să aprofundăm în crearea tastelor rapide.
Cel mai probabil veți avea un al șaselea rând de taste pe tastatură pe care doriți să îl utilizați la maximum. Pentru a afla numele cheii pe care o folosesc xev.
Alerga xev, și arătând spre fereastra albă, apăsați tasta dorită pentru a afla numele acesteia. Pentru comoditatea analizei celui de-al 6-lea rând, rulați-l astfel

Acest lucru ar fi suficient dacă nu pentru câteva probleme pe care le-am întâlnit când încercam să configurez unele taste.

1) Reglarea volumului. Folosesc pactl în aceste scopuri și pentru a opera butoanele +\- și pentru a comuta starea microfonului și a sunetului, folosesc aceste legături

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 comutare

bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo comutare

2) Reglarea luminozității. În general, este puțin probabil să fie o problemă, dar pentru a vă salva mai mult sau mai puțin de la căutarea pe Google, vă voi arăta cum se face.

bindsym XF86MonBrightnessUp exec xbacklight -inc 6
bindsym XF86MonBrightnessDown exec xbacklight -dec 6

Aspect

Rame de ferestre

Butoanele de control ale ferestrelor din i3wm au fost înlocuite cu taste rapide

Puteți modifica dimensiunea implicită a cadrului ferestrei folosind pixelul new_window<Размер рамки в пикселях>- L-am setat la 1, doar pentru a vedea marginile ferestrelor.

Culoarea ramelor ferestrelor poate fi setată folosind un șablon
<Класс окна> <Цвет границы> <Цвет фона> <Цвет текста> <Цвет индикатора>

Clasele ferestre:
client.concentrat- fereastra focalizată
client.nefocalizat- fereastra lipsită de focalizare
client.concentrat_inactiv- fereastra este focalizată, dar nu este activă
client.urgent- fereastra necesită atenție (notificare pop-up de exemplu)

Exemplu de setări de culoare;

# fundal chenar clasa. indicator text child_border client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577 client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a client.unfocused #3333332 #28 #28 #28 #28 client.urgent #2 f343a #900000 # ffffff #900000 #900000 client.background #ffffff

Ei bine, cred că merită să dau un exemplu de configurare a culorilor i3bar - totul urmează aceeași schemă, doar etichete ușor diferite.

Clasele de indicatori pentru desktop:

  • focused_workspace- Desktop în focus;
  • activ_workspace- Desktop activ;
  • spațiu_de_lucru_inactiv- Desktop inactiv;
  • urgent_workspace- Există o aplicație pe desktop care necesită atenție;

Exemplu de setări de culoare pentru i3bar:

Bară (culori ( fundal #000000 statusline #ffffff separator #666666 focused_workspace #4c7899 #285577 #ffffff active_workspace #333333 #5f676a #ffffff inactive_workspace #333333 #222222 #888882 #ffff0 #ffff0 #88888 #88888) )

Aspectul aplicației

Sigla Qt

Pentru a personaliza aspectul aplicațiilor, va trebui să munciți din greu.
Să începem cu ceva simplu - setările GTK+
Tot ce ne trebuie este doar un program lxa aspectul,În el puteți personaliza pictogramele, tema GTK și cursorul.

Acum este mai dificil - configurarea Qt.
Pentru a configura Qt vom avea nevoie doar de două aplicații qt4configȘi qt5ct.
Hai să lansăm qt4config- alege o temă, font etc. - asta este.
Dar dacă alergăm qt5ct apoi vom vedea un mesaj despre absența unei variabile de mediu. Pentru a o remedia, va trebui să edităm fișierul Xsession, pentru că folosesc sddm- atunci îl am la /usr/share/sddm/scripts/Xsession. Trebuie să adăugăm linia de export QT_QPA_PLATFORMTHEME="qt5ct" - după care ne vom autentifica și putem lansa cu ușurință qt5ctși configurați acolo

Pe lângă temele standard pentru Qt, puteți alege un motor de teme. Vă sfătuiesc să fiți atenți Cuantic este un motor bazat pe SVG pentru Qt. Ușor de configurat, există încă puține teme, dar ceea ce este disponibil pare foarte cool și futurist.

Animații și VSync

Sigla CompizFusion

Am convenit deja că pentru a asigura o animație frumoasă vom folosi un compozitor compton, acum nu voi scrie despre cum să-l configurez, pentru că postarea este despre i3WM și nu despre compton, îți voi arăta de unde să începi.

Adăugați exec compton -f --vsync drm la configurație
Și după repornire obținem tranziții frumoase, transparență și cel mai important sincronizare verticală, totul este foarte simplu!

Tapet

Interfață cu azot

De asemenea, am convenit cu privire la tapet că vom folosi azot. Îl lansăm, selectăm imaginea de fundal și ne bucurăm, tot ce rămâne este să adăugați azot exec --restore la config.

Conky

Conky este un widget destul de popular în lumea Linux.

Acesta este un articol opțional, dar am crezut că merită menționat, aici vă voi arăta cum să alergați cu patine în i3wm
exec conky -c ~/.config/i3/conky_c
Există o mulțime de informații despre configurarea patinelor pe Internet, voi adăuga doar că merită să le excludem de la procesarea umbrelor în compton.

Lansatorul de aplicații

În general, există o mulțime de lansatoare diferite pentru Linux, să ne uităm la cele mai populare.

  • Dmenu este un lansator canonic, de fapt este o linie de terminal drop-down cu completare automată. Minimalist și ușor.
  • Xfce AppFinder este un lansator de aplicații din mediul XFace, bazat pe GTK+, ca să nu spun că este o soluție convenabilă, dar este simplă și directă.
  • Rofi este un lansator destul de flexibil, pe lângă simpla lansare a aplicațiilor, poate naviga prin Windows și un client ssh.

Concluzie

După ce ați citit acest ghid, veți putea cu siguranță să personalizați managerul de ferestre i3WM pentru dvs. și să aveți un mediu desktop unic. Personal, pot adăuga că datorită cunoștinței mele cu i3WM mi-am dat seama cât de flexibil este Linux și că puteți lucra exact cu acele instrumente care sunt convenabile pentru dvs. În acest sens, i3WM nu te limitează, trebuie doar să stai la config.

Ei bine, din moment ce acesta este cazul, cred că firul ShowMyDesktop din comentarii nu va fi deplasat.
Vă mulțumim pentru atenție!

Spre deosebire de Awesome, setările sale sunt scrise într-un fișier text obișnuit.

Caracteristici ale i3wm pentru utilizator: suport corect pentru mai multe monitoare (vezi captura de ecran la sfârșit), fișier simplu de configurare text, nu este nevoie să reconstruiți wm după modificarea setărilor, trei moduri de aspect al ferestrei, meniul de lansare a aplicației dmenu, creează desktop-uri după cum este necesar și șterge cele goale, din cutie are un panou de informații excelent care arată nivelul rețelei Wi-Fi, încărcarea bateriei și multe altele.

Demonstratie de la autor i3

Instalare

i3wm este disponibil în depozitele Debian, Arch, Gentoo, Ubunto, FreeBSD, NetBSD, OpenBSD, OpenSUSE, Mageia, Fedora și Exerbo. Vă voi spune că utilizați Ubuntu 12.04 ca exemplu.

Pachetul de care aveți nevoie se numește i3, deci:

# apt-get install i3

Acum puteți selecta „i3” ca manager de ferestre pe ecranul de utilizator și parolă.

Setări

Când începeți prima dată, vi se va cere să selectați o tastă modificatoare. Am ales Win pentru compatibilitatea cu majoritatea aplicațiilor.

Să adăugăm trecerea la aspectul rusesc folosind Alt+Shift, încărcarea automată a dropbox, comutarea între desktopuri folosind mod+Control+Stânga/Dreapta, blocarea ecranului folosind mod+Control+l și modul de repaus cu blocarea ecranului la ieșirea din acesta folosind mod+Control +s .

Comutarea aspectului tastaturii este configurată folosind setxkbmap. În acest scop este folosit

$ setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle"

Pentru a nu-l introduce de fiecare dată după o repornire, vom crea un fișier .xsessionrc în folderul rădăcină al utilizatorului, îl vom face executabil și îl vom aduce la forma:

#!/bin/sh exec setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle"

Pentru încărcarea automată Dropbox, .xsessionrc va arăta astfel:

#!/bin/sh exec setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle" & dropbox start &

Acum, data viitoare când vă conectați la i3wm, vor fi disponibile tastaturi rusești și engleze.

Configurarea i3 se face de obicei folosind o configurație de utilizator. Să creăm un folder ~/.i3 și să copiem șablonul de configurare în el:

$ cp /etc/i3/config ~/.i3/config

Utilizare

Câteva taste rapide standard care funcționează implicit:

mod+Enter deschide terminalul
mod+d lansează dmenu (un meniu în partea de sus a ecranului care, pe măsură ce tastezi numele aplicației de la tastatură, oferă opțiuni de lansare)
mod+Shift+Qînchide fereastra activă

mod+v activează modul de acoperire verticală (ecranul va fi împărțit orizontal)
mod+h activează modul de acoperire orizontală (ecranul va fi împărțit vertical)

mod+w activează modul tab (fiecare fereastră de pe desktop ocupă întregul ecran, cu file vizibile în partea de sus)
mod+s activează modul stivuit (titlurile ferestrelor unul sub celălalt, fiecare fereastră ocupă întregul ecran)
mod+e returnează modul standard
mod+Shift+Spațiu comută fereastra în modul plutitor și înapoi

mod+Stânga/Dreapta/Sus/Jos mută focalizarea pe desktop
mod+Shift+Stânga/Dreapta/Sus/Jos mută fereastra curentă în interiorul desktopului

mod+1 etc. comută la desktopul cu numărul specificat

mod+Shift+C citește setările dintr-un fișier de configurare
mod+Shift+E iese din i3wm la ecranul de introducere a numelui de utilizator și a parolei

Opțiunile complete pentru configurarea și utilizarea i3wm sunt descrise în documentație.

Primă

Dacă aveți două monitoare sau un ecran încorporat al unui netbook și un monitor extern ca mine, atunci i3wm va funcționa grozav pe ele. Cel mai important lucru este că nu necesită setări suplimentare.

Lista monitoarelor disponibile:

$xrandr -q

Să-i setăm să lucreze în perechi:

$ xrandr --ieșire LVDS1 --mod 1366x768 --pos 0x0 --ieșire VGA1 --mod 1280x1024 --pos 1366x0

unde LVD1 este monitorul încorporat în netbook, rezoluția acestuia este de 1366x768 și este apăsat în colțul din stânga sus, VGA1 este un monitor extern, rezoluția sa este de 1280x1024 și este deplasat cu 1366 pixeli la dreapta față de colțul din stânga sus.

După cum vă amintiți, primul meu manager de ferestre bazat pe plăci a fost Xmonad. Mi se potrivește destul de bine pe un computer desktop, dar, din păcate, pe EeePC Este multă agitație cu el - trebuie să terminați indicatorul bateriei, să afișați undeva nivelul semnalului Wi-Fi etc. După o mică consultare cu oamenii de pe Twitter, am decis să încerc managerul de ferestre i3.

I3 este instalat cam așa (o, Bubunta):

sudo apt-get install i3 i3status i3lock dmenu

Terminăm de lucru în managerul de ferestre curent, introducem numele de utilizator și parola, selectăm managerul de ferestre i3. Când porniți pentru prima dată i3, vă va întreba dacă să creați o configurație implicită (da, este de la sine înțeles) și ce să utilizați ca cheie Mod (Win, pentru că oricum nu este necesară pentru nimic).

Gata, lucrăm la i3. Comenzile rapide de bază de la tastatură sunt după cum urmează:

  • Mod + Enter - deschideți un nou terminal;
  • Mod + D - rulați orice program prin dmenu;
  • Mod + 0..9 - comutare între spațiile de lucru;
  • Mod + Shift + 0..9 — mutarea ferestrelor în spațiul de lucru specificat;
  • Mod + Shift + Q - închide fereastra curentă;
  • Mod + Săgeți - deplasați-vă între ferestre în loc de săgeți, pot fi utilizate și tastele „J” (stânga), „K” (jos), „L” (sus) și „;”. (dreapta);
  • Mod + Shift + Arrows - mișcarea ferestrelor în spațiul de lucru pot fi folosite și litere și punct și virgulă în locul săgeților;
  • Mod + V - folosiți divizare verticală;
  • Mod + H - folosiți divizarea orizontală;
  • Mod + E - plasarea implicită a ferestrei (aspect implicit);
  • Mod + S - aspect de stivuire;
  • Mod + W - plasare cu file (aspect cu file);
  • Mod + F - extindeți fereastra la ecran complet sau minimizați-o înapoi;
  • Mod + Shift + Space - permiteți mișcarea liberă a ferestrei (modul plutitor) sau returnați-o în mozaic;
  • Mod + Shift + R - reporniți i3 (de exemplu, după actualizarea config);
  • Mod + Shift + E - ieșire din i3;

Puteți redimensiona ferestrele trăgând marginile lor cu mouse-ul. De asemenea, puteți trece la modul de redimensionare a ferestrei apăsând Mod + R. În acest mod, folosind săgeți sau litere, selectați chenarul ferestrei din care ar trebui redusă fereastra sau, dacă este apăsat Shift, mărită. Reveniți la modul normal apăsând Enter sau Escape.

Acum luați în considerare următoarea captură de ecran (pe care se poate face clic):

Pentru a realiza această aranjare a ferestrelor, am trecut mai întâi la divizarea verticală (Mod + V) și am creat trei ferestre (Mod + Enter). Apoi am selectat pe rând fiecare dintre cele trei ferestre (Mod + Săgeți), pentru fiecare dintre ei a trecut la divizarea orizontală (Mod + H) și a creat încă două ferestre. În rândul de sus am lăsat aspectul implicit, în mijloc am trecut la aspectul cu file (Mod + W), iar în rândul de jos am trecut la aspectul stivuit (Mod + S).

Punctul important aici este că ferestrele din i3 formează o structură arborescentă (cu părinți și copii). Schimbarea metodei de partiționare (Mod + H/V) creează un nou container (subtree), iar schimbarea aspectului afectează numai containerul curent. Datorită acestei abordări, i3 vă permite să realizați o aranjare a ferestrelor mult mai complexă decât Xmonad.

Principalele fișiere de configurare i3 sunt ~/.i3/config și ~/.i3status.conf.

În ~/.i3/config am adăugat:

bindsym $mod+t comutare chenar

Începeți dropboxul Exec
exec wicd-client -t
exec gxneur &

Bar(
pozitiona sus
status_command i3status
}

Prima linie pe care am adăugat-o la combinația Mod + T a fost schimbarea stilului de chenar. În mod implicit, ferestrele din i3 au titluri și chenare, ceea ce poate fi complet inutil dacă, de exemplu, aveți Chrome deschis pe ecran complet.

Următoarele trei rânduri adaugă câteva programe la autorun. Cu Dropbox totul este clar. Utilitarul wicd este un lucru care atârnă în tavă și vă permite să gestionați conexiunile la rețelele cu fir și fără fir. Se instalează după cum urmează:

sudo apt-get install wicd
sudo /etc/init.d/wicd start

Pentru a împiedica NetworkManager să interfereze cu wicd, spunem:

sudo stop manager de rețea

De asemenea, acordați atenție analogului de consolă al wicd, utilitarul wicd-blesteme.

Plus: Totul s-a dovedit a fi mult mai simplu:

exec nm-applet &
exec blueman-applet &

Xneur, cred, nu are nevoie de prezentare. L-am folosit pur și simplu ca un indicator al aspectului actual al tastaturii (de care, totuși, se poate face fără). Instalați xneur după cum urmează:

sudo apt-get install xneur gxneur

La sfârșitul configurației (blocul barei), spun să afișați panoul cu ceasul, tava și așa mai departe în partea de sus a ecranului, și nu în partea de jos, așa cum se face implicit.

Am luat fișierul /etc/i3status.conf ca bază pentru ~/.i3status.conf. În el, am corectat formatul de afișare a datei curente, am schimbat numele interfețelor de rețea și am eliminat informațiile inutile despre IPv6, DHCP și VPN. Nu văd niciun rost să prezint rezultatul aici. Ceea ce ne mulțumește la i3 este formatul său intuitiv de configurare și documentația bună.

Ei bine, atingerea finală este să adăugați următoarea linie la ~/.bashrc:

alias lockscreen="i3lock -c 000000"

Utilitarul i3lock este conceput pentru a bloca ecranul. Spre deosebire de multe utilități similare, acesta nimic nu se afișează utilizatorului. Adică ecranul rămâne prostesc negru (culoarea poate fi schimbată) până când se introduce parola utilizatorului curent. Pe lângă o anumită culoare, puteți utiliza și o imagine PNG.