Herziening van vensterbeheerders in Linux. Vensterbeheerders in Linux

Hallo! Nadat ik onlangs een artikel over Linux had gelezen, wilde ik iedereen vertellen over de manager die daar werd genoemd - "geweldig".
Dit is tegelwerk Windows-beheerder voor unix (linux, freebsd, openbsd, netbsd).

Beschrijving

Geweldige WM - tegelwerk wm, met de mogelijkheid om composiet te zijn. Dit is een van de kenmerken ervan; vaak hebben gebruikers compactheid nodig (de tegelkant van deze WM), maar soms kun je erin werken normale modus(composiet). Het is erg licht, belast de processor niet en de schermruimte wordt zeer afgemeten gebruikt en er zijn geen lege ruimtes meer over (in de tegelmodus).
Het is geconfigureerd met behulp van configuratiebestand, in de Lua-scripttaal. Er is ondersteuning voor plug-ins, die op hun beurt ook in Lua zijn geschreven.

Installatie

Het installeren ervan is heel eenvoudig, schrijf bijvoorbeeld gewoon op Arch Linux
sudo pacman -S geweldig wreed
Of op basis van Debian
sudo apt-get install awesome awesome-extra
Het ‘vicious’-pakket bevat basisplug-ins die u in de toekomst kunt gebruiken.

Vervolgens moet u het registreren om te laden bij het laden van het X Window System. Dit wordt geschreven in een bestand in thuismap, ".xinitrc".
#!/bin/sh exec geweldig
We rebooten en deze wm verschijnt.

Eerste kennismaking



Zo ziet uw sessie eruit wanneer u deze voor het eerst inschakelt. Het lijkt erop, hoe moet je hierin werken en wat moet je hier doen? Het is eigenlijk eenvoudig als je haar systeem eenmaal begrijpt. Alle acties met vensters worden uitgevoerd met behulp van sneltoetsen. Standaard zijn ze als volgt (dit alles kun je lezen in “man awesome”, de tekst zelf komt uit de gentoo wiki):

super + nummer overgang naar een andere tag, waarbij de tag het sleutelnummer is, of liever de positie ervan (naar analogie met andere wm, tag = virtuele desktop).
super + shift + nummer verplaats het huidige venster naar een andere tag.
super+j, super+k overgang tussen ramen.
super+verschuiving+j of super+shift+k verwissel twee vensters.
super + ruimte de weergave van vensters wijzigen. (Er zijn veel soorten weergaven in Awesome - naast elkaar: verticaal, horizontaal; samengesteld - je kunt het met de muis slepen; de applicatie is scherp op het hele scherm, enz.)
super + invoeren startterminal.
super + r het programma lanceren.
super+shift+c sluit het raam.
super+shift+r opnieuw opstarten geweldig.
super+shift+q uitgang geweldig.

Voor sommigen zijn ze ongetwijfeld niet handig. Maar we kunnen alles veranderen! Laten we daarom verder gaan met het configuratiebestand.

Configuratiebestand

Waarschuwing: voor het bewerken ervan zijn op zijn minst enige programmeer- of scriptvaardigheden vereist.
Het globale configuratiebestand bevindt zich op het systeem in "/etc/xdg/awesome/rc.lua", maar het is beter om het niet te wijzigen, want als het niet correct is, zal wm niet starten. Dus zullen we onze eigen maken.
mkdir ~/.config/awesome cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
En we zullen het direct veranderen.
Allereerst wil ik een aantal sleutels wijzigen.
Sneltoetsen bevinden zich in de sectie
" - ((( Toetsbindingen "
Alles veranderen is eenvoudig.
modkey is onze supersleutel (met Windows-logo op het toetsenbord).
Bijvoorbeeld:
verschrikkelijk.key(( modkey, "Shift"), "q", geweldig.quit),
Deze regel zegt dat super + Shift + q awesome zal dwingen om te sluiten.
Laten we zeggen dat we hetzelfde willen achterlaten, maar zonder verschuiving, dan zal dat zo zijn
verschrikkelijk.key(( modkey, ), "q", awesome.quit), Of bijvoorbeeld gewoon door Esc-toets(Dit is slechts een voorbeeld!)
verschrikkelijk.key((), "Esc", awesome.quit), ik denk dat de logica duidelijk is.
Dus we hebben de sleutels gevonden. Nu is het tijd om globale variabelen in te stellen.
Dit gedeelte staat aan het begin. (De volgende zijn mijn eigen instellingen, die u uiteraard kunt wijzigen)
terminal = "terminal" browser = "chromium-dev" editor = os.getenv("vim") of "vim" editor_cmd = terminal .. " -e " .. editor
Ik denk dat we de ‘interne zaken’ hebben opgelost, het is tijd om aan de slag te gaan verschijning.

Nog even over het instellen

We blijven op dezelfde manier in het configuratiebestand werken.
Ten eerste zou ik, in plaats van alleen maar cijfers, onze tags willen hernoemen. Het staat in de sectie
"--- (((Tags"
Schrijf in plaats van cijfers gewoon namen.
Ik heb bijvoorbeeld:
tags[s] = verschrikkelijk.tag(("Alles", "IM", "Werk", "Enz", "Media"), s, lay-outs)
Over het algemeen kan ik niet goed over de configuratie schrijven, omdat dit een persoonlijke kwestie is. De beste manier om hierover te lezen is op de geweldige wiki. Over het algemeen zult u, nadat u de configuratie heeft toegevoegd, een nieuw gemak ervaren bij het werken met Windows. Er is een groot aantal lekkers te vinden.

In plaats van een conclusie

Ik wil graag opmerken dat deze wm ideaal is voor mensen die vaak meerdere vensters in beeld houden. Het is ook geschikt voor zwakke machines en lichtgewicht systemen, en machines met kleine schermen(laptops)
Nadat je (in eerste instantie) de sneltoetsen hebt onthouden en vervolgens op een voorgevoel hebt ingedrukt, zul je niet langer nadenken over hoe, waar, wat je met het venster moet doen, hoe je het moet plaatsen.
In awesome kun je bijvoorbeeld één tag behouden bepaalde ramen. Ik heb bijvoorbeeld Skype en Pidgin in mijn IM-tag.
Maar welke woorden! Schermafbeeldingen!


