De Linux XFree86 HOWTO

Eric Steven Raymond

Thyrsus Enterprises (http://www.tuxedo.org/~esr/)

esr@thyrsus.com

Ellen Bokhorst

bokkie@nl.linux.org

In dit document wordt beschreven hoe versie 4.1.0 van de XFree86 versie van het X Window Systeem (X11R6) voor Linux systemen kan worden verkregen, geïnstalleerd en geconfigureerd. Het is een stapvoor-stap leidraad voor het configureren van XFree86 op je systeem.

Inhoudsopgave

1. Introductie............................................................................................................................................................1 2. Hardwarebenodigdheden ......................................................................................................................................2 3. XFree86 installeren...............................................................................................................................................3 4. XFree86 configureren............................................................................................................................................4 5. XFree86 uitvoeren ................................................................................................................................................4 6. Vertalingen ...........................................................................................................................................................5

1. Introductie

Het X Window Systeem is een omvangrijke en krachtige (sommigen zouden wellicht zeggen een buitensporig groot en overmatig complexe) grafische omgeving voor UNIX systemen. De oorspronkelijke X Window Systeemcode werd ontwikkeld bij MIT; commerciële verkopers hebben X sindsdien tot de industriestandaard voor UNIX platformen verheven. Praktisch elk UNIX werkstation in de wereld draait een of andere variant van het X Window systeem.

Een vrij herdistribueerbare port van het MIT X Window Systeem versie 11, release 6 (X11R6) voor 80386/80486/Pentium UNIX systemem is door een team programmeurs ontwikkeld oorspronkelijk onder leiding van David Wexelblat <dwex@XFree86.org>. Deze uitgave, bekend als XFree86, is beschikbaar voor System V/386, 386BSD, en andere x86 UNIX implementaties, waaronder Linux. Hierin zijn alle benodigde binaire bestanden, supportbestanden, library’s en tools opgenomen.

Volledige informatie over XFree86 is beschikbaar op de website van XFree86 http://www.XFree86.org.

In dit document geven we een stap-voor-stap beschrijving van hoe XFree86 voor Linux kan worden geïnstalleerd en geconfigureerd, maar je zal zelf nog wat details in moeten vullen door de documentatie te lezen die is uitgegeven door XFree86 zelf. (Deze documentatie wordt hieronder besproken.) Het gebruik en de aanpassing van het X Window Systeem valt echter ver buiten de strekking van dit document---voor dit doel zou je aan één van de vele goede boeken over het gebruik van het X Window Systeem moeten zien te komen.

1.1. Andere informatiebronnen

Er zijn verscheidene bronnen met basisinformatie over het systeem, mocht je nog nooit eerder van Linux hebben gehoord. De beste plaats om hiernaar te zoeken is op de homepage van het Linux Documentation Project (http://metalab.unc.edu/LDP). Daar tref je ook de laatste, bijgewerkte versie van dit document aan, als http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html.

1.2. Nieuwe versies van dit document

Nieuwe versies van de Linux XFree86 HOWTO zullen periodiek worden gepost naar comp.os.linux.help (news:comp.os.linux.help) en comp.os.linux.announce (news:comp.os.linux.announce) en news.answers (news:news.answers). Ze zullen ook worden geupload naar diverse Linux WWW en FTP-sites, waaronder de LDP homepage.

De laatste versie hiervan kun je altijd bekijken op het World Wide Web via de URL http://www.linuxdoc.org/HOWTO//XFree86-HOWTO.html.

Dit document werd oorspronkelijk geschreven door Matt Welsh Bedankt, Matt!

1.3. Feedback en correcties

Mail gerust naar Eric S. Raymond via <esr@thyrsus.com>, als je vragen of opmerkingen hebt aangaande dit document. Ik verwelkom alle suggesties en kritiek. Laat het me alsjeblieft weten als je een fout in dit document aantreft, zodat ik het in de volgende versie kan corrigeren. Bedankt.

Mail me alsjeblieft geen vragen over hoe je videokaart en monitor onder X werkend te krijgen. Deze HOWTO is bedoeld als een snelle, moeiteloze leidraad voor een normale installatie met behulp van de nieuwe interactieve configurator. Blader door de XFree86 Video Timings HOWTO (http://www.linuxdoc.org/HOWTO//XFree86-Video-Timings-HOWTO.html) als je problemen ondervindt. (Dit is de up-to-date HTML versie van het XFree86’s ‘Videomodes.doc’ bestand.) Dat document vertelt alles wat ik weet over het oplossen van problemen tijdens de configuratie. Als het je niet kan helpen, kan ik dat ook niet.

2. Hardwarebenodigdheden

Een bijgewerkte lijst met ondersteunde kaarten en typen chipsets is te vinden op de 4.1.0 status pagina (http://www.xfree86.org/4.1.0/Status.html).

De documentatie die bij je video-adapter is opgenomen zou aan moeten geven welke chipset is gebruikt. Als je overweegt een nieuwe videokaart aan te schaffen of een nieuwe computer met een nieuwe videokaart gaat kopen, vraag de verkoper dan wat het model, het merk en de chipset van de videokaart is. Mogelijk is het nodig dat de verkoper de technische ondersteuning namens jou moet bellen; gewoonlijk zijn verkopers hier wel toe bereid. Veel verkopers van PC-hardware zullen aangeven dat de videokaart een "standaard SVGA-kaart" is, die op je systeem zou moeten werken. Leg dan uit, dat de software (waarmee Linux en XFree86! wordt bedoeld), niet alle videochipsets ondersteunt, en dat je gedetailleerde informatie nodig hebt.

Je kunt de chipset van je videokaart ook vaststellen door het opstarten van het programma SuperProbe dat is opgenomen in de XFree86 distributie. Dit wordt hieronder in meer detail behandeld.

Ondersteunde videokaarten werken met alle bustypen, inclusief ISA en VLB en PCI.

Een probleem waarmee ontwikkelaars van XFree86 worden geconfronteerd, is dat een aantal fabrikanten van een aantal videokaarten niet-standaard mechanismen gebruiken voor het vaststellen van de klokfrequenties die worden gebruikt om de kaart aan te sturen. Een aantal van deze fabrikanten geven ook geen specificaties uit, waarin wordt beschreven hoe de kaart kan worden geprogrammeerd, of ze verlangen van ontwikkelaars dat ze tekenen voor het niet verhullen van de verkregen informatie. Dit zou duidelijk de vrije distributie van de XFree86 software beperkingen opleggen, iets waartoe het XFree86 ontwikkelaarsteam niet bereid is. Lange tijd was dit met bepaalde videokaarten die door Diamond werden gefabriceerd een probleem, maar sinds release 3.1 van XFree86, is Diamond samen gaan werken met het ontwikkelaarsteam om vrije drivers voor deze kaarten uit te geven.

De aanbevolen setup voor XFree86 onder Linux is een 486’r of beter met ten minste 8 meg RAM, en een videokaart met een chipset uit bovengenoemde lijst. Voor optimale performance raden we aan gebruik te maken van een accelerated kaart, zoals een kaart met S3-chipset. Je zult de documentatie voor XFree86 er op na moeten slaan of je specifieke kaart wordt ondersteund voordat je de sprong gaat wagen en dure hardware aan gaat schaffen.

Even terzijde, het Linux systeem van Matt Welsh zelf was een 486DX2-66, met 20 megabyte RAM, voorzien van een VLB S3-864 chipset kaart met 2 megabyte DRAM. Hij voerde X-benchmarks op deze machine uit, net als op Sun Sparc IPX werkstations. Het Linux systeem was globaal 7 maal sneller dan de Sparc IPX (voor de nieuwsgierigen, XFree86-3.1 met deze videokaart onder Linux, draait in de buurt van 171,000 xstones; de Sparc IPX in de buurt van 24,000). Gewoonlijk zal XFree86 op een Linux systeem met een accelerated SVGA kaart je een betere performance leveren dan die op commerciële UNIX-werkstations (die gewoonlijk eenvoudige framebuffers voor grafische afbeeldingen gebruiken).

Je hebt op je machine minstens 4 meg fysiek RAM nodig, en 16 meg virtueel RAM (bijvoorbeeld 8 meg fysiek RAM en 8 meg swap). Denk eraan dat hoe meer fysiek RAM je hebt, des te minder het systeem van en naar disk zal swappen wanneer er weinig geheugen over is. Omdat het swappen als zodanig langzaam is (disks zijn erg traag in vergelijking met geheugen), is 8 meg RAM of meer nodig om XFree86 comfortabel te kunnen draaien. 16 is beter. Een systeem met 4 meg fysiek RAM zou wel eens heel veel langzamer (tot wel 10 keer) kunnen draaien dan een systeem met 8 meg of meer.

3. XFree86 installeren

Naar alle waarschijnlijkheid ben je aan XFree86 gekomen als onderdeel van een Linux distributie, in welk geval het apart downloaden van de software niet nodig is. Of wellicht lukt het je aan de RPM binaire packages gebouwd voor je machine te komen, in welk geval je die gewoon met behulp van rpm(1) kunt installeren. In beide gevallen kun je de rest van deze sectie overslaan.

De Linux binaire distributies van XFree86 zijn op een aantal FTP-sites te vinden. Op de XFree86 site is dat hier (ftp://ftp.xfree86.org/pub/XFree86/4.1.0/binaries/). Je gaat naar de Linux-axp-glibc21, Linux-ix86-glibc20, of Linux-ix86-glibc21 subdirectory’s, afhankelijk van je type processor. (axp=alpha, ix86=Intel 80x86) en Gnu C library versie.

Download en start als eerste het shellscript ‘Xinstall.sh’ voor je ook maar iets anders doet. Deze geeft aan wat je nodig hebt of wat je moet doen voordat je met de installatie verder gaat. Complete instructies voor het installeren van de XFree86 binaire distributie zijn te vinden op http://www.xfree86.org/4.1.0/Install2.html.

In de binary directory zouden release notes voor de huidige versie in RELNOTES moeten staan. Raadpleeg die voor details betreffende de installatie.

Het enige dat nodig is voor de installatie van XFree86 is zien dat je aan de hierboven genoemde bestanden komt, dat je een directory met de naam /usr/X11R6 (als root) aanmaakt, en de bestanden vanuit /usr/X11R6 uitpakt met een opdracht als:

gzip -dc Xbin.tgz | tar xfB -

Denk eraan dat deze tar bestanden relatief aan /usr/X11R6 zijn ingepakt, dus het is van belang dat je de bestanden daarin uitpakt.

Je moet ervoor zorgen dat /usr/X11R6/bin in de omgevingsvariabele PATH is opgenomen. Dit kan worden bewerkstelligd door het wijzigen van het standaardsysteembestand /etc/profile of /etc/csh.login (gebaseerd op de shell die jij of andere gebruikers op je systeem gebruiken). Of je kunt eenvoudigweg de directory aan je persoonlijke pad toevoegen door het aanpassen van het bestand .bashrc of .cshrc, gebaseerd op je shell.

Je moet er ook voor zorgen dat /usr/X11R6/lib is te lokaliseren door ld.so, de runtime linker. Hiervoor voeg je de regel:

/usr/X11R6/lib
toe aan het bestand /etc/ld.so.conf, en start je /sbin/ldconfig op, als root.

4. XFree86 configureren

4.1. Normale configuratie

Het juist configureren van XFree86 voor gebruik van je muis, toetsenbord, monitor en videokaart was voorheen iets dat behoorde tot de zwarte magie, omdat je met de hand een complex configuratiebestand aan moest passen. Dit is niet meer zo; recente releases hebben ervoor gezorgd dat het proces vrij eenvoudig werd. Het is aanmerkelijk vereenvoudigd doordat er niet langer aparte servers voor de verschillende soorten kaarten nodig zijn, maar in plaats daarvan slechts modules die door een algemene server worden geladen. Het enige dat je hoeft te doen is het setupprogramma XF86Setup op te starten om het te configureren.

Als je X activeert bij het installeren van een Linux distributie, zal het distributie installatiescript een paar vragen stellen die nodig zijn voor het configureren van X. In andere gevallen hoef je alleen de opdracht XFree86 -configure maar op te geven.

Beide methoden rekenen op het feit dat alle nieuwe PC hardware met monitoren worden geleverd die X kunnen vertellen wat hun mogelijkheden zijn. Wanneer in deze modus aangeroepen, ondervraagt X de hardware en polst het ook op de aanwezigheid van een muis en toetsenbord. Het schrijft dan een configuratiebestand weg welke bij het later uitvoeren van X wordt gebruikt.

Iets om in de gaten te houden is, dat, als je zoals de meeste mensen een gewone pc gebruikt, je toetsenbord een, zoals XF86Setup noemt, ‘Generic 102-key PC (intl) is, in plaats van de standaard ‘Generic 101-key PC’. Als je kiest voor de standaard (101) dan kan het zijn dat het blok geheel rechts op je toetsenbord (numerieke toetsenbord en dergelijke) het straks niet meer doen.

5. XFree86 uitvoeren

Met een geconfigureerd XF86Config bestand, ben je er klaar voor de X-server op te starten en uit te gaan proberen. Zorg er als eerste voor dat /usr/X11R6/bin in je pad voorkomt.

De opdracht om XFree86 op te starten is:

startx

Dit is een front-end naar xinit (voor het geval je onder andere UNIX-systemen gewend was aan het gebruik van xinit).

Deze opdracht zal de X-server opstarten en de opdrachten gevonden in het bestand .xinitrc in je home-directory uitvoeren. .xinitrc is gewoon een shellscript met uit te voeren X-clients. Als dit bestand niet voorkomt, zal de

systeemstandaard /usr/X11R6/lib/X11/xinit/xinitrc worden gebruikt.

Een standaard .xinitrc bestand ziet er ongeveer zo uit:

#!/bin/sh
xterm -fn 7x13bold -geometry 80x32+10+50 &
xterm -fn 9x15bold -geometry 80x34+30-10 &
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &
exec fvwm2

Dit script zal twee xterm clients opstarten, een oclock, en de kleur van het rootvenster (de achtergrond) op midnightblue instellen. Het zal vervolgens fvwm2, de windowmanager opstarten. fvwm2 wordt uitgevoerd met de exec opdracht van de shell; dit zorgt ervoor dat het xinit proces wordt vervangen door fvwm2. Als het fvwm2 proces wordt verlaten, zal de X-server stoppen. Je kunt de uitvoering van fvwm2 beëindigen door gebruik te maken van de root menu’s: druk muisknop 1 in op de desktopachtergrond ---hierdoor zal een popupmenu verschijnen die je de mogelijkheid geeft om uit Fvwm2 (---Exit Fvwm2---) te gaan.

Zorg dat de laatste opdracht .xinitrc wordt gestart met exec, en dat het niet in de achtergrond wordt geplaatst (geen ampersand aan het einde van de regel). Anders zal de X-server worden afgesloten zodra het de clients in het bestand .xinitrc heeft gestart.

Als alternatief kun je uit X gaan door de combinatie ctrl-alt-backspace in te drukken. Hiermee zal de X-server direct worden afgesloten, en het windowsysteem worden verlaten.

Het bovenstaande is een heel erg simpele desktopconfiguratie. Veel prachtige programma’s en configuratie zijn beschikbaar met een beetje werk aan het bestand .xinitrc.

Als de X-Window Systeemomgeving nieuw voor je is, raden we je ten zeerste aan om een boek door te nemen zoals The Joy of X: An Overview of the X Window System van Niall Mansfield (Addison-Wesley 1993, ISBN 0201-565129). Het gebruiken en configureren van X gaat te ver om hier te bespreken. Zie hiervoor om te beginnen de manpages van xterm, oclock, en fvwm2.

6. Vertalingen

• Italiaans (http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html)

• Sloveens (http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-sl.html)

• Kroatisch (http://meta.mioc.hr/XFree86-KAKO.html)

• Nederlands (http://www.nl.linux.org/doc/HOWTO/)

• Hongaars (http://www.ppk.ini.hu/texts/XFree86-HOGYAN/XFree86-HOGYAN.html)