Linux - Friheden til at vælge grafisk brugergrænseflade: Version 1.2.20050118 - 2020-12-31 | ||
---|---|---|
forrige | næste |
Det der starter X er som regel en binær fil ved navn xinit. Afhængig af hvordan xinit kaldes læses der forskellige opsætningsfiler 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.
Programmet .xsession bruges ved login gennem XDM, GDM eller KDM. .xinitrc bruges når X startes med kommandoen startx fra kommandolinjen.
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 vedligeholde den ene fil.
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 sat forskelligt op, men fælles for dem er at de kan bruge .xsession til starte programmer og en windowmanager efter brugerens valg.
For at starte en anden windowmanager end de der allerede er sat op kan brugeren oprette filen ~/.xsession i sit hjemmekatalog. En meget enkel .xsession kunne nøjes med at kalde selve windowmanager-programmet:
#!/bin/sh exec /usr/X11R6/bin/icewm
For at få GDM til at læse ~/.xsession skal Default (under Debian 3.0 skal man vælge Xsession) vælges fra Session-menuen.
Tilsvarende skal der fra KDM vælges default i menu-punktet "Session Type".
Nu læses ~/.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