Laatste screenshot op volledige grootte
Mijn behang, op verzoek van werknemers.
En ook een video die het werk van WM demonstreert.

Ik voeg ook een archief toe met mijn config + plug-ins.

Ik hoop dat ik je heb geïnteresseerd in deze coole (uit het Engelse geweldige) WM, en dat je hem in actie gaat proberen! En ik ben klaar om met plezier te antwoorden en te helpen in de reacties.

De Linux GUI bestaat uit twee hoofdonderdelen: het X Window-systeem en

de vensterbeheerder zelf. X Window-systeem (met name het

gratis implementatie van het XFree86-pakket, in de volksmond X genoemd) -

server, en de windowmanager is de client, we krijgen het standaardmodel

"client-server". Dit model vertegenwoordigt geweldige kansen, Maar

vaak op gebruikersmachines X Window en window manager

worden samen geïnstalleerd.

Het X Window Systeem communiceert met hardware (videokaart, monitor,

toetsenbord, muis) en biedt het eenvoudigste grafische mogelijkheden

(kleuren, grafische primitieven tekenen, tekstuitvoer, enz.).

XFree86 kan worden uitgevoerd op alle Unix- en Unix-achtige systemen, zoals:

Linux, de hele BSD-familie, Sun Solaris x86 en MacOs X worden ook ondersteund

OS/2 en Cygwin; de server werkt op elk platform hetzelfde.

KDE is gebaseerd op de Qt-bibliotheek van Trolltech, en Gnome is gebaseerd op Gtk+. Bibliotheek

is in het bijzonder verantwoordelijk voor hoe X Window zal werken

teken menu's, knoppen, pictogrammen en andere grafische elementen.

De raambeheerder is verantwoordelijk voor de locatie en het uiterlijk van de ramen zelf en de medewerker

tabel, bevat meestal een systeem voor het monitoren van de gebruiker

sessies, instellen applicatieprogramma's, nutsvoorzieningen, enz.

Als Xfree86 de standaard is, dan zijn er een groot aantal windowmanagers beschikbaar

waarvan veel van de beste het onderwerp van dit artikel zijn.

DocApps zijn zoiets als applets die worden gebruikt voor weergave

nuttige informatie: processortemperatuur, belasting, hoeveel

vrije geheugen/schijfruimte, netwerkverbindingsstatus,

staat postbus, klok, kalender en nog veel meer, om op te noemen

alles heeft geen zin. Van soortgelijke programma's"alles in één" Gkrelm, zij

verdient een apart artikel.

    KDE en GNOME

Beschikbaar in alle min of meer populaire distributies en software

Beide zijn standaard geïnstalleerd. De meesten beschouwen ze als de belangrijkste, en

sommige mensen zijn hun enige vensterbeheerders. Volgens de applicatie

KDE-ontwikkelaars - deze vensterbeheerder werkt op 65%

machines gebruiken GUI als zodanig zal ik er namens mijzelf aan toevoegen,

dat KDE inderdaad de meest populaire wm is, maar de cijfers zijn duidelijk overdreven.

Maar waarom zijn het er twee... Het KDE-project, gecreëerd in 1996, was gebaseerd op

Qt-bibliotheken van het Noorse bedrijf Trolltech, dat voorzag

ze vielen destijds onder de BSD-licentie, niet onder de GPL. Daarom was er in 1997 wel sprake van

een kabouterproject waarvan het doel was om te ontwikkelen grafische omgeving,

voldoen aan de GPL-licentie. Vervolgens veranderde Trolltech de QT-licentie naar GPL

(meer geschikt voor Open Source-projecten), maar Gnome al

ontwikkeld.

KDE heeft een intuïtieve win-achtige interface, waardoor het

aantrekkelijk voor gebruikers die van Windows komen. Alleen kabouters

benadert deze parameters. Beiden hebben een bureaublad met pictogrammen,

zoiets als een startknop, talloze onderwerpen, een enorm aantal

hulpprogramma's en geavanceerde configuratieprogramma's, misschien is dat alles wat ik

Ik kan goede dingen over hen zeggen.

KDE is niet alleen de meest populaire, maar ook de langzaamste (zonder

overdreven), zelfs op krachtige machines laadt het in ongeveer 12-15 seconden en

dit kan niet worden genezen... Gnome is niet zo langzaam: het bezig met laden in de buurt van

8-10 seconden, maar het laden van bijvoorbeeld BlackBox of iceWM duurt minder

seconden...

Deze projecten ontwikkelen zich dankzij een groot aantal programmeurs,

er komen regelmatig nieuwe versies uit en je wilt ze meteen gebruiken, niet

wacht tot het in een bepaalde distributie verschijnt... Ik bedoel, update de software

een gewone modem en KDE en Gnome zijn bijvoorbeeld erg problematisch

Bij het updaten van KDE naar versie 3.1 moet u de Qt-bibliotheekversie zelf downloaden

3.1 (ongeveer 10 MB), daarna een aantal KDE-bronnen (tot enkele honderden MB).

Gnome doet het iets beter. Misschien heb je dat al gedaan tussen KDE en Gnome

reik naar de tweede, want overal is deze iets superieur, maar niet

haast...

    Verlichting

Laatst stabiele versie 0.16 werd uitgebracht in 1999 en hoger

de langverwachte versie 0.17 wordt “ontwikkeld”, ik denk dat het mogelijk is

verklaren de dood van dit project. Vrij langzaam venster

manager, met een hoop toeters en bellen, waarvan de meeste onterecht zijn

nutteloos. Ondersteunt thema's, TrueType-lettertypeverzachting, X11R6

sessiebeheer, virtuele desktops, docApps en speciale effecten:

hints die van ver verschijnen, animatie, enz. Ondersteund

platforms: Linux, BSD, Solaris, HP, Irix, AIX. Onder dit project

Er zijn een aantal eigen bibliotheken geschreven die dit gebruiken

andere wm in de maak. Heeft groot aantal ingebouwde thema's en

geïntegreerd goed configuratieprogramma.

    XPde

Geen project, maar eerder een grap, waarvan de taak is om te herhalen

WindowsXP-interface, maar met Linux-specificaties en niets meer

