[FAQ Index] [Naar Sectie 10 - Systeembeheer] [Naar Sectie 12 - Hardware- en Platform-Specifieke Vragen]
X wordt beschouwd als een "client-server" gesstrucuteerd protocol, maar de terminologie is soms verwarrend. De computer met de grafische elementen op het scherm is de "X Server". De applicatie die bepaalt wat de X server op het scherm moet zetten is de "X Client", ook al kan deze een veel krachtiger computer in een datacenter zijn. Dit model kan worden gebruikt om grote, processor-intensieve applicaties (X clients) te draaien op een zeer krachtige machine, met als X server een kleine, weinig energie verbruikende machine op uw bureau als interface naar de gebruiker.
Het is mogelijk om X clients te draaien op systemen zonder enige grafische ondersteuning. Bij voorbeeld, men kan een applicatie (de X client) draaien op een mvme88k met uitvoer op het grafische scherm van een alpha (de X server). Omdat X een goed-gedefinieerd, cross-platform protocol is, is het zelfs mogelijk om een X applicatie op (bijvoorbeeld) een Solaris machine, een OpenBSD machine te laten gebruiken als beeldscherm.
De client en machine kunnen ook draaien op dezelfde machine en voor de rest van deze sectie wordt daar ook vanuit gegaan.
Dat gezegd hebbende, is het doel van X normaliter om X applicaties te draaien. Sommige X applicaties zijn erg slank, andere lijken de complete processer en al het geheugen te gebruiken dat je ze maar kunt geven. Natuurlijk zijn er gebruikers die alleen maar X draaien om een groot aantal xterm(1)s te kunnen gebruiken, wat met zeer bescheiden hardware mogelijk is.
De details van de handmatige configuratie van X variëren behoorlijk van platform tot platform. Er staan in ieder geval instructies en andere platform-specifieke informatie in /usr/X11R6/README op het geïnstalleerde systeem.
Verschillende platformen hebben het xf86(4) X aperture stuurprogramma nodig, dat toegang geeft tot het geheugen en de I/O poorten van de VGA-kaart en de PCI-configuratieregisters die nodig zijn voor de X servers. Dit stuurprogramma moet ingeschakeld worden voordat het wordt gebruikt, ofwel door "yes" te antwoorden op de volgende vraag tijdens de installatie:
ofwel door de waarde van machdep.allowaperture in /etc/sysctl.conf te wijzigen in de waarde die voor uw platform van toepassing is en de machine te herstarten (deze sysctl kan na het volledig opstarten niet meer gewijzigd worden om veiligheidsredenen). Dit heeft consequenties voor de veiligheid, dus doe dit niet als het niet nodig is.Do you expect to run the X window System [no]
Zet machdep.allowaperture=1 in /etc/sysctl.conf.
De TGA and sommige VGA kaarten worden ondersteund. Er zou geen aanvullende configuratie nodig moeten zijn.
Zet machdep.allowaperture=2 in /etc/sysctl.conf.
Voor verreweg de meeste gebruikers configureert X zichzelf met succes, dus aanvullende configuratie is niet nodig. INDIEN aanvullende configuratie nodig is, gebruik dan het X -configure proces hieronder.
Zet machdep.allowaperture=2 in /etc/sysctl.conf.
Voor verreweg de meeste gebruikers configureert X zichzelf met succes, dus aanvullende configuratie is niet nodig. INDIEN aanvullende configuratie nodig is, gebruik dan het X -configure proces hieronder.
Zet machdep.allowaperture=2 in /etc/sysctl.conf.
De ondersteunde PPC systemen kunnen draaien op twee verschillende manieren: "geaccellereerd" en "framebuffer" (niet geaccellereerd).
In de "framebuffer" modus zal het systeem draaien met 8 bits per pixel en wordt de videoresolutie bepaald door de Macintosh-omgeving, dus zult u een klein MacOS gedeelte op uw harde schijf willen behouden om deze instellingen te kunnen wijzigen. Deze modus heeft als voordeel dat "het gewoon werkt", maar het kan frustrerend inflexibel zijn (het kan bijvoorbeeld nodig zijn om MacOS op te starten om de resolutie te veranderen).
Indien uw Macintosh een ATI-gebaseerde videokaart heeft, kan het draaien met een geaccellereerde X server, wat betere prestaties geeft en meer controle vanuit de OpenBSD omgeving. De NVIDIA videokaarten in sommige macppc-systemen zullen in veel gevallen ook werken. Het README bestand bevat details over het configureren van het geaccellereerde stuurpgroramma, begin met het voorbeeld bestand daarin.
Alhoewel het README bestand details geeft om de standaard één-knops-muis te gebruiken met X, heeft het de sterke voorkeur om een moderne USB-muis met drie of meer knoppen te kopen van een derde partij, tenzij u een laptop gebruikt.
HorizSync 60.0 - 60.0
VertRefresh 43.0 - 117.0
U wilt misschien de ondergrens van VertRefresh beperken tot
waarden die u waarschijnlijk acceptabel vindt, bijvoorbeeld 70.
Met een enkele ondersteunde framebuffer is er geen configuratie nodig. Indien u een configuratie met meerdere beeldschermen wilt gebruiken, raadpleeg dan het README bestand voor details.
De resolutie wordt bepaald door de firmware voor het starten van OpenBSD.
De meeste eenvoudige configuraties "Werken Nu Gewoon". Als die van u niet werkt of als u iets bijzonders wilt, kijk dan in het hierboven genoemde README bestand.
Momenteel werkt de X server alleen op VAXstation 4000 modellen met een lcg(4) of een lcspx(4) framebuffer.
Geen configuratie nodig, X "werkt gewoon".
Als X niet werkt zoals u wenst met uw systeem, dan zult u een configuratiebestand moeten maken. Een goede plek om te starten (en soms een goede plek om te eindigen!) is om Xorg(1) te draaien in de "X -configure" modus. Dit laadt alle beschikbare video-stuurprogramma's, zoekt naar andere hardware en schrijft een xorg.conf bestand, gebaseerd op wat er wordt gevonden. Dit bestand kan wel of niet werken, maar al werkt het niet dan kan het een nuttig startpunt zijn om er een vanaf nul te creëren.
Er is nog een manier die zichzelf in de loop der tijd heeft bewezen: speur met je favoriete zoekmachine naar iemand die hetzelfde probleem al een keer heeft opgelost. Merk op dat xorg.conf bestanden voor andere Unix-achtige OS-en vaak zeer bruikbare tips opleveren voor wat u nodig heeft om X aan de praat te krijgen op uw vergelijkbare hardware. Ook al is dat geen slechte manier, we besteden er hier geen verdere aandacht aan.
Dit is kaart die ooit high-end was, met 16M RAM, maar die nu meestal niet meer ondersteund wordt op moderne versie van de gebruikelijke besturingssystemen. De monitor die met dit systeem is verbonden is een Sony Multiscan G400 19" beeldscherm en het zou prettig zijn om dit scherm te gebruiken met een resolutie van 1280x1024 bij een fatsoenlijke verversingsfrequentie en 24 bit kleur.vga1 at pci1 dev 0 function 0 "3DFX Interactive Banshee" rev 0x03
Laten we om te beginnen, na het installeren van OpenBSD met X (en ervoor te zorgen dat het aperture stuurprogramma is ingeschakeld in de kernel), eens kijken wat de autodetectie en configuratie van X.Org doen. We kunnen tenslotte geluk hebben. Dus loggen we simpelweg in en gebruiken het commando startx(1). Het scherm wordt enkele tellen zwart, daarna krijgen we de geblokte achtergrond van X, de "X" cursor en vervolgens een xterm venster.
Het werkt!
Min of meer. Hoewel het systeem volledig functioneert, lijkt het erop dat het niet de mogelijkheden van de monitor heeft gevonden en draait het duidelijk op een lage resolutie (640x480). Dat zou toch beter moeten kunnen. Veel beter. Dat betekent echter wel dat we ons eigen xorg.conf bestand moeten maken.
We gebruiken het "X -configure" proces om een xorg.conf bestand aan te maken om mee te starten. U zult dit moeten doen als root:
Overigens is deze melding serieus -- gebruik het volledige pad naar uw xorg.conf.new bestand, ook al staat het in de huidige directory. Als u dat niet doet, zal X(7) het bestand niet vinden en zal het stilletjes de standaardconfiguratie gebruiken en als dat had gewerkt zou u dit proces niet gebruiken! Dit kan het foutzoeken behoorlijk verstoren. Vertrouw ons hierin.# X -configure [...] Your xorg.conf file is /root/xorg.conf.new To test the server, run 'X -config /root/xorg.conf.new'
Laten we doen wat er staat en kijken wat er gebeurt:
Nu krijgen we alleen een zwart scherm. En het begon nog wel zo goed...# X -config /root/xorg.conf.new
Dit is een goed moment om iets te vertellen over de manieren om X af te sluiten als het op deze manier gestart is. In volgorde van voorkeur:
Op dit moment komt het van pas dat u uw hardware kent. Als we een andere monitor op dit systeem aansluiten terwijl het zwarte beeld zichtbaar is, dan zien we een "Sync. Out of Range" melding op het scherm. Blijkbaar draait de configuratie die X ons gaf niet op deze monitor en mogelijk op GEEN ENKELE monitor, als er een videomode geselecteerd is die niet mogelijk is op dit type kaart (denk eraan dat X naar de chip op de kaart kijkt en wat deze zou moeten kunnen, niet hoe de fabrikant het samengevoegd heeft). Verschillende monitoren gedragen zich verschillend als de timing compleet verkeerd is, sommigen doen een poging om te laten zien wat ze kunnen, andere gaan in een energiebesparingsstand, enkele maken verschrikkelijke geluiden en sommigen laten nuttige meldingen op het scherm zien. Deze monitor blijkt geen van allen te doen. Er is een notitie gemaakt om deze monitor NIET meer te gebruiken voor de initiële configuratie van X.
Kijkend naar het gegenereerde xorg.conf.new bestand, dan zien we het volgende:
Section "Monitor"
#DisplaySize 370 270 # mm
Identifier "Monitor0"
VendorName "SNY"
ModelName "SONY CPD-G400"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 30.0 - 107.0
VertRefresh 48.0 - 120.0
Option "DPMS"
EndSection
Laten we proberen om DDC ("Data Display Channel", een manier om de monitor
aan de computer en videokaart te vertellen wat zijn mogelijkheden zijn) te
gebruiken als test en kijken wat er gebeurt.
Deze keer zien we het X maaspatroon en een bewegende cursur, wat alles is
wat we verwachten als we X op deze manier starten (we beëindigen X met de
CTRL-ALT-Backspace truuk van hierboven).
Het is (alweer) een erg lage resolutie, maar het werkt en dus kunnen we
er vrij zeker van zijn dat we een timing en resolutieprobleem hebben.
We zetten de "HorizSync" en "VertRefresh" regels terug zoals ze waren,
aangezien we de specificaties van de monitor hebben geverifieerd met
behulp van enig zoekwerk op Internet.
Laten we proberen om Xorg te dwingen een bepaalde resolutie te gebruiken en zien of we geluk hebben. In het Section "Screen" gedeelte van het xorg.conf bestand willen we een aantal regels toevoegen. De toegevoegde regels zijn vetgedrukt:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Deze twee wijzigingen vertellen X dat we een 24 bit schermdiepte willen
gebruiken en voor 24 bit diepte willen we een resolutie van 1280x1024.
Aangezien er geen andere resolutie is gegeven voor "Depth 24" wordt het
systeem gedwongen om die resolutie te gebruiken.
We testen het als hierven, en ... SUCCES! We hebben op het oog een heel mooi, hoge resolutie beeldscherm. Merk op dat ALLES wat we verwachten een maaspatroon is (zeer goed om te zien hoe goed een monitor ECHT is en ook geweldig om LCD-schermen te calibreren, genaamd het "root weave") en een beweegbare cursor. Het is niet bedoeld om functioneel te zijn op dit moment.
Nu willen we het xorg.conf bestand installeren zodat we kunnen zien of X ook op de gebruikelijke manier goed draait.
We kunnen nu X proberen met het normale startx(1) commando. Het werkt!# cp xorg.conf.new /etc/X11/xorg.conf
Het zou waarschijnlijk goed zijn om te verifiëren of we de resolutie en kleurdiepte hebben die we wensen en ook dat we draaien met een aanvaardbare verversingsfrequentie. Dat kunnen we doen met de xrandr(1) en xdpyinfo(1) commando's. xdpyinfo(1) vertelt ons onder andere:
[...]
screen #0:
print screen: no
dimensions: 1280x1024 pixels (433x347 millimeters)
resolution: 75x75 dots per inch
depths (7): 24, 1, 4, 8, 15, 16, 32
root window id: 0x44
depth of root window: 24 planes
[...]
Dus ja, we draaien op 1280x1024 met een diepte van 24 planes (bits).
xrandr(4) vertelt ons:
SZ: Pixels Physical Refresh
*0 1280 x 1024 ( 433mm x 347mm ) *85 75 60
1 1280 x 960 ( 433mm x 347mm ) 85 60
[...]
dat ons vertelt dat we draaien met een verversingsfrequentie van 85 Hz, dus
dat zou een zeer comfortabele instellingen moten zijn voor de meeste
gebruikers.
Op sommige platformen moet u de console getty(8) uitschakelen om xdm(1) te kunnen gebruiken.
De standaard window manager in OpenBSD is fvwm(1). Fvwm is een goede window manager voor algemeen gebruik, maar het is zelden uw enige keus; het is niet eens de enige window manager die met OpenBSD wordt meegeleverd (zie cwm(1) en twm(1)). Een groot aantal window managers is ook beschikbaar als package.
Net als het system startup script, heeft X een proces dat wordt doorlopen om de gebruikersomgeving in te stellen. Beter gezegd, het heeft meer dan een proces; welk proces wordt gebruikt hangt af van hoe u X start. Het begrijpen van de wijze waarop X start helpt om te begrijpen hoe u uw werkomgeving kunt aanpassen aan uw eigen wensen.
Merk op dat u de omgeving kunt aanpassen zowel op een systeembreed als op een gebruikersniveau. Het is waarschijnlijk beter om op gebruikersniveau veranderingen door te voeren dan om de systeeminstallingen te wijzigen, aangezien de scripts van de gebruiker in zijn eigen homedirectory worden opgeslagen, dus u heeft minder bestanden samen te voegen als naar een nieuwe versie van OpenBSD upgradet. De systeembrede instellingen staan in /etc/X11 en zijn oorspronkelijk afkomstig van xetcXX.tgz, die niet wordt overschreven bij het aanbevolen upgrade proces, dus als u systeembrede instellingen wijzigt blijven ze behouden, maar u moet deze wellicht samenvoegen met latere versie van bestanden.
In het simpelste geval kan dit zo kort zijn als slechts de naam van de window manager die u wilt gebruiken:
U kunt het ook wat sjieker maken:cwm
Dit start de xconsole(1) die een kopie laat zien van alle tekst die de kernel naar de console stuurt (die nu bedekt is door het grafische scherm), een analoge klok oclock(1), en zet de achtergrond op een volledige grijze achtergrond met xsetroot(1) allemaal voor het aanroepen van de cwm(1) window manager. Merk op dat slechts de window manager niet in de achtergrond is gestart met een "&" karakter. Dit betekent dat X blijft draaien totdat cwm(1) afsluit.xconsole -geometry -0+0 -fn 5x7 & oclock -geometry 75x75-0-0 & xsetroot -solid grey & cwm
Indien de homedirectory van een gebruiker geen .xinitrc bestand heeft, wordt het /etc/X11/xinit/xinitrc bestand van het systeem gebruikt. Dit bestand kan u enkele aanvullende ideeën voor uw .xinitrc script geven.
xdm(1) heeft veel andere functionaliteiten die we hier niet aanstippen, maar voor ons doel presenteert xdm de gebruiker een loginscherm, ontvangt en controleert een gebruikersnaam en wachtwoord en geeft de gebruiker vervolgens zijn X omgeving. Als X afsluit, bewust of per ongeluk, zal xdm het opnieuw starten. Dit is de reden dat u zeker wilt zijn dat X goed is geconfigureerd voordat xdm(1) wordt gestart, en zeker voordat xdm(1) bij het booten wordt gestart, anders kan het lastig zijn om de machine onder controle te krijgen.
Als xdm(1) start, wordt /etc/X11/xdm/Xsession gestart, wat controleert of de gebruiker een .xsession bestand in zijn homedirectory heeft. Dus als u uw standaard window manager wilt wijzigen, roep hem dan simpelweg aan in .xsession (en wellicht ook andere dingen). Alle programma's die u met X wilt starten (bijvoorbeeld drie xterm(1)s) kunt u hier plaatsen, maar ze moeten allemaal in de achtergrond worden gestart op de window manager na, omdat, ook hier, X afsluit wanneer de window manager afsluit. In dit geval zal xdm(1) X herstarten en u terugvoeren naar het loginscherm.
Verschillende window managers (waaronder cwm(1) and fvwm(1)) bieden de mogelijkheid om on the fly van window manager te wisselen, zonder X of een van uw applicaties opnieuw te hoeven starten. Uw nieuwe window manager vervangt de oude en het afsluiten van de nieuwe window manager sluit ook X af, het leidt u niet naar uw vorige window manager. fvwm(1) laat u een andere window manager starten door met links te klikken op de achtergrond ("root venster"), "(Re)Start" te kiezen en dan de window manager van uw keuze te kiezen (merk echter op dat u uw alternatieve window managers moet toevoegen aan uw .fvwmrc bestand (de systeembrede standaard is /usr/X11R6/lib/X11/fvwm/.fvwmrc)). cwm(1) laat u een andere window manager kiezen door op Ctrl-Alt-w te drukken en door de naam van de window manager te typen waarnaar u wilt omschakelen.$ startx /usr/local/bin/fluxbox
Als u eenmaal een window manager heeft gevonden die u bevalt, dan kunt u deze als het laatste programma in uw startup scripts zetten zoals hierboven beschreven.
[FAQ Index] [Naar Sectie 10 - Systeembeheer] [Naar Sectie 12 - Hardware- en Platform-Specifieke Vragen]