1. december

SSLUG's julekalender 2002

24 windowmanagere

Selvom GNOME og KDE er fremherskende i de fleste Linux-distributioner kan man nemt få sin desktop til at se anderledes ud.
Der kan være gode grunde til at prøve alternativer; den gamle maskine er ikke kraftig nok til GNOME, forandring fryder eller ganske simpelt bare at det er rart at lære lidt om hvordan X fungerer.

Sidst i dag vil der være lidt om hvordan man starter alternative windowmanagere.

IceWM

Installation

Icewm's hjemmeside er http://www.icewm.org/, men man kan også hente IceWM fra http://www.plopcrew.net/vuori/icewm/. Hvis man bruger et RPM-baseret ix86-system kan man nøjes med at hente pakkerne "icewm-common-1.2.0-1.noarch.rpm" og "icewm-default-1.2.0-1.i386.rpm", og installere dem med kommandoen:

su - -c 'rpm --upgrade icewm-common-1.2.0-1.noarch.rpm
icewm-default-1.2.0-1.i386.rpm && echo O.k.'

Alternativt kan man hente kildeteksten, pakke den ud og oversætte den med kommandoen:

./configure && make && su -c 'make install' &&
echo O.k.

Aktivere IceWM

Man kan sætte IceWM til at være den windowmanager man som standard bruger, ved at lade filen ${HOME}/.xsession bestå af følgende to linier:

#! /bin/sh
exec /usr/bin/X11/icewm

Hvis icewm ligger et andet sted end i kataloget /usr/bin/X11 skal den sidste linie rettes til. Med kommandoen:

which icewm

kan man se hvor icewm ligger henne på systemet.

Brug af IceWM

Udseende

[IceWM med startmenuen]

Opsætningsfiler

IceWM læser sin opsætning fra disse filer:

  • ${HOME}/.icewm (brugerens personlige tilpasning)
  • /etc/X11/icewm (fælles tilpasninger for alle brugere på systemet)
  • /usr/lib/X11/icewm (standardindstillingerne)
For at ændre sine indstillinger skal man oprette kataloget ${HOME}/.icewm, og kopiere filerne fra /usr/lib/X11/icewm dertil:
cp /usr/X11R6/lib/X11/icewm/preferences ~/.icewm/preferences
cp /usr/X11R6/lib/X11/icewm/toolbar ~/.icewm/toolbar
cp /usr/X11R6/lib/X11/icewm/winoptions ~/.icewm/winoptions
Derefter kan man rette i filerne. Der er ikke noget grafisk værktøj til formålet.

"Start"-menu

IceWM Startknap

IceWM's "startknap" findes som standard nederst i skærmens venstre hjørne.

Genvejstaster

Skift mellem virtuelle skriveborde:
I standardopsætningen har IceWM fire virtuelle skriveborde (repræsenteret ved de fire nummererede knapper ude mod venstre nederst i ovenstående skærmbillede). Man skifter mellem dem med Ctrl-Alt-Venstrepil og Ctrl-Alt-Højrepil.
Flytte vinduer:
Efter at have trykket Alt-F7 kan man flytte et vindue med piltasterne. Shift- og Ctrl-knapperne betyder at vinduet bliver flyttet i større ryk. Tast Enter når vinduet er kommet derhen hvor det skal.
Ændre vinduesstørrelse:
Med Alt-F8 kan du ændre vinduesstørrelse. (proceduren er i øvrigt som for at flytte vinduer)
Hoppe mellem vinduer:
Med Alt-Tab kan man hoppe mellem vinduerne på et virtuelt skrivebord.

Vindueshåndtering

Flytte et vindue:
Brug genvejstasten Alt-F7 eller træk i vinduets titelbjælke.
Minimere et vindue:
Brug genvejstasten Alt-F9 eller klik på ikonen med en enkelt vandret streg i vinduets titelbjælke.
Maksimere et vindue:
Brug genvejstasten Alt-F10 eller klik på ikonen med et rektangel i vinduets titelbjælke.
Vis et vindue på alle skriveborde:
Brug genvejstasten Alt-F2 til at skifte mellem at et vindue kun vises på et og vises på alle skriveborde.