dit is het geval op Kylix, en daarom is het behoorlijk traag en dat is ook zo

relatief groot formaat (ongeveer 6 Mb),

misschien wordt dit zijn ondergang. De ontwikkelaars zelf zeggen dat XPde dat niet is

beweert een windowmanager te zijn, volgens hem zijn er maar twee: KDE

en Gnome, en geschreven voor WindowsXP-gebruikers om de migratie naar te vereenvoudigen

Zorgt voor bezorgdheid bij ontwikkelaars en gebruikers zelf

Microsoft Corporation, die mogelijk XPde en contact opmerkt

rechtbank, ze zijn er dol op...

    FVWM

Het heeft een eenvoudige en zeer informatieve website, die vooral de aandacht verdient

gedetailleerde veelgestelde vragen. Staat voor Gratis, Beroemd, Snel, Fantastisch,

Flexibel, F!@#$%, Final, Funky, Grappige Virtual Window Manager.

De ontwikkeling is in volle gang.

Dit heb je nodig: minimale laadsnelheid (minder dan een seconde)

Een eenvoudige, zelfs primitieve interface, maar zeer flexibel. Heeft

een eenvoudig en duidelijk configuratiebestand, dat u kunt wijzigen

verander alles, of bijna alles ;) Voor effectief

En comfortabel werk Je kunt niet zonder fijnafstemming, en dit neemt weg

een grote hoeveelheid tijd, wat gewone gebruikers afschrikt,

de voorkeur geven aan alles tegelijk (Microsoft-ideologie).

Kenmerkend voor hem goede ondersteuning lettertypen, inclusief anti-aliasing,

schaduwen toepassen op tekst (ziet er goed uit met lichte tekst),

ondersteuning voor meerdere virtuele desktops en docApps, ondersteuning

modules geschreven in Perl en Tcl, er is bijvoorbeeld een module

door zoiets als een Start-knop op het bureaublad te plaatsen.

    XFCE

Gebaseerd op de GTK+-bibliotheek. De ontwikkelaars hebben ernaar gestreefd om dat te garanderen

de grafische omgeving zo gebruiksvriendelijk mogelijk maken,

systeemconfiguratie wordt uitgevoerd met behulp van een reeks hulpprogramma's, niet met bewerken

configuratiebestanden handmatig (voor de meeste vensterbeheerders

Er zijn wel configuratorprogramma’s, maar die zitten bijvoorbeeld niet in het pakket zelf

BlackBox en XFce hebben alle systeemsoftware ingebouwd). Zoals ze zelf zeggen

programmeurs: "XFce is een omgeving gemaakt voor gebruikers, met zeer

eenvoudige installatie."

Deze unieke toolkit bevat: venster

manager, XFTree - bestandsbeheerder, klok en kalender, module

Gnome-ondersteuning, hulpprogramma's voor het configureren van muis en geluid, XFGlob -

een krachtige tool voor het zoeken naar bestanden, een programma dat een paneel is

onderkant van het scherm en de grond shell-scripts voor dit paneel (xfterm,

xftrash, xfprint, xfhelp, xfmountdev, CDE2Xfcepal, enz.)

Onder de functies merk ik op dat XFce in vele talen is vertaald, waaronder

ook in het Russisch. Ondersteunt: "technologie" Sleep en druppel",

gebruikerssessies, 2 tot 10 virtuele desktops, thema's

(3 ingebouwde thema's), lettertypeverzachting, enz.

Een goede oplossing voor mensen die een snelle wm willen met simpel en

toegankelijke interface.

    ICEWM

Verscheen relatief recent, maar zonder overdrijving is het in alles opgenomen

distributies: groot en klein, beroemd en volkomen onbekend...

Lijkt op Win95: Startknop, paneel met ingesloten applets

niet zo, van de 40-50 kon ik er geen vinden die een lust voor het oog was. Met één

aan de ene kant vind ik het vreselijk NIET prettig om eraan te werken, aan de andere kant, ik

Ik ken en leer mensen die gewoon dol op hem zijn.

Onder de objectieve voordelen zou ik de zeer ontwikkelde Iceprefs-configurator willen noemen.

    RAMENMAKER

Officiële windowmanager

NeXTSTEP, zij het met enkele verschillen. Ondersteuning en compatibiliteit met

GNUstep, ICCCM, Motif, OPEN LOOK, KDE en GNOME. Russisch ondersteund

taal, bevat ook het hulpprogramma WMSetfont waarmee u de codering kunt wijzigen zonder

herstart wm. Geweldig nut WMPrefs voor configuratie.

Misschien is het hoofdidee van de NeXTSTEP-interface een reeks pictogrammen

ter vervanging van “traditionele” bureaubladpictogrammen. Verschil: icoon

naast de traditionele functie van het benoemen van een applicatie met een grafisch symbool

en de lancering ervan, kan ook een reeds actieve applicatie vertegenwoordigen.

Het vraagt ​​niet veel van de bronnen: het neemt 1,5 tot 2 MB geheugen in beslag. Raam

Maker is een functionele en mooi ogende vensterbeheerder, met

uitstekende opties om het uiterlijk aan te passen (maar zonder franjes), en

Het allerbelangrijkste is dat het perfect de hoofdfunctie vervult die vanuit het venster wordt vereist

managers - gebruiksvriendelijk beheer van applicatievensters aan

monitorscherm.

    BLACKBOX EN ZIJN FAMILIE

blackbox 0.65.0-finale. Ondersteunde platforms: Linux, BSD, OS/2,

Cygwin, MacOs X, Sun Solaris, Irix, HPUX. Geschreven in C++, tarball met

bb-broncode neemt 275 kb in beslag!!! De familie verwijst naar het raam

managers die stukjes bb-code gebruiken, maar in wezen niet veel anders

van het origineel.

Bb is kwalitatief vertaald in vele talen, waaronder

Russisch, ondersteunt docApps, anti-aliasing, thema's, virtuele werkers

tabellen (hun aantal wordt door de gebruiker ingesteld in de eerste week en in

verandert niet verder), sneltoetsen (bbkeys), etc.

Alles erin is gedaan vanwege de snelheid; als er geen pictogrammen zijn, is dat niet het geval

betekent dat programmeurs er niet aan hebben gedacht of het niet kunnen doen, het is gewoon zo

ze zijn NIET NODIG en zijn opzettelijk verlaten. Deze vensterbeheerder is dat niet

probeert een besturingssysteem te repliceren, zoals de meeste, maar gaat zijn eigen weg,

er is geen startknop, geen bureaubladpictogrammen, slechts een heel kleine

paneel met de naam van het virtuele bureaublad, de klok en namen

Windows wordt het menu opgeroepen met de derde muisknop op het vrije gedeelte van het bureaublad

tafel. Voor efficiënt, handig en snel werk mee moeten lijden

configuratie van dit menu, maar dan raak je er zo aan gewend dat allerlei soorten

de startknoppen lijken op een soort perversie.

Het is de kleinste, snelste en

de mooiste wm. Thema's bestaan ​​uit stijlen, achtergronden en geluiden (sommige

zelden), alleen het standaardpakket bevat ongeveer 15 onderwerpen, en de archieven

vers vlees barst gewoon van hun overvloed. bb-thema's zijn voor alles geschikt

zijn familie en omgekeerd. Elke stijl vertegenwoordigt een zeer

een klein tekstbestand dat beschrijft wat wat is

De kleur/gradatie bepaalt welk lettertype en achtergrond er gebruikt wordt.

    WAIMEA - Kloon BB

Alles wat over bb is gezegd, is op hem van toepassing. Tijdens de montage waren er

kleine problemen, het bleek dat Waimea het in zijn werk gebruikt

imlib2-bibliotheek (van het Verlichtingsproject) en daarom verscheen zoiets

kenmerk is de transparantie van het menu en de vensterframes (goed zichtbaar op

screenshot waimea_1.png) zijn doorschijnend, dit is het verschil met bb

zijn voorbij.

    FLUXBOX - NOG EEN BB-KLON

Alles wat hier beschreven wordt, is van mij

Ik heb het geprobeerd, maar ik heb gekozen voor fluxbox. Dezelfde bb, maar ontwikkeling

over hem heen eindigde: er zal niets nieuws, revolutionairs verschijnen, maar

fluxbox is het meest veelbelovende bb-project in zijn soort.

Op de site kan dat

find: flkeys - hiermee kunt u sneltoetsen over het toetsenbord verspreiden (erg handig);

flconf is een eenvoudig configuratieprogramma dat alleen instellingen bewerkt

fluxbox"a; fbdesk - onlangs verschenen (eerder gemaakt om het

migratie naar deze wm) plaatst pictogrammen op het bureaublad.

Van de kenmerken

Ik zal de aanwezigheid van bladwijzers opmerken: vensters kunnen worden gegroepeerd (groups

gebruiker), kunt u nu schakelen tussen gegroepeerde vensters

via bladwijzers (erg handig).

Dat is waarschijnlijk alles wat ik u wilde vertellen over vensterbeheerders. Herinneren

dat 90% van alle problemen kunnen worden opgelost met behulp van de console, maar als de console

Het is niet langer mogelijk om het te ‘verpesten’, maar grafische omgevingen kunnen op andere manieren worden gedaan. Oordeel over

Esthetiek en bruikbaarheid kunnen niet alleen worden bereikt door screenshots, dus ga je gang!

    http://xfree86.org.ru

    http://kde-look.org - thema's, pictogrammen, achtergronden voor kde

    http://freshmeat.net/dockapp - een heleboel docapps

    http://bensinclair.com/dockapp - meer docapps

    http://dockapps.org/ - nieuwe gespecialiseerde bron

    http://themes.org - thema's voor van alles en nog wat

    http://themes.freshmeat.net - canonieke verzameling thema's voor IEDEREEN

    raambeheerders

    http://themedepot.org - verzameling thema's voor alle wm

Zeer vergelijkbaar met de UNIX-ontwerpfilosofie: "hulpmiddelen, geen politiek". Dit betekent dat X probeer niet te dicteren hoe het werk gedaan moet worden. In plaats daarvan worden tools aan de gebruiker ter beschikking gesteld, en de gebruiker moet zelf beslissen hoe hij die tools gaat gebruiken.

Deze aanpak wordt in X uitgebreid door niet te specificeren hoe vensters er op het scherm uit moeten zien, hoe ze verplaatst kunnen worden, welke toetsencombinaties er gebruikt moeten worden om tussen vensters te schakelen (d.w.z. Alt+Tab, bij gebruik van Microsoft Windows), wat de headers moeten zijn eruit zien als vensters, of ze knoppen moeten hebben om ze te sluiten, enz.

In plaats daarvan delegeert X de verantwoordelijkheid hiervoor aan een applicatie genaamd "Window Manager" ( Vensterbeheerder). Er zijn tientallen vensterbeheerders voor X: Blackbox, ctwm, fvwm, twm, WindowMaker en anderen. Elk van deze raammanagers biedt verschillende looks en voorzieningen; sommige ondersteunen "virtuele desktops"; bij sommige kunt u de toewijzing wijzigen van toetscombinaties die worden gebruikt om het bureaublad te bedienen; sommige hebben een “Start”-knop of iets dergelijks; sommige ondersteunen 'thema's', waardoor u het uiterlijk kunt wijzigen door het thema te wijzigen.

Bovendien hebben GNOME Shell beide hun eigen vensterbeheerders die met de shell zijn geïntegreerd.

Elke windowmanager heeft ook zijn eigen configuratiemechanisme; sommige vereisen een handmatig aangemaakt configuratiebestand; sommige bieden grafische hulpmiddelen om het meeste configuratiewerk uit te voeren; minstens één (Lisp.

Focusbeleid

Een ander kenmerk waarvoor de vensterbeheerder verantwoordelijk is, is het 'focusbeleid voor aanwijsapparaten'. Elk raamsysteem moet een manier hebben om het venster te selecteren om de ontvangst van toetsaanslagen te activeren, evenals een visuele indicatie van welk venster actief is.

Een bekend focusbeleid wordt ‘click-to-focus’ genoemd. Dit model wordt gebruikt in Microsoft Windows, waar een venster actief wordt na een muisklik.

Focus-volgt-muis (focus volgt de muis)

Het venster onder de aanwijzer heeft focus. Het zal niet noodzakelijkerwijs het raam zijn dat bovenop alle anderen zit. De focus verandert wanneer u naar een ander venster wijst zonder erop te klikken (bijvoorbeeld Ion).

Slordig focus (vage focus)

Met het focus-volgt-muis-beleid als de aanwijzer zich bovenaan het hoofdvenster bevindt (of achtergrond), dan krijgt geen enkel venster focus en verdwijnen toetsaanslagen gewoon. Wanneer u een fuzzy focus-beleid gebruikt, verandert dit alleen wanneer de aanwijzer een nieuw venster raakt, maar verlaat het huidige venster nooit.

Klik om scherp te stellen

Het actieve venster wordt geselecteerd door op een knop op het aanwijsapparaat te drukken. In dit geval "komt" het raam omhoog en bevindt het zich bovenop alle andere gewone ramen. Alle toetsaanslagen worden nu naar dit venster geleid, zelfs als de aanwijzer naar een ander venster gaat.

Veel vensterbeheerders ondersteunen ander beleid, evenals variaties op het genoemde beleid.

Koppelingen

  • xwinman.org - screenshots van populaire vensterbeheerders.

Stichting Wikimedia.

2010.

de gebruiker kan elke vensterbeheerder kiezen op basis van zijn eigen... ... Wikipedia

Groeten! Terwijl ik door mijn concepten bladerde, ontdekte ik een oud concept voor een artikel dat ik een paar maanden geleden ging schrijven. Helaas lieten de levensomstandigheden (en andere) toe dat dit niet op tijd kon gebeuren. Maar nu heb ik eindelijk de tijd gevonden, en vandaag zullen we het hebben over verschillende vensterbeheerders in populaire grafische omgevingen voor Linux. Ik zal in detail de functies van de window manager, functionaliteit bekijken, schrijven over de zogenaamde samengestelde window managers, enzovoort. Ik hoop dat het voor iedereen interessant zal zijn. Laten we beginnen. Vensterbeheerder is een programma dat toepassingsvensters op het systeem beheert. Namelijk: het positioneert vensters op het scherm, is verantwoordelijk voor het wijzigen van de grootte, scherpstelling, enz. In dit geval draait de window manager bovenop het bestaande raamsysteem. In de eenvoudigste vorm beheert een vensterbeheerder eenvoudig vensters en voert hardware-interacties ermee in, en doet er niets anders mee. In dit geval valt de belasting voor het renderen op de centrale processor (de zogenaamde). Sommige vensterbeheerders kunnen, naast het beheer van het venster, schaduwen op de randen tekenen, verschillende animaties, vloeiendheid, doorschijnendheid, enzovoort toevoegen. In dit geval is dat de vensterbeheerder composiet. Een van de belangrijkste (maar optionele) functies van een samengestelde vensterbeheerder is het gebruik van de mogelijkheden van de videokaart om het venster te tekenen, meestal door OpenGL. Hierdoor wordt de kwaliteit van de weergave verhoogd en wordt de belasting van de centrale processor aanzienlijk verminderd. De functionaliteit van de samengestelde manager kan worden ingebouwd in de windowmanager of apart programma. Vaak heet het weergeven van een venster via een samengestelde vensterbeheerder eenvoudigweg: compositie. Als u bekend bent met Windows, dan is hier een voorbeeld van Windows 7: wanneer effecten zijn uitgeschakeld Aero, wordt de weergave uitgevoerd door de centrale processor. De belasting van de videokaart is minder, maar bij het afspelen van video verschijnen er artefacten op het scherm die bekend staan ​​als tearing (wanneer frames te snel veranderen en er in het midden een transparante flikkerende strook zichtbaar is).

Wanneer Aero-effecten zijn ingeschakeld, wordt de rendering uitgevoerd door de videokaart. Dat wordt duidelijk als er animaties verschijnen om het venster te laten verschijnen en in te klappen, doorschijnendheid, enzovoort.

Compositie heeft dat echter ook achterkant. Bij het renderen van een desktop met behulp van een videokaart wordt de framesnelheid per seconde gesynchroniseerd met de monitorfrequentie (meestal 60 frames per seconde, wat overeenkomt met standaard 60 Hz-monitoren), dus in games zal de frequentie iets lager zijn, omdat het frame dubbel gesynchroniseerd zijn. In ernstige gevallen -. Daarom kunt u vaak aanbevelingen vinden om uit te schakelen grafische effecten bij het starten van games (schakel bijvoorbeeld Aero uit in Windows 7). Laten we direct terugkeren naar Linux. IN op dit moment Het dominante grafische subsysteem in Linux is Xorg(X-en). En het werk van de windowmanager daarin is precies hetzelfde als ik het hierboven heb beschreven. Tegelijkertijd bevond de compositiefunctionaliteit zich oorspronkelijk niet in Xorg en werd deze veel later geïmplementeerd, dus de composietmanager werkt daar alsof hij ernaast staat. Over het algemeen blijkt het een hele dikke sandwich van verschillende lagen te zijn waar de afbeelding doorheen wordt getrokken.

In de meeste gevallen is dit voor de gebruiker niet belangrijk. Maar in games geeft dit tastbare beperkingen. Nu wordt Xorg vervangen door twee grafische subsystemen - Wayland En Mir. De eerste is niet gebonden aan enige distributie of grafische schil, terwijl de tweede daarvoor is ontwikkeld Ubuntu en zij grafische schil Eenheid, en is al aan het werk mobiele editie Ubuntu. We zullen het over Mir hebben in een apart artikel. Wat Wayland betreft, het mist de gebruikelijke concepten van een raam- en composietmanager. Het bevat alleen componist, dat alle bewerkingen op vensters uitvoert, zonder onnodige lagen. Het renderen van de aanvraag valt in dit geval op softwaretool(toolkit) waarin het is geschreven. Bijvoorbeeld Qt, of GTK. Dit is de zgn weergave aan de clientzijde. Als het venster rechtstreeks in de Wayland-componist wordt weergegeven, wordt dit aangeroepen weergave op de server. In het geval van rendering aan de clientzijde ligt de titel van het applicatievenster, het uiterlijk ervan, enz. volledig bij de applicatie-ontwikkelaar. Als gevolg hiervan ontstonden de zogenaamde ‘ Windows-effect": als de toepassing geen functionaliteit voor het wijzigen van de grootte van vensters heeft, zal het toepassingsvenster dat altijd zijn vaste maat. Een voorbeeld van een venster met titelversiering aan de clientzijde (let op de bedieningsknoppen van de toepassing in de venstertitel):

Deze functionaliteit is geïmplementeerd in GNOME. KDE maakt gebruik van server-side rendering, wat betekent dat alle vensters dezelfde titel zullen hebben en gemakkelijk van grootte kunnen worden aangepast:

Als u trouwens een applicatie met CSD (Client-Side Decorations) uitvoert in een vensterbeheerder die weergave aan de clientzijde niet ondersteunt, ontvangt de applicatie twee headers:

CSD bleek overigens een redelijk goede oplossing. Zo succesvol dat Apple het zelf overnam:

Wayland werkt al in besturingssystemen voor auto's en mobiele besturingssystemen Tizen En ZeilvisOS, en vele andere plaatsen. Wayland-filosofie - "Elke frame-uitvoer moet perfect zijn". En dit is waar. Weergave in Wayland is qua kwaliteit superieur aan die in Xorg (scheuren is bijvoorbeeld in principe onmogelijk in Wayland), en bovendien is het in Wayland erg moeilijk om keyloggers(toetsenbordinterceptors), wat een positief effect heeft op de veiligheid. Wayland wordt echter nog niet ondersteund door eigen stuurprogramma's Nvidia En AMD, wat het erg moeilijk maakt om het standaard in te voeren Linux-distributies. We komen later terug op de kwestie van de ondersteuning ervan met grafische Linux-shells. We kunnen heel lang over dit onderwerp praten, dus ik stel voor om direct naar de bespreking van vensterbeheerders in populaire grafische omgevingen in Linux te gaan.

Metaciteit- window manager van de inmiddels ter ziele gegane grafische omgeving GNOME 2. Ik kwam de daar gebruikte exemplaren vervangen Zaagvis En Verlichting. Het beschikt over een zeer bescheiden verbruik van hulpbronnen. Ondersteunt eenvoudige softwarecompositing (slagschaduwen, transparanten, venstervoorbeelden). Werd oorspronkelijk in geschreven GTK+ 2, werd later herschreven naar GTK+ 3, waardoor het mogelijk werd om het te gebruiken in GNOME 3.0-3.8. Momenteel onderdeel van het project GNOME-flashback, gebruikt in een grafische omgeving Kaneel te draaien op hardware die dit niet ondersteunt hardwareversnelling graphics en is ook verkrijgbaar als optie in Linux Munt MAAT En UbuntuMATE.

Mompelen- verdere ontwikkeling van Metacity voor GNOME 3. Mutter is een volledig compositiemanager die gebruikmaakt van een krachtige bibliotheek met vectorafbeeldingen voor 2D-rendering Cairo, en voor 3D-weergave - Ophoping, die wordt gebruikt voor versnelling OpenGL. Shell-operatie GNOME-shell geïmplementeerd als plug-in voor Mutter, waardoor alle mogelijkheden van deze windowmanager worden gebruikt in de hele functionaliteit van GNOME 3. Te beginnen met GNOME 3.10, is het onmogelijk om de omgeving te besturen zonder Mutter. Mutter is ook een windowmanager met de meest complete en complete ondersteuning voor Wayland, de rendering wordt uitgevoerd aan de clientzijde (de client is de bibliotheek GTK+ 3). De functionaliteit van Mutter kan worden uitgebreid met plug-ins. Mutter is geen lichtgewicht vensterbeheerder en is volkomen ongeschikt voor oude en zwakke hardware.

Muffin- fork van Mutter van de ontwikkelaars van de grafische omgeving Kaneel. Ontwikkeld door een team van ontwikkelaars Linux Munt. Muffin erft veel van de kenmerken van Mutter en gebruikt ook Cairo en Clutter voor weergave. Het ondersteunt Wayland echter niet (de ontwikkelaars beschouwen het nog niet als klaar voor gebruik) en maakt ook gebruik van de mogelijkheden van GTK+ (als Mutter-releases gekoppeld zijn aan GTK+-releases, dan kan Muffin worden gebouwd met elke versie van GTK+, niet lager dan de minimaal ondersteunde waarde). In tegenstelling tot Mutter consumeert Muffin bijna de helft minder RAM, en belast ook het videosubsysteem minder, waardoor het gebruik van Cinnamon ideaal is voor budgetlaptops. Ook wordt de functionaliteit uitgebreid via plug-ins.

Marco- Metacity-vork van de ontwikkelaars van de grafische omgeving MAAT. Gebruikt dezelfde principes voor vensterweergave, softwarecompositing, enzovoort. Kan worden vervangen door Metacity of Compiz.

Compiz- een van de eerste volledig samengestelde windowmanagers met geweldige functionaliteit en ondersteuning voor uitbreidingen. Aanvankelijk werkte Compiz alleen met ondersteunde 3D-hardware Xgl: voornamelijk videokaarten NVIDIA En ATI. Maar sinds 22 mei 2006 begon Compiz te werken aan de standaard X.org Server met behulp van AIGLX. Behalve Intel-videokaarten GMA, AIGLX ondersteunt AMD-videokaarten(vanaf R300) bij gebruik van open stuurprogramma's. Bekend Kubus-desktops en andere decoratie-plug-ins. In combinatie met een raamdecorateur Smaragd was ooit het meest populaire manier grafisch weergeven Linux-functies(Veel van de effecten die het creëerde waren niet beschikbaar in andere besturingssystemen van die tijd, en sommige werden specifiek gekopieerd van Compiz). Compiz kan worden gebruikt als een volledig onafhankelijke vensterbeheerder, de weergave is volledig hardwarematig, via OpenGL. Raambeheerders Metacity, Marco en Xfwm4 worden heel vaak vervangen door Compiz, voornamelijk om tearing tegen te gaan. Momenteel is de officiële ontwikkeling van Compiz gesloten. Branch 0.8 wordt ondersteund door liefhebbers, en 0.9 wel door Ubuntu-ontwikkelaars, voor de grafische shell van Unity 7, die, net als GNOME Shell voor Mutter, een plug-in is voor Compiz. Compiz is ook een optie in Linux Mint MATE en UbuntuMATE.




Xfwm4- standaard windowmanager voor de grafische omgeving Xfce. Sinds versie 4.2 heb ik softwarecompositing. Deze windowmanager is zeer licht, eenvoudig en kan niet alleen in Xfce worden gebruikt, maar bijvoorbeeld ook in MATE. De ontwikkelaars porteren het momenteel naar GTK+ 3 en implementeren ook ondersteuning voor weergave via OpenGL. Kan vervangen worden door Compiz, Metacity of Marco.

Koningin is een van de meest complete, stabiele en flexibele vensterbeheerders in Linux. Is standaard voor de grafische omgeving KDE. Vanaf KDE4, is volledig composiet geworden, ondersteunt veel effecten van Compiz, kan gebruikt worden voor rendering OpenGL 2.0, 3.1 , OpenGL ES of weergave via extensie Xrender, in staat om te blokkeren toepassing op volledig scherm(bijvoorbeeld door een spel te spelen, waardoor de productiviteit toeneemt), heeft volop mogelijkheden instellingen voor effecten, animatie en vanaf versie 5 - heeft ondersteuning voor Wayland, weergave via extensies E.G.L.(in plaats van standaardinterface GLX), en nog veel meer. In KDE 4 kan het eenvoudig worden vervangen door Compiz. Koningin is ingeschreven Qt, en gebruikt veel van de functies van dit raamwerk. Maar als GNOME praktisch vastgespijkerd is aan GTK+ 3, waarvan de ontwikkelaars voortdurend de API verbreken met nieuwe releases, dan is de situatie in Qt vele malen beter, en zijn KDE-releases niet strikt gebonden aan Qt-releases. In noodsituaties toont Kwin verbazingwekkende stabiliteit: het schakelt automatisch over naar de weergavemodi, in geval van problemen met het videostuurprogramma wordt het opnieuw opgestart, maar stopt het weergeven niet. Bovendien is Kwin met al zijn functionaliteit zeer licht van gewicht (vergeleken met Mutter en deels Muffin), wat hem geschikt maakt voor gebruik op zwakke laptops, netbooks en dergelijke.




Compton- samengestelde manager, vork Xcompmgr. Het is geen windowmanager, maar vormt simpelweg een aanvulling op de bestaande samengestelde functionaliteit. Vaak gebruikt in combinatie met Openbox, Metacity en Marco. Niet rijk aan effecten, maar de meest populaire zijn transparantie, schaduwen, animaties, vloeiende overgangen en natuurlijk weergave via OpenGL zijn volledig geïmplementeerd. Ook beschikbaar als optie in Linux Mint MATE en UbuntuMATE.

Open doos is een populaire superlichte vensterbeheerder. Het heeft geen samengestelde functionaliteit, zelfs niet programmatisch. Is de standaard windowmanager in omgevingen LXDE En LXQt. Kan door elk ander worden vervangen en kan ook als vervanging worden gebruikt in veel omgevingen, zoals MATE en Xfce.


Natuurlijk zijn dit niet alle vensterbeheerders die beschikbaar zijn in Linux. En in de toekomst zal ik schrijven hoe creëer uw eigen grafische omgeving van verschillende componenten. Een bepaald monster van Frankenstein, uit verschillende stukken genaaid :) Als je wensen hebt, schrijf dan in de reacties.