Fokus

Som standard er vinduesfokus i IceWM sat til ikke bare at følge musen. Det betyder at man skal klikke i et vindue eller bruge en af genvejstasterne Alt-F3, Alt-F6 eller Alt-Tab til at flytte fokus. Man kan sætte IceWM op til at fokus følger musen ved at ændre

 ClickToFocus=1
til
 ClickToFocus=0
i filen ${HOME}/.icewm/preferences.

Dokumentation

Hvis man installerer IceWM som en RPM-pakke vil man kunne finde dokumentationen i /usr/share/doc/icewm-common-1.2.0/icewm.html. Ellers kan man se på http://www.icewm.org/index.php?page=docs.

Hvad er det fede ved IceWM?

IceWM er et letvægtsprogram der ikke brænder ressourcer af på unødvendigt pjat. Samtidig har det som standard stort set alle de funktioner man i dag forventer af et skrivebordssystem. - Og så kan man vælge at køre det med Warp 3-look. ;-)


At starte en alternativ windowmanager

En windowmanager er egentlig bare endnu et program der kan køre under X. Ligesom Netscape, OpenOffice.org eller xload.
Windomanageren er særdeles nyttig idét den tager sig af rammer, knapper og dekorationer samt minimering og maximering af de andre programmer der kører i X. Uden window manageren kunne man ikke flytte rundt på sine vinduer, ændre størrelse på dem etc.
Windowmanageren startes som regel automatisk sammen med X, eller når man logger ind via en display manager (grafisk login program).

Sådan startes X

Det der starter X er som regel en binær fil ved navn xinit. Æfhængig af hvordan xinit kaldes læses der forskellige konfigurationsfiler og scripts. Det kan være foruddefinerede filer der gælder for alle brugere eller det kan være brugerens egne scripts. ${HOME}/.xinitrc eller ${HOME}.xsession er de "officielle" navne til disse scripts. I dem definerer brugeren hvilke programmer der skal udføres når X starter, herunder hvilken windowmanager der ønskes.

.xsession bruges ved login gennem GDM eller KDM. .xinitrc bruges når X startes med kommandoen startx fra kommandolinien.
De to filer har samme syntax.
Eksempel:

  #!/bin/sh
  xterm &
  xclock -geometry 60x60 &
  exec /usr/X11R6/bin/icewm
  
Ovenstående script vil starte en xterm, en xclock samt windowmanageren icewm.
Husk at .xsession skal have execute-rettigheder: chmod +x .xsession.
For at få samme omgivelser både når der logges ind via GDM/KDM eller når startx bruges kan man lade .xinitrc være et symbolsk link til .xsession: ln -s .xsession .xinitrc. På denne måde vil det kun være nødvendigt at holde den ene fil vedlige.

Display managers

GDM - GNOME Display Manager eller KDM - KDE Display Manager er efterhånden de mest anvendte programmer til at styre grafisk login.

På de forskellige Linux-distributioner er GDM og KDM konfigureret forskelligt, men fælles for dem er at de kan bruge .xsession til starte programmer og en windowmanager defineret af brugeren.

GDM
GNOME Display Manager

Valg af windowmanager med GDM og KDM

For at starte en anden windowmanager end de der ellerede er konfigureret kan brugeren oprette filen .xsession i sit hjemmekatalog. En meget enkel .xsession kunne nøjes med at indeholde selve den eksekverbare windowmanagerfil:

  #!/bin/sh

  exec /usr/X11R6/bin/icewm

For at få GDM til at læse ~BRUGER/.xsession skal Default (under Debian 3.0 skal man vælge Xsession) vælges fra Session-menuen.

Choose GDM Session
Valg af session med GDM

Tilsvarende skal der fra KDM vælges default i menu-punktet "Session Type".

Nu læses ~BRUGER/.xsession og man kan begynde at eksperimentere med at indsætte sine favorit programmer i .xsession. Fx:

#!/bin/sh

/usr/X11R6/bin/xload &
exec /usr/X11R6/bin/icewm