Origineel: "Ubuntu-hacks / de Linux-desktop"
Auteurs: Kyle Rankin, Jonathan Oxer, Bill Childers
Publicatiedatum: juni 2006
Vertaling: N. Romodanov
Datum van vertaling: augustus 2010

GNOME en KDE zijn geweldige vensterbeheerders, maar ze zijn een beetje zwaar. Als u gebruikt oud systeem, of als u de zaken gewoon wilt versnellen, kunt u andere vensterbeheerders onder Ubuntu gebruiken, zoals Fluxbox, XFCE of Enlightenment.

Als er één ding het belangrijkst is aan Linux, dan is het keuze. Als je een bepaald programma niet leuk vindt, is de kans vrij groot dat Linux er minstens één alternatief voor heeft. Dit geldt ook voor de gehele desktopomgeving. De desktopomgeving bevat een groot aantal diverse programma's, zoals de vensterbeheerder (die zorgt voor het tekenen van randen rond uw vensters, het verplaatsen ervan, enz.), panelen waarmee u programma's kunt starten, programma's voor achtergrondcontrole en meer. De meest populaire onder deze desktopomgevingsopties zijn GNOME en KDE. Ubuntu gebruikt standaard GNOME als bureaubladomgeving [Tip #15], maar als alternatief biedt het ook Kubuntu [Tip #16], dat KDE standaard automatisch installeert.

Als je niet echt van GNOME en KDE houdt, heb je nog steeds andere opties. Linux heeft een groot aantal vensterbeheerders die kunnen worden gebruikt in plaats van complete bureaubladopties zoals GNOME of KDE, en alle populaire vensterbeheerders zijn beschikbaar voor Ubuntu. Er zijn een paar redenen waarom u enkele van deze vensterbeheerders zou willen proberen:

  • Zowel GNOME als KDE vereisen een aanzienlijke hoeveelheid bronnen om te kunnen werken. De meeste alternatieve vensterbeheerders hebben aanzienlijk minder middelen nodig, dus ze kunnen interessant zijn als u er gebruik van maakt oude computer of als u gewoon de prestaties van uw computer wilt verbeteren.
  • Alternatieve vensterbeheerders bieden vaak een compleet andere reeks functies en hanteren in sommige gevallen een andere benadering van de manier waarop uw vensters worden beheerd. Dergelijke functies omvatten de mogelijkheid om vensters in één venster met tabbladen te groeperen (Fluxbox) of de mogelijkheid om veel verschillende instellingen in te stellen die een lust voor het oog zijn en presteren fijnafstemming locaties van uw vensters (Verlichting).

Aanwijzing

Als je bij KDE of GNOME wilt blijven, zijn er verschillende eenvoudige technieken, waarmee u het resourcegebruik kunt verminderen. Voer het programma uit in KDE kpersonalizer(bevindt zich in een pakket met dezelfde naam) en specificeer een lager niveau van bronnen die in KDE worden besteed om het ontwerp te ondersteunen. Gebruik in GNOME de configuratie-editor [Tip #15] en in de optie /apps/metacity/general/reduced_resources(lager bronnengebruik) ingesteld op true .

Zelfs als je geen specifieke reden hebt om andere vensterbeheerders te proberen, kan het nuttig zijn om er een paar te installeren en te zien hoe ze vensters beheren. Als u ze niet leuk vindt, kunt u eenvoudig terugkeren naar de desktopomgeving van uw voorkeur.

IN deze raad we zullen verschillende andere vensterbeheerders beschrijven en hoe u deze op Ubuntu kunt installeren en gebruiken. Er zijn honderden raammanagers waar we het over zouden kunnen hebben, maar hier zullen we het hebben over drie populaire alternatieve opties GNOME en KDE: XFCE, Fluxbox en Enlightenment.

Een applicatiemenu maken

De eerste stap voordat u een nieuwe vensterbeheerder installeert, is het installeren en bijwerken van het programma dat het applicatieselectiemenu beheert, zodat u applicaties kunt uitvoeren zonder de applicatiestarters die u in GNOME of KDE vindt. Gebruik het pakketinstallatieprogramma dat u het liefst gebruikt en installeer het pakket genaamd menu. Nadat het programma is geïnstalleerd, opent u een terminalvenster en vernieuwt u de huidige lijst met programma's in dit menu:

$sudo update-menu's

Laten we verder gaan met uw nieuwe vensterbeheerder

We bespreken hoe u elke vensterbeheerder installeert en gebruikt, maar aangezien u dezelfde methode gebruikt om ze allemaal te selecteren, bespreken we dat eerst. Elk van de vensterbeheerders wordt, wanneer u het installeert, geïntegreerd met de desktopmanager die in Ubuntu wordt gebruikt (standaard - GDM, voor Kubuntu - KDM) en wordt toegevoegd aan de lijst met beschikbare sessies.

Nadat u een specifieke vensterbeheerder heeft geïnstalleerd, verlaat u uw huidige bureaubladomgeving startscherm login. Klik op de knop Sessies om een ​​lijst met beschikbare desktops en vensterbeheerders te zien, en selecteer de vensterbeheerder die u wilt proberen. Zodra u bent ingelogd, krijgt u de mogelijkheid om deze vensterbeheerder te onthouden als altijd gebruikt of alleen voor die sessie. Als u terug wilt gaan, logt u uit en selecteert u vervolgens uw vorige vensterbeheerder uit de lijst (Ubuntu - GNOME, Kubuntu - KDE).

XFCE proberen

Als u geïnteresseerd bent in andere vensterbeheerders of desktops, zal XFCE waarschijnlijk een van de eerste desktops zijn die u probeert. XFCE (http://www.xfce.org) is aanzienlijk lichter, dus je krijgt veel functionaliteit complete desktopomgeving zoals paneel, bureaubladpictogrammen en taakbalk, maar met verbeterde prestaties.

Installeer het pakket om XFCE te installeren xfce4 met behulp van de pakketbeheerder die u het liefst gebruikt. De desktopomgeving en een groot aantal bijbehorende hulpmiddelen. XFCE heeft een aantal andere niet-essentiële plug-ins en programma's die ook kunnen worden geïnstalleerd. Gebruik gewoon de zoekfunctie op trefwoorden xfce in uw pakketbeheerder om ze allemaal te vinden.

Zodra XFCE is geïnstalleerd, logt u uit, selecteert u een XFCE-sessie, logt u in en krijgt u de standaard XFCE-werknemer te zien (zie Figuur 2-8).

Figuur 2-8. Ubuntu's standaard XFCE-bureaublad

XFCE is een paneel onderaan het bureaublad van waaruit u algemene hulpmiddelen zoals Terminal en bestandsbeheer kunt starten xffm, gebruikt in XFCE, webbrowser en andere toepassingen. Om toepassingen te starten die zich niet in het paneel bevinden, klikt u op klik met de rechtermuisknop muis op het bureaublad om het hoofdmenu te openen. U kunt de instellingen van het programmaopstartprogramma wijzigen door met de rechtermuisknop op het opstartprogramma in het paneel te klikken. U kunt ook met de rechtermuisknop op andere delen van het paneel klikken en nieuwe items aan het paneel toevoegen, zoals opstartprogramma's, semafoons en andere programma's.

Bovenaan het bureaublad bevindt zich de taakbalk, waar u alle applicaties ziet die op het huidige bureaublad geopend zijn en waartussen u kunt schakelen. Klik met de rechtermuisknop op een toepassing in de taakbalk om deze te openen aanvullende instellingen, zoals de mogelijkheid om een ​​programmavenster te maximaliseren, te sluiten of te verbergen.

XFCE heeft een grafische configuratietool die u kunt openen door op het moersleutelpictogram in de werkbalk te klikken. Met dit programma kunt u configureren verschillende instellingen van het kiezen van een bureaubladachtergrond tot het instellen van sneltoetscombinaties, schermbeveiliging en taakbalkinstellingen. Klik op het pictogram Gebruikersinterface ( Gebruikersinterface) om Themabeheer te openen, waar u het uiterlijk van XFCE kunt aanpassen.

Om XFCE af te sluiten, klikt u op het aan/uit-pictogram op het paneel, of klikt u met de rechtermuisknop op het bureaublad en selecteert u Afsluiten. Om meer te krijgen gedetailleerde informatie over XFCE, bezoek de officiële pagina op http://www.xfce.org.

Fluxbox gebruiken

Verlichting proberen

Andere vensterbeheerders

Er zijn veel andere vensterbeheerders zoals Blackbox, Openbox, WindowMaker, AfterStep en FVWM die u onder Ubuntu kunt installeren. Om een ​​van deze vensterbeheerders te installeren, zoekt u naar de naam ervan met behulp van de pakketbeheerder die u het liefst gebruikt, en installeert u vervolgens het juiste pakket. De meeste grote vensterbeheerders voegen zichzelf toe aan het sessiemenu, zodat u ze eenvoudig kunt selecteren wanneer u inlogt.