diff --git a/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml index d0ef95c8f4..3ef25f3532 100644 --- a/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/linuxemu/chapter.sgml @@ -1,4040 +1,4047 @@ Jim Mock Geherstructureerd en delen bijgewerkt door Brian N. Handy Origineel bijgedragen door Rich Murphey René Ladan Vertaald door &linux; binaire compatibiliteit Overzicht &os; levert binaire compatibiliteit met verscheidene andere &unix; achtige besturingssystemen, waaronder &linux;. Op dit moment kan de vraag gesteld worden waarom &os; nu precies &linux;-binairen moet kunnen draaien. Het antwoord is dat veel bedrijven en ontwikkelaars alleen ontwikkelen voor &linux;, omdat dat het nieuwste hebbeding is in de wereld van computers. Dat laat &os; gebruikers al zeurend achter bij diezelfde bedrijven en ontwikkelaars om originele &os; versies van hun applicaties. Het probleem is dat veel van deze bedrijven zich niet goed realiseren hoeveel mensen hun product zouden gebruiken als er ook &os; versies van waren en de meesten blijven alleen voor &linux; ontwikkelen. Dus wat moet een &os; gebruiker doen? Hier komt de &linux; binaire compatibiliteit van &os; om de hoek kijken. In een notendop stelt de compatibiliteit &os; in staat om rond de 90% van alle &linux; applicaties zonder wijzigingen te draaien. Dit omvat applicaties zoals &staroffice;, de &linux; versie van &netscape;, &adobe; &acrobat;, &realplayer;, VMWare, &oracle;, &wordperfect;, Doom, Quake en meer. Er wordt zelfs gemeld dat in sommige gevallen &linux;-binairen beter presteren op &os; dan op &linux;. Er zijn echter enkele &linux;-specifieke besturingssysteemeigenschappen die niet door &os; ondersteund worden. &linux;-binairen werken niet op &os; als ze overvloedig gebruik maken van &i386; specifieke aanroepen, zoals het aanzetten van de virtuele 8086 modus. Na het lezen van dit hoofdstuk weet de lezer: Hoe &linux; binaire compatibiliteit op een systeem aan te zetten; Hoe aanvullende &linux; gedeelde bibliotheken te installeren; Hoe &linux; applicaties op een &os; systeem te installeren; De implementatiedetails van &linux; compatibiliteit in &os;. Aangeraden voorkennis: Hoe extra software van derden te installeren (). Installatie KLD (kernel loadable object) &linux; binaire compatibiliteit staat standaard niet aan. De gemakkelijkste manier om deze functionaliteit aan te zetten is door het linux KLD object (Kernel LoaDable object) te laden. Deze module kan geladen worden door het volgende commando als root uit te voeren: &prompt.root; kldload linux Als &linux; compatibiliteit altijd aan moet staan, dan moet de volgende regel aan /etc/rc.conf toegevoegd worden: linux_enable="YES" Met &man.kldstat.8; kan gecontroleerd worden of de KLD geladen is: &prompt.user; kldstat Id Refs Address Size Name 1 2 0xc0100000 16bd8 kernel 7 1 0xc24db000 d000 linux.ko kernelopties COMPAT_LINUX Als het om enige reden ongewenst of onmogelijk is de KLD te laden, dan kan de &linux; binaire compatibiliteit statisch in de kernel gecompileerd worden door options COMPAT_LINUX aan het kernelinstellingenbestand toe te voegen. Daarna kan de nieuwe kernel zoals beschreven in geïnstalleerd worden. &linux; runtime bibliotheken installeren &linux; &linux; bibliotheken installeren Dit kan op twee manieren gedaan worden: door de linux_base port te gebruiken of door ze handmatig te installeren. Installeren uit de linux_base port Portscollectie Dit is verreweg de gemakkelijkste weg om te bewandelen om de runtime bibliotheken te installeren. Het is net als het installeren van andere ports uit de Portscollectie. Dit kan met het volgende commando: - &prompt.root; cd /usr/ports/emulators/linux_base-fc4 + &prompt.root; cd /usr/ports/emulators/linux_base-f10 &prompt.root; make install distclean + + Op &os;-systemen vóór &os; 8.0 dient u de + port emulators/linux_base-fc4 in + plaats van emulators/linux_base-f10 te + gebruiken. + + Nu is er werkende &linux; binaire compatibiliteit. Sommige programma's kunnen klagen over onjuiste kleine versies van de systeembibliotheken. Over het algemeen schijnt dit echter geen probleem te zijn. Er kunnen verschillende versies van de emulators/linux_base port beschikbaar zijn, overeenkomend met verschillende versies van verscheidene &linux; distributies. Het is verstandig de port te installeren die het meest voldoet aan de eisen van de &linux; applicaties die geïnstalleerd gaan worden. Bibliotheken handmatig installeren Als de Portscollectie niet is geïnstalleerd, kunnen de bibliotheken met de hand geïnstalleerd worden. Om alles te laten werken moeten de &linux; gedeelde bibliotheken waarvan het programma afhankelijk is en de runtime linker geïnstalleerd worden. Ook moet een shadow root map aangemaakt worden, /compat/linux, voor &linux; bibliotheken op een &os; systeem. Elke gedeelde bibliotheek die wordt geopend door &linux; programma's die op &os; draaien, kijken eerst in deze boomstructuur. Dus als een &linux; programma bijvoorbeeld /lib/libc.so laadt, probeert &os; eerst /compat/linux/lib/libc.so te openen, en als die niet bestaat, probeert het /lib/libc.so proberen. Gedeelde bibliotheken moeten in de schaduwmapstructuur geïnstalleerd worden in plaats van in de paden die het &linux; ld.so rapporteert. In het algemeen geldt dat alleen de eerste paar keer dat een &linux; binary wordt geïnstalleerd op een &os; systeem naar de gedeelde bibliotheken gezocht wordt waar &linux;-binairen van afhankelijk zijn. Na een tijd is de verzameling van &linux; gedeelde bibliotheken op een systeem voldoende groot om nieuw geïmporteerde &linux;-binairen te kunnen draaien zonder enig extra werk. Extra gedeelde bibliotheken installeren gedeelde bibliotheken Wat als de linux_base port is geïnstalleerd en een applicatie nog steeds klaagt over ontbrekende gedeelde bibliotheken? Op zich zijn er twee mogelijkheden (voor het opvolgen van deze instructies zijn root rechten op een &os; systeem vereist). Als er toegang is tot een &linux; systeem kan gekeken worden welke gedeelde bibliotheken de applicatie nodig heeft en kunnen ze gekopieerd worden naar het &os systeem. Dit wordt toegelicht in het volgende voorbeeld: Stel dat FTP gebruikt is om de &linux; binary van Doom op te halen en die op een &linux; systeem staat waar toegang tot is. Dan kan met ldd linuxdoom gecontroleerd worden welke gedeelde bibliotheken er nodig zijn: &prompt.user; ldd linuxdoom libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 symbolische links Alle bestanden uit de laatste kolom zijn nodig en moeten onder /compat/linux komen te staat en de namen uit de eerste kolom moeten er als symbolische links naar verwijzen. Dit betekent dat uiteindelijk deze bestanden op een &os; systeem staan: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Als er al een &linux; gedeelde bibliotheek met een groot revisienummer overeenstemmend met de eerste kolom van de ldd uitvoer is, dan hoeft het bestand uit de laatste kolom niet naar een systeem gekopieerd te worden. Het bestand dat er al staat moet werken. Het is aan te raden om de gedeelde bibliotheek sowieso te kopiëren als het een nieuwere versie is. De oude kan verwijderd worden, zolang de symbolische link maar naar de nieuwe wijst. Dus als deze bibliotheken op een systeem staan: /compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27 en een nieuwe binary zegt een latere versie nodig te hebben volgens de uitvoer van ldd: libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29 Als slechts één of twee versies verouderd zijn in het laatste cijfer, dan hoeft /lib/libc.so.4.6.29 niet gekopieerd te worden, omdat het programma goed moet werken met de ietwat oudere versie. Als er echter behoefte aan is, kan besloten worden om libc.so sowieso te verplaatsen, en dat resulteert in: /compat/linux/lib/libc.so.4.6.29 /compat/linux/libc.so.4 -> lbic.so.4.6.29
Het symbolische linkmechanisme is alleen nodig voor &linux;-binairen. De &os; runtime linker zorgt zelf voor het kijken naar passende grote revisienummers en daar hoeft geen zorg over te bestaan.
&linux; ELF-binairen installeren &linux; ELF-binairen ELF-binairen hebben soms een extra stap van branding nodig. Als er ongemerkte ELF-binairen worden gedraaid, ontstaat er een foutmelding zoals de volgende: &prompt.user; ./mijn-linux-elf-binary ELF binary type not known Abort Om de &os; kernel te helpen &os; ELF-binairen en &linux; binairen uit elkaar te houden, kan &man.brandelf.1; gebruikt worden. &prompt.user; brandelf -t Linux mijn-linux-elf-binary GNU gereedschapskist De GNU gereedschapskist plaatst nu automatisch de juiste merkinformatie in ELF-binairen , dus deze stap zou steeds overbodiger moeten worden in de toekomst. De hostnaamresolver instellen resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword Als DNS niet werkt of de bovenstaande melding ontstaat, dan moet /compat/linux/etc/host.conf ingesteld worden met daarin: order hosts, bind multi on De volgorde geeft aan dat /etc/hosts als eerste doorzocht wordt en DNS als tweede. Als /compat/linux/etc/host.conf niet geïnstalleerd is, vinden &linux; applicaties /etc/host.conf van &os; en klagen ze over de incompatibele &os; syntaxis. bind moet verwijderd worden als er geen naamserver is ingesteld die gebruik maakt van /etc/resolv.conf.
Boris Hollas Bijgewerkt voor Mathematica 5.X door &mathematica; installeren applicaties &mathematica; Dit document beschrijft het installatieproces van de &linux; versie van &mathematica; 5.X op een &os; systeem. De &linux; versie van &mathematica; of &mathematica; for Students kan direct bij Wolfram besteld worden op . De &mathematica; Installer draaien Ten eerste dient &os; te weten dat de Linux-binairen van &mathematica; de Linux ABI gebruiken. De gemakkelijkste manier om dit te doen is om het standaard ELF-merk op Linux te zetten voor alle ongemerkte binairen met het commando: &prompt.root; sysctl kern.fallback_elf_brand=3 Dit laat &os; aannemen dat alle ongemerkte ELF-binairen de Linux ABI gebruiken en dus zou de installer rechtstreeks van de CD-ROM moeten kunnen draaien. Kopieer nu het bestand MathInstaller naar de harde schijf: &prompt.root; mount /cdrom &prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/ Vervang binnen dit bestand /bin/sh op de eerste regel door /compat/linux/bin/sh. Dit zorgt ervoor dat de installer door de Linux-versie van &man.sh.1; wordt uitgevoerd. Vervang vervolgens met een tekstverwerker of het onderstaande script in de volgende sectie alle voorkomens van Linux) door FreeBSD). Dit zorgt ervoor dat de &mathematica; installer, dat uname -s gebruikt om het besturingssysteem te bepalen, om &os; als een Linux-achtig besturingssysteem te behandelen. Het aanroepen van MathInstaller zal nu &mathematica; installeren. De &mathematica;-executables wijzigen De shellscripts die &mathematica; aanmaakte tijdens de installatie moeten gewijzigd worden voordat u ze kunt gebruiken. Als u /usr/local/bin kiest als de map om &mathematica;-executables in te plaatsen, zult u in deze map symbolische links naar bestanden genaamd math, mathematica, Mathematica, en MathKernel aantreffen. Vervang met een tekstverwerker of het volgende shellscript in elk van deze Linux) door FreeBSD: #!/bin/sh cd /usr/local/bin for i in math mathematica Mathematica MathKernel do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i rm $i.tmp chmod a+x $i done &mathematica; wachtwoord opvragen Ethernet MAC-adres Wanneer u &mathematica; voor de eerste keer start, zal u om een wachtwoord gevraagd worden. Als u nog geen wachtwoord van Wolfram heeft verkregen, draait u het programma mathinfo in de installatiemap om uw machine-ID te verkrijgen. Dit machine-ID is alleen op het MAC-adres van uw eerste Ethernetkaart gebaseerd, zodat u uw kopie van &mathematica niet op andere machines kunt draaien. Bij een registratie bij Wolfram, per email, telefoon of fax, wordt het machine ID opgegeven en zij reageren met een overeenkomstig wachtwoord dat uit groepen getallen bestaat. Het &mathematica; frontend over een netwerk draaien &mathematica; gebruikt enkele speciale lettertypen om tekens af te beelden die niet aanwezig zijn in een standaard lettertypeverzameling (integralen, sommen, Griekse letters, enzovoort). Het X-protocol vereist dat deze lettertypen lokaal worden geïnstalleerd. Dit betekent dat deze lettertypen gekopieerd moeten worden vanaf de CD-ROM of vanaf een host met &mathematica; erop naar de lokale machine. Deze lettertypen worden meestal opgeslagen in /cdrom/Unix/Files/SystemFiles/Fonts op de CD-ROM of in /usr/local/mathematica/SystemFiles/Fonts op de harde schijf. De eigenlijke lettertypen staan in de submap Type1 en X. Er zijn verschillende manieren om ze te installeren, zoals hieronder staat beschreven. De eerste manier is om ze te kopiëren in één van de bestaande lettertypenmappen in /usr/X11R6/lib/X11/fonts. Hiertoe dient fonts.dir bewerkt te worden door de namen van de lettertypen eraan toe te voegen het aantal lettertypen op de eerste regel te veranderen. Als alternatief kan ook eenvoudig &man.mkfontdir.1; in de map gedraaid worden waar de lettertypen heen zijn gekopieerd. De tweede manier om dit te doen is door de mappen naar /usr/X11R6/lib/X11/fonts te kopiëren: &prompt.root; cd /usr/X11R6/lib/X11/fonts &prompt.root; mkdir X &prompt.root; mkdir MathType1 &prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts &prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X &prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; cd /usr/X11R6/lib/X11/fonts/X &prompt.root; mkfontdir &prompt.root; cd ../MathType1 &prompt.root; mkfontdir Voeg nu de nieuwe lettertypenmappen toe aan het lettertypenpad: &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; xset fp rehash Als de &xorg; server gebruikt wordt, kunnen deze lettertypenmappen automatisch geladen worden door ze aan xorg.conf toe te voegen. Voor &xfree86; servers is het instellingenbestand XF86Config. lettertypen Als er nog geen map /usr/X11R6/lib/X11/fonts/Type1 bestaat, kan de naam van de map MathType1 in het bovenstaande voorbeeld veranderd worden naar Type1. Aaron Kaplan Bijgedragen door Robert Getschmann Met dank aan &maple; installeren applicaties Maple &maple; is een commercieel wiskundeprogramma vergelijkbaar met &mathematica;. De software is te koop op en kan daar ook geregistreerd worden voor een licentiebestand. Om deze software op &os; te installeren kunnen de volgende eenvoudige stappen gevolgd worden: Voer het INSTALL> shellscript uit van de productdistributie. Kies de RedHat optie als daarom wordt gevraagd door het installatieprogramma. Een typische installatiemap zou /usr/local/maple zijn. Bestel, als dat nog niet gedaan is, een licentie voor &maple; van Maple Waterloo Software () en kopieer deze naar /usr/local/maple/license/license.dat. Installeer de FLEXlm licentiebeheerder met het installatieshellscript INSTALL_LIC, dat geleverd wordt bij &maple;. Stel de primaire hostnaam voor de machine in voor de licentieserver. Patch het bestand /usr/local/maple/bin/maple.system.type met het volgende: ----- knip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 --- maple.system.type Sun Jul 8 16:35:51 2001 *************** *** 72,77 **** --- 72,78 ---- # the IBM RS/6000 AIX case MAPLE_BIN="bin.IBM_RISC_UNIX" ;; + "FreeBSD"|\ "Linux") # the Linux/x86 case # We have two Linux implementations, one for Red Hat and ----- knip einde van patch ----- Achter "FreeBSD"| mogen geen verdere witvelden staan. Deze patch instrueert &maple; om &os; als een &linux; systeem te herkennen. Het shellscript bin/maple roept het shellscript bin/maple.system.type aan, dat op zijn beurt uname -a aanroept om achter de naam van het besturingssysteem te komen. Afhankelijk van de naam van het besturingssysteem zoekt het uit welke binairen het moet gebruiken. Start de licentieserver. Het volgende script, geïnstalleerd als /usr/local/etc/rc.d/lmgrd.sh, is een gemakkelijke manier om lmgrd op te starten: ----- knip ------------ #! /bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX export PATH LICENSE_FILE=/usr/local/maple/license/license.dat LOG=/var/log/lmgrd.log case "$1" in start) lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 echo -n " lmgrd" ;; stop) lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 ;; *) echo "Usage: `basename $0` {start|stop}" 1>&2 exit 64 ;; esac exit 0 ----- knip ------------ &maple; testen: &prompt.user; cd /usr/local/maple/bin &prompt.user; ./xmaple Nu hoort het programma te draaien. Het is belangrijk om Maplesoft te schrijven om ze te laten weten dat een echte &os; versie gewenst is! Gemeenschappelijke verborgen gevaren De FLEXlm licentiebeheerder kan een lastig programma zijn om mee te werken. Aanvullende documentatie staat op . lmgrd staat er bekend om erg kieskeurig over het licentiebestand te zijn en core te dumpen als er een probleem is. Een correct licentiebestand ziet er zo uit: # ======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY #USE_SERVER VENDOR maplelmg FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \ PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \ ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \ SN=XXXXXXXXX Het serienummer en de sleutel zijn vervangen door X'en. chillig is de hostnaam. Het bewerken van het licentiebestand lukt zolang de regel FEATURE niet verandert (die beschermd is door de licentiesleutel). Dan Pelleg Bijgedragen door &matlab; installeren applicaties &matlab; Dit document beschrijft het installatieproces van de &linux; versie van &matlab; 6.5 op een &os; systeem. Het werkt best goed, met uitzondering van de &java.virtual.machine; (zie ). De &linux; versie van &matlab; kan besteld worden bij The MathWorks op . Er dient ook een licentiebestand of instructies hoe dat te maken te zijn. Het is belangrijk om Maplesoft te schrijven om ze te laten weten dat een echte &os; versie gewenst is! &matlab; installeren Om &matlab; te installeren: Laad de installatie-CD-ROM en koppel die aan. Start het installatiescript als root: &prompt.root; /compat/linux/bin/sh /cdrom/install Het is een grafisch installatieprogramma. Als er foutmeldingen verschijnen dat het programma geen scherm kan openen, kan setenv HOME ~GEBRUIKER uitgevoerd worden, waar GEBRUIKER de gebruiker is waarmee &man.su.1; is gedaan. Als om de &matlab; rootmap wordt gevraagd, dient /compat/linux/usr/local/matlab opgegeven te worden. Voer op de commandoregel het volgende uit om de rest van het installatieproces gemakkelijk te houden: set MATLAB=/compat/linux/usr/local/matlab. Wijzig het licentiebestand zoals aangegeven tijdens het verkrijgen van de licentie voor &matlab;. Dit bestand kan van tevoren gemaakt worden met een tekstverwerker en door het te kopiëren naar $MATLAB/license.dat voordat het installatieprogramma vraagt om het te bewerken. Maak het installatieproces af. Nu is de installatie van &matlab; compleet. De volgende stappen lijmen het aan het &os; systeem. Licentiebeheerder starten Maak symbolische links voor de scriptbestanden van de licentiebeheerder: &prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW &prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW Maak een opstartbestand in /usr/local/etc/rc.d/flexlm.sh. Onderstaand voorbeeld is een gewijzigde versie van het meegeleverde $MATLAB/etc/rc.lm.glnx86. De wijzigingen omvatten bestandslocaties en het starten van de licentiebeheerder onder &linux;-emulatie. #!/bin/sh case "$1" in start) if [ -f /usr/local/etc/lmboot_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u gebruikersnaam && echo 'MATLAB_lmgrd' fi ;; stop) if [ -f /usr/local/etc/lmdown_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1 fi ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 Het bestand moet uitvoerbaar zijn: &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh Ook moet bovenstaande gebruikersnaam vervangen worden door een geldige gebruikersnaam op het systeem (maar niet door root). Start de licentiebeheerder op met het commando: &prompt.root; /usr/local/etc/rc.d/flexlm.sh start De &java; runtime-omgeving linken Verander de &java; Runtime Environment Link naar een die werkt op &os;: &prompt.root; cd $MATLAB/sys/java/jre/glnx86 &prompt.root; unlink jre; ln -s ./jre1.1.8 ./jre &matlab; opstartscript maken Plaats het volgende startscript in /usr/local/bin/matlab: #!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@" Geef vervolgens het commando chmod +x /usr/local/bin/matlab. Afhankelijk van de versie van emulators/linux_base, kunnen er fouten optreden als dit script draait. Om dat te voorkomen, dient in /compat/linux/usr/local/matlab/bin/matlab de regel: if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then (in versie 13.0.1 staat dit op regel 410) veranderd te worden in: if test -L $newbase; then &matlab; afsluitscript maken Het volgende is nodig om een probleem op te lossen dat samenhangt met het onjuist afsluiten van &matlab;. Maak het bestand $MATLAB/toolbox/local/finish.m dat alleen de volgende regel bevat: ! $MATLAB/bin/finish.sh $MATLAB$ is hier letterlijk bedoeld. In dezelfde map staan de bestanden finishsav.m en finishdlg.m, die de mogelijkheid geven om de werkomgeving te bewaren vóór het afsluiten. Als één van deze scripts gebruikt wordt, dient de bovenstaande regel direct na het commando save ingevoegd te worden. Maak het bestand $MATLAB/bin/finish.sh, dat het volgende bevat: #!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0 Maak het bestand uitvoerbaar: &prompt.root; chmod +x $MATLAB/bin/finish.sh &matlab; gebruiken Nu kan met matlab het programma gestart worden. Marcel Moolenaar Bijgedragen door &oracle; installeren applicaties Oracle Voorwoord Hieronder wordt het installatieproces van &oracle; 8.0.5 en &oracle; 8.0.5.1 Enterprise Edition voor &linux; op een &os;-machine beschreven. De &linux;-omgeving installeren Uit de Portscollectie dienen emulators/linux_base en devel/linux_devtools geïnstalleerd te zijn. Als er problemen zijn met deze ports, kan het zijn dat de pakketten of oudere versies uit de Portscollectie gebruikt moeten worden. Om de intelligente agent te draaien, moet ook het Red Hat Tcl package geïnstalleerd worden: tcl-8.0.3-20.i386.rpm. Het algemene commando om pakketten te installeren met de officiële RPM port (archivers/rpm) is: &prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package De installatie van het package hoort foutloos te verlopen. De &oracle;-omgeving creëren Voordat &oracle; geïnstalleerd kan worden, moet een juiste omgeving opgezet worden. Dit document beschrijft alleen welke speciale dingen gedaan moeten worden om &oracle; voor &linux; op &os; te draaien, en niet wat beschreven staat in de &oracle; installatiehandleiding. Kerneloptimalisatie kerneloptimalisatie Zoals beschreven staat in de &oracle; installatiehandleiding moet de maximale grootte van het gedeelde geheugen ingesteld worden. Op &os; moet SHMMAX niet gebruikt worden. SHMMAX wordt slechts uit SHMMAXPGS en PGSIZE berekend. Daarom dient SHMMAXPGS gedefinieerd te worden. Alle andere opties kunnen gebruikt worden zoals in de handleiding staat beschreven. Bijvoorbeeld: options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61 Deze opties kunnen naargelang het gebruik van &oracle; ingesteld worden. Ook de volgende opties dienen in het kernelinstellingenbestand te staan: options SYSVSHM #SysV gedeeld geheugen options SYSVSEM #SysV semaforen options SYSVMSG #SysV interprocescommunicatie &oracle; account Creeër een oracle account op dezelfde manier als elk ander account. Het oracle account is alleen bijzonder in het opzicht dat het een &linux; shell moet hebben. Dat kan door /compat/linux/bin/bash toe te voegen aan /etc/shells en de shell voor het oracle account in te stellen op /compat/linux/bin/bash. Omgeving Naast de normale &oracle; variabelen als ORACLE_HOME en ORACLE_SID moeten de volgende omgevingsvariabelen ingesteld worden: Variabele Waarde LD_LIBRARY_PATH $ORACLE_HOME/lib CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip PATH /compat/linux/bin; /compat/linux/sbin; /compat/linux/usr/bin; /compat/linux/usr/sbin; /bin; /sbin; /usr/bin; /usr/sbin; /usr/local/bin; $ORACLE_HOME/bin Het is aan te raden om alle omgevingsvariabelen in .profile in te stellen. Een volledig voorbeeld is: ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH &oracle; installeren Wegens een kleine inconsistentie in de &linux; emulator moet de map .oracle aangemaakt worden in /var/tmp voordat het installatieprogramma wordt gestart. De gebruiker oracle moet de eigenaar van deze map zijn. Nu hoort &oracle; zonder problemen te installeren. Bij problemen dienen eerst de &oracle; distributie en/of de instellingen gecontroleerd te worden! Nadat &oracle; is geïnstalleerd, moeten de patches uit de volgende twee secties geïnstalleerd worden. Een veelvoorkomend probleem is dat de adapter voor het TCP-protocol niet goed is geïnstalleerd. De consequentie daarvan is dat er geen TCP-listeners gestart kunnen worden. De volgende acties helpen om dit probleem op te lossen: &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk ntcontab.o &prompt.root; cd $ORACLE_HOME/lib &prompt.root; ar r libnetwork.a ntcontab.o &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk install Hierna dient root.sh nogmaals te draaien! <filename>root.sh</filename> patchen Als &oracle; geïnstalleerd wordt, worden sommige acties die als root moeten worden uitgevoerd geregistreerd in een shellscript met de naam root.sh. Dit script komt in de map orainst te staan. De volgende patch dient uitgevoerd te worden op root.sh om het de juiste locatie van chown te laten gebruiken of als alternatief kan het script onder een originele &linux; shell gedraaid worden *** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script Als &oracle; niet vanaf een CD-ROM wordt geïnstalleerd, kan de broncode van root.sh aangepast worden. Die heet rthd.sh en staat in de map orainst in de broncodestructuur. genclntsh patchen Het script genclntsh wordt gebruikt om é´n enkele gedeelde bibliotheek voor de cliënt aan te maken. Het wordt gebruikt tijdens het maken van de demonstraties. Met de volgende patch wordt de definitie van PATH uitgecommentarieerd: *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst &oracle; draaien Als de instructies worden gevolgd, draait &oracle; als op &linux; zelf. Holger Kipp Bijgedragen door Valentino Vaschetto Originele versie omgezet naar SGML door &sap.r3; installeren applicaties &sap.r3; Installaties van &sap; Systemen die &os; gebruiken worden niet ondersteund door het &sap; ondersteuningsteam. Zij bieden alleen ondersteuning voor gecertificeerde platformen. Voorwoord Dit document beschrijft een mogelijke manier om een &sap.r3; System met &oracle; Database voor &linux; op een &os; machine, inclusief de installatie van &os; en &oracle;. Er worden twee instellingen beschreven: &sap.r3; 4.6B (IDES) met &oracle; 8.0.5 op &os; 4.3–STABLE;. &sap.r3; 4.6C met &oracle; 8.1.7 op &os; 4.5–STABLE. Hoewel dit document alle belangrijke stappen in meer detail probeert te beschrijven, is het niet bedoeld als een vervanging voor de &oracle; en &sap.r3; installatiehandleidingen. Voor specifieke vragen wordt verwezen naar de documentatie die geleverd wordt bij de &sap.r3; &linux; editie voor &sap; en &oracle; en de bronnen van &oracle; en &sap; OSS. Software Voor de &sap; installaties zijn de volgende CD-ROM gebruikt: &sap.r3; 4.6B, &oracle; 8.0.5 Naam Nummer Beschrijving KERNEL 51009113 SAP Kernel Oracle / Installation / AIX, Linux, Solaris RDBMS 51007558 Oracle / RDBMS 8.0.5.X / Linux EXPORT1 51010208 IDES / DB-Export / Disc 1 of 6 EXPORT2 51010209 IDES / DB-Export / Disc 2 of 6 EXPORT3 51010210 IDES / DB-Export / Disc 3 of 6 EXPORT4 51010211 IDES / DB-Export / Disc 4 of 6 EXPORT5 51010212 IDES / DB-Export / Disc 5 of 6 EXPORT6 51010213 IDES / DB-Export / Disc 6 of 6 Ook zijn de &oracle; 8 Server (Pre-productie versie 8.0.5 voor &linux; kernelversie 2.0.33) CD-ROM gebruikt, die niet echt noodzakelijk is en &os; 4.3-STABLE (een paar dagen na de 4.3-RELEASE). &sap.r3; 4.6C SR2, &oracle; 8.1.7 Naam Nummer Beschrijving KERNEL 51014004 SAP Kernel Oracle / SAP Kernel Version 4.6D / DEC, Linux RDBMS 51012930 Oracle 8.1.7/ RDBMS / Linux EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 1 of 4 EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 2 of 4 EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 3 of 4 EXPORT1 51013953 Release 4.6C SR2 / Export / Disc 4 of 4 LANG1 51013954 Release 4.6C SR2 / Language / DE, EN, FR / Disc 1 van 3 Afhankelijk van de talen die geïnstalleerd moeten worden kunnen aanvullende taal-CD-ROMs nodig zijn. Hier worden DE en EN gebruikt, dus is alleen de eerste taal-CD-ROM nodig. Een kleine kanttekening is dat de nummers van alle vier de EXPORT CD-ROMs identiek zijn. Ook hebben alle drie de taal-CD-ROMs hetzelfde nummer (dit verschilt met de 4.6B IDES release CD-ROM-nummering). Ten tijde van schrijven draait deze installatie op &os; 4.5-STABLE (20.03.2002). Opmerkingen over &sap; Het wordt aangeraden de volgende notities vóór de installatie van &sap.r3; gelezen te hebben. Ze waren bruikbaar tijdens de installatie: &sap.r3; 4.6B, &oracle; 8.0.5 Nummer Titel 0171356 SAP Software on Linux: Essential Comments 0201147 INST: 4.6C R/3 Inst. on UNIX - Oracle 0373203 Update / Migration Oracle 8.0.5 --> 8.0.6/8.1.6 LINUX 0072984 Release of Digital UNIX 4.0B for Oracle 0130581 R3SETUP step DIPGNTAB terminates 0144978 Your system has not been installed correctly 0162266 Questions and tips for R3SETUP on Windows NT / W2K &sap.r3; 4.6C, &oracle; 8.1.7 Nummer Titel 0015023 Initializing table TCPDB (RSXP0004) (EBCDIC) 0045619 R/3 with several languages or typefaces 0171356 SAP Software on Linux: Essential Comments 0195603 RedHat 6.1 Enterprise version: Known problems 0212876 The new archiving tool SAPCAR 0300900 Linux: Released DELL Hardware 0377187 RedHat 6.2: important remarks 0387074 INST: R/3 4.6C SR2 Installation on UNIX 0387077 INST: R/3 4.6C SR2 Inst. on UNIX - Oracle 0387078 SAP Software on UNIX: OS Dependencies 4.6C SR2 Benodigde hardware De volgende uitrusting is voldoende voor de installatie van een &sap.r3; Systeem. Voor productiegebruik geldt natuurlijk dat exactere gegevens nodig zijn: Component 4.6B 4.6C Processor 2 x 800MHz &pentium; III 2 x 800MHz &pentium; III Geheugen 1GB ECC 2GB ECC Hardeschijfruimte 50-60GB (IDES) 50-60GB (IDES) Voor productiegebruik zijn &xeon; processoren met een grote cache, schijftoegang op hoge snelheid (SCSI, RAID-hardwarecontroller) USV en ECC-RAM aanbevolen. De grote hoeveelheid benodigde schijfruimte is te wijten aan het vooringestelde IDES-systeem, dat 27 GB aan databasebestanden aanmaakt tijdens de installatie. Deze ruimte is ook voldoende voor beginnende productiesystemen en applicatiegegevens. &sap.r3; 4.6B, &oracle; 8.0.5 De volgende kant-en-klare hardware werd gebruikt: een dual processorbord met 2 800 MHz &pentium;nbsp;III processoren, &adaptec; 21960 Ultra160 SCSI adapter (om een 40/80 GB DLT tapedrive en CD-ROM aan te spreken), &mylex; &acceleraid; (2 kanalen, firmware 6.00-1-00 met 32 MB RAM). Aan de &mylex; RAID-controller zijn twee 17 GB harde schijven (gespiegeld) en vier 36 GB harde schijven (RAID-niveau 5) bevestigd. &sap.r3; 4.6C, &oracle; 8.1.7 Voor deze installatie werd een &dell; &poweredge; 2500 gebruikt: een dual processorbord met twee 1000 MHz &pentium; III processoren (256 kB cache), 2 GB PC133 ECC SDRAM, PERC/3 DC PCI RAID-controller met 128 MB en een EIDE DVD-ROM-drive. Aan de RAID-controller zijn twee 18 GB harde schijven (gespiegeld) en vier 36 GB harde schijven (RAID-niveau 5) bevestigd. Installatie van &os; Eerst moet &os; geïnstalleerd worden. Er zijn verschillende manieren om dit te doen. Er staat meer informatie in . Schijfindeling Om het eenvoudig te houden, werd voor zowel de &sap.r3; 46B installatie als de &sap.r3; 46C SR2 installatie dezelfde schijfindeling gebruikt. Alleen de apparaatnamen veranderden, omdat de installaties op verschillende hardware werden gedaan (/dev/da respectievelijk /dev/amr, dus als een AMI &megaraid; wordt gebruikt, is /dev/amr0s1a te zien in plaats van /dev/da0s1a): Bestandssysteem Grootte (1k-blokken) Grootte (GB) Aangekoppeld op /dev/da0s1a 1.016.303 1 / /dev/da0s1b 6 swap /dev/da0s1e 2.032.623 2 /var /dev/da0s1f 8.205.339 8 /usr /dev/da1s1e 45.734.361 45 /compat/linux/oracle /dev/da1s1f 2.032.623 2 /compat/linux/sapmnt /dev/da1s1g 2.032.623 2 /compat/linux/usr/sap De twee logische drives dienen tevoren met de &mylex;- of PERC/3 RAID-software ingesteld en geïnitialiseerd te worden. De software kan tijdens de opstartfase van het BIOS gestart worden. De schijfindelingen wijken licht af van de aanbevelingen van &sap;, omdat &sap; aanbeveelt om de &oracle; submappen (en enkele andere) gescheiden aan te koppelen. Hier is besloten om ze omwille van de eenvoud gewoon als echte submappen aan te maken. <command>make world</command> en een nieuwe kernel Nu dient de nieuwste -STABLE-broncode gedownload te worden. Nadat het kernelinstellingenbestand is aangepast, kunnen de wereld en de kernel opnieuw gebouwd worden. Hier moeten ook de kernelparameters in staan die nodig zijn voor &sap.r3; en &oracle;. De &linux;-omgeving installeren Het &linux; basissysteem installeren Eerst moet de linux_base port geïnstalleerd worden (als root): &prompt.root; cd /usr/ports/emulators/linux_base-fc4 &prompt.root; make install distclean De &linux; ontwikkelomgeving installeren De &linux;-ontwikkelomgeving is volgens noodzakelijk om &oracle; op &os; te installeren: &prompt.root; cd /usr/ports/devel/linux_devtools &prompt.root; make install distclean De &linux;-ontwikkelomgeving is alleen voor de &sap.r3; 46B IDES installatie geïnstalleerd. Het is niet nodig als de &oracle; DB niet opnieuw wordt gelinkt op het &os;-systeem. Dit is het geval als de &oracle; tarball van een &linux;-systeem wordt gebruikt. De benodigde RPM's installeren RPM's Om het R3SETUP programma te starten is PAM-ondersteuning nodig. Tijdens de eerste installatie van &sap; op &os; 4.3-STABLE is geprobeerd om PAM met alle benodigde pakketten te installeren en uiteindelijk is de installatie van het PAM-pakket afgedwongen, wat werkte. Voor &sap.r3; 4.6C SR 2 is we meteen de installatie van het PAM RPM afgedwongen, wat ook werkte, dus lijkt het erop dat de afhankelijke pakketten niet nodig zijn: &prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ pam-0.68-7.rpm Om &oracle; 8.0.5 de intelligente agent te laten draaien, moest ook het Tcl-package van RedHat tcl-8.0.5-30.i386.prm geïnstalleerd worden (anders mislukt het herlinken tijdens de installatie van &oracle;). Er zijn nog wat andere gevallen met betrekking tot het herlinken van &oracle;, maar dat is een &oracle; &linux;-geval en niet &os;-specifiek. Aanvullende hints Het kan ook een goed idee zijn om linprocfs aan /etc/fstab toe te voegen. Meer informatie is te vinden in &man.linprocfs.5;. Een andere parameter om in te stellen is kern.fallback_elf_brand=3 in /etc/sysctl.conf. De &sap.r3;-omgeving maken De benodigde bestandssystemen en aankoppelpunten creëren Voor een eenvoudige installatie is het voldoende om de volgende bestandssystemen aan te maken: aankoppelpunt grootte in GB /compat/linux/oracle 45 GB /compat/linux/sapmnt 2 GB /compat/linux/usr/sap 2 GB Het is ook noodzakelijk om enige aankoppelpunten te maken, anders klaagt de &sap; Installer als die de gemaakte aankoppelpunten controleert: &prompt.root; ln -s /compat/linux/oracle /oracle &prompt.root; ln -s /compat/linux/sapmnt /sapmnt &prompt.root; ln -s /compat/linux/usr/sap /usr/sap Mogelijke foutmeldingen tijdens de installatie zijn (hier met System PRD en de &sap.r3; 4.6C SR2-installatie): INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200 Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to /sapmnt/PRD/exe. Creating if it does not exist... WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400 Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The program cannot go on as long as this link exists at this location. Move the link to another location. ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content '/sapmnt/PRD/exe' Gebruikers en mappen aanmaken &sap.r3; heeft twee gebruikers en drie groepen nodig. De gebruikersnamen zijn afhankelijk van de &sap; system ID (SID) die uit drie letters bestaat. Enkele van deze SIDs zijn gereserveerd door &sap; (bijvoorbeeld SAP en NIX. In de &sap;-documentatie staat een complete lijst). Voor de IDES-installatie is IDS gebruikt, voor de 4.6C SR2-installatie PRD, omdat dat systeem bedoeld is voor productiegebruik. Daarvoor zijn de volgende groepen gebruikt (groep-IDs kunnen afwijken, dat zijn gewoon de waardes die voor deze specifieke installatie gebruikt zijn): groep-ID groepsnaam beschrijving 100 dba DataBase-Administrator 101 sapsys &sap; System 102 oper DataBase-Operator Voor een standaard &oracle;- installatie wordt slechts é´n groep, dba, gebruikt. De groep oper gebruikt ook de groep dba (er staat meer informatie in de &oracle;- en &sap;-documentatie). Tevens zijn de volgende gebruikers nodig: gebruikers-ID gebruikersnaam generieke naam groep aanvullende groepen beschrijving 1000 idsadm/prdadm sidadm sapsys oper &sap;-beheerder 1002 oraids/oraprd orasid dba oper &oracle;-beheerder De volgende regels voor &man.adduser.8; zijn nodig om de &sap;-beheerder-gebruiker toe te voegen: Name: sidadm Password: ****** Fullname: SAP-beheerderSID Uid: 1000 Gid: 101 (sapsys) Class: Groups: sapsys dba HOME: /home/sidadm Shell: bash (/compat/linux/bin/bash) en deze voor de &oracle;-beheerder-gebruiker: Name: orasid Password: ****** Fullname: Oracle-beheerderSID Uid: 1002 Gid: 100 (dba) Class: Groups: dba HOME: /oracle/sid Shell: bash (/compat/linux/bin/bash) De &oracle;-beheerder moet ook in de groep oper zitten als de groepen dba en oper beiden gebruikt worden. Mappen aanmaken De volgende mappen worden normaalgesproken als aparte bestandssystemen aangemaakt. Dit is geheel afhankelijk van de behoefte. Hier is ervoor gekozen om ze als simpele mappen aan te maken, omdat ze toch allemaal op dezelfde RAID-5 zitten: Eerst worden de eigenaren en rechten van sommige mappen ingesteld (als root): &prompt.root; chmod 775 /oracle &prompt.root; chmod 777 /sapmnt &prompt.root; chown root:dba /oracle &prompt.root; chown sidadm:sapsys /compat/linux/usr/sap &prompt.root; chmod 775 /compat/linux/usr/sap Als tweede worden de mappen als gebruiker orasid aangemaakt. Dat zijn allemaal submappen van /oracleSID: &prompt.root; su - orasid &prompt.root; cd /oracle/SID &prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB &prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 &prompt.root; mkdir saparch sapreorg &prompt.root; exit Voor de &oracle; 8.1.7-installatie zijn enkele aanvullende mappen nodig: &prompt.root; su - orasid &prompt.root; cd /oracle &prompt.root; mkdir 805_32 &prompt.root; mkdir client stage &prompt.root; mkdir client/80x_32 &prompt.root; mkdir stage/817_32 &prompt.root; cd /oracle/SID &prompt.root; mkdir 817_32 De map client/80x_32 wordt met precies deze naam gebruikt. De x mag niet door een getal of iets dergelijks vervangen worden. In de derde stap worden de mappen als gebruiker sidadm aangemaakt: &prompt.root; su - sidadm &prompt.root; cd /usr/sap &prompt.root; mkdir SID &prompt.root; mkdir trans &prompt.root; exit Regels in <filename>/etc/services</filename> Voor &sap.r3; zijn enkele regels in het bestand /etc/services nodig, die niet correct worden ingesteld tijdens de installatie op &os;. De volgende regels moeten toegevoegd worden (op zijn minst die regels die met een instantienummer overeenkomen, in dit geval 00. Het kan geen kwaad om alle regels van 00 tot en met 99 toe te voegen voor dp, gw, sp en ms). Als er een SAProuter gebruikt gaat worden of toegang tot &sap; OSS nodig is, dan is 99 ook nodig, aangezien poort 3299 gewoonlijk wordt gebruikt voor het SAProuter-proces op het doelsysteem: sapdp00 3200/tcp # SAP-dispatcher. 3200 + instantienummer sapgw00 3300/tcp # SAP-gateway. 3300 + instantienummer sapsp00 3400/tcp # 3400 + instantienummer sapms00 3500/tcp # 3500 + instantienummer sapmsSID 3600/tcp # SAP-berichtenserver. 3600 + instantienummer sapgw00s 4800/tcp # veilige SAP-gateway 4800 + instantienummer Benodigde lokalisaties locale &sap; heeft tenminste twee lokalisaties nodig die geen deel uitmaken van de standaard RedHat-installatie. &sap; biedt de benodigde RPMs als downloadbare bestanden op hun FTP-server aan (die alleen toegankelijk is voor klanten met OSS-toegang). In notitie 0171356 staat een lijst van de benodigde RPMs. Het is ook mogelijk om gewoon de juiste links aan te maken (bijvoorbeeld vanuit de_DE en en_US), maar dat is niet aan te raden voor productiesystemen (alhoewel het probleemloos op het IDES-systeem werkte). De volgende lokalisaties zijn nodig: de_DE.ISO-8859-1 en_US.ISO-8859-1 Nu moeten de volgende links gemaakt worden: &prompt.root; cd /compat/linux/usr/share/locale &prompt.root; ln -s de_DE de_DE.ISO-8859-1 &prompt.root; ln -s en_US en_US.ISO-8859-1 Als ze niet aanwezig zijn, ontstaan er problemen tijdens de installatie. Als ze dan consequent genegeerd worden (door de STATUS van de probleemstap op OK te zetten in het bestand CENTRDB.R3S), is het niet mogelijk om op het &sap;- systeem aan te melden zonder wat extra moeite. Kerneloptimalisatie kerneloptimalisatie &sap.r3;-systemen hebben veel bronnen nodig. Daarom zijn de volgende parameters toegevoegd aan het kernelinstellingenbestand: #Stel deze in voor geheugengierigheid (SAP en Oracle) options MAXDSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" #System-V-opties nodig. options SYSVSHM # SysV-stijl gedeeld geheugen options SHMMAXPGS=262144 #maximum aantal gedeelde geheugenpagina's #options SHMMAXPGS=393216 #gebruik dit voor de 46C installatieparameters options SHMMNI=256 #maximun aantal identifier-interfaces voor gedeeld geheugen options SHMSEG=100 #maximum aantal gedeeld-geheugensegmenten per proces options SYSVMSG #SysV-stijl berichtenwachtrijen options MSGSEG=32767 #maximum aantal berichtsegmenten in systeem options MSGSSZ=32 #grootte van berichtensegment. MOET macht van 2 zijn options MSGMNB=65535 #maximum aantal tekens per berichtenwachtrij options MSGTQL=2046 #maximum aantal berichten in systeem options SYSVSEM #SysV-stijl semaforen options SEMMNU=256 #aantal semafoor-UNDO-structuren options SEMMNS=1024 #aantal semaforen in systeem options SEMMNI=520 #aantal semafoor-identifiers options SEMUME=100 #aantal UNDO-sleutels De minimumwaarden zijn aangegeven in de documentatie van &sap;. Omdat er geen beschrijving voor &linux; is, wordt verwezen naar de HP-UX-sectie (32 bit) voor meer informatie. Omdat het systeem voor de 4.6C SR2-installatie meer hoofdgeheugen heeft, kunnen de gedeelde segmenten voor &sap; en &oracle; groter zijn.. Daarom kan voor een groter aantal pagina's voor het gedeelde geheugen gekozen worden. Op een standaardinstallatie van &os; op &i386; moeten MAXDSIZ en DFLDSIZ op maximaal 1 GB blijven staan. Anders kunnen er vreemde fouten als ORA-27102: out of memory en Linux Error 12: Cannot allocate memory optreden. &sap.r3; installeren De &sap;-CD-ROMs voorbereiden Tijdens de installatie moeten veel CD-ROMs aangekoppeld en losgekoppeld worden. Als er voldoende CD-ROM-drives zijn, kunnen ze allemaal tegelijk aangekoppeld worden. Hier is besloten om de inhoud van de CD-ROMs naar de overeenkomende mappen te kopiëren: /oracle/SID/sapreorg/cd-naam Hierboven is cd-naam één van KERNEL, RDBMS, EXPORT1, EXPORT2, EXPORT3, EXPORT4, EXPORT5 en EXPORT6 voor de 4.6B/IDES-installatie en één van KERNEL, RDBMS, DISK1, DISK2, DISK3, DISK4 en LANG voor de 4.6C SR2-installatie. Alle bestandsnamen op de aangekoppelde CD-ROMs moeten in hoofdletters staan of anders kan er gebruik gemaakt worden van de optie bij het aankoppelen: &prompt.root; mount_cd9660 -g /dev/cd0a /mnt &prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-naam &prompt.root; umount /mnt Het installatiescript uitvoeren Eerst moet er een map install worden aangemaakt: &prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH De IDES-installatie (4.6B) komt met een volledig aangepast &sap.r3; -demonstratiesysteem, dus zijn er zes in plaats van slechts drie EXPORT-CD-ROMs. Op dit moment dient het installatiesjabloon CENTRDB.R3S voor het installeren van een standaard centrale instantie (&r3; met database), niet de IDES centrale instantie, dus moet de overeenkomende CENTRDB.R3S vanuit de map EXPORT1 gekopieerd worden, anders vraagt R5SETUP slechts om drie EXPORT-CD-ROMs. De nieuwere uitgave &sap; 4.6 SR2 komt met vier EXPORT-CD-ROMs. Het parameterbestand dat de installatiestappen beheert is CENTRAL.R3S. In tegenstelling tot eerdere uitgaven zijn er geen aparte installatiesjablonen voor een centrale instantie met of zonder database. &sap; gebruikt een apart sjabloon voor de installatie van de database. Om de installatie op een later tijdstip te opnieuw te starten is het echter voldoende om met het originele bestand opnieuw te starten. Tijdens en na de installatie eist &sap; dat hostname alleen de naam van de computer en niet de volledig gekwalificeerde domeinnaam teruggeeft. Dus dient òf de computernaam op deze manier ingesteld te worden, òf een alias ingesteld te worden met alias hostname='hostname -s' voor zowel orasid als sidadm (en voor root tijdens minimaal de installatiestappen die als root worden uitgevoerd). Het is ook mogelijk om de geïnstalleerde bestanden .profile en .login van beide gebruikers die tijdens de installatie worden geïnstalleerd aan te passen. Start <command>R3SETUP</command> 4.6B Ben er zeker van dat LD_LIBRARY_PATH juist is ingesteld: &prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib Start R3SETUP als root vanuit de installatiemap: &prompt.root; cd /oracle/IDS/sapreorg/install &prompt.root; ./R3SETUP -f CENTRDB.R3S Het script stelt vervolgens wat vragen (standaardantwoorden in haken, gevolgd door de eigenlijke invoer): Vraag Standaard Invoer Enter SAP System ID [C11] IDSEnter Enter SAP Instance Number [00] Enter Enter SAPMOUNT Directory [/sapmnt] Enter Enter name of SAP central host [troubadix.domain.de] Enter Enter name of SAP db host [troubadix] Enter Select character set [1] (WE8DEC) Enter Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 1Enter Extract Oracle Client archive [1] (Yes, extract) Enter Enter path to KERNEL CD [/sapcd] /oracle/IDS/sapreorg/KERNEL Enter path to RDBMS CD [/sapcd] /oracle/IDS/sapreorg/RDBMS Enter path to EXPORT1 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT1 Directory to copy EXPORT1 CD [/oracle/IDS/sapreorg/CD4_DIR] Enter Enter path to EXPORT2 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT2 Directory to copy EXPORT2 CD [/oracle/IDS/sapreorg/CD5_DIR] Enter Enter path to EXPORT3 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT3 Directory to copy EXPORT3 CD [/oracle/IDS/sapreorg/CD6_DIR] Enter Enter path to EXPORT4 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT4 Directory to copy EXPORT4 CD [/oracle/IDS/sapreorg/CD7_DIR] Enter Enter path to EXPORT5 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT5 Directory to copy EXPORT5 CD [/oracle/IDS/sapreorg/CD8_DIR] Enter Enter path to EXPORT6 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT6 Directory to copy EXPORT6 CD [/oracle/IDS/sapreorg/CD9_DIR] Enter Enter amount of RAM for SAP + DB 850Enter (in Megabytes) Service Entry Message Server [3600] Enter Enter Group-ID of sapsys [101] Enter Enter Group-ID of oper [102] Enter Enter Group-ID of dba [100] Enter Enter User-ID of sidadm [1000] Enter Enter User-ID of orasid [1002] Enter Number of parallel procs [2] Enter Als de CD-ROMs niet naar de verschillende plaatsen gekopieerd waren, kan het &sap;-installatieprogramma de benodigde CD-ROM niet vinden (geïdentificeerd door het bestand LABEL.ASC op de CD-ROM) en vraagt het om de CD-ROM aan te koppelen en het aankoppelpad te bevestigen of in te voeren. Het bestand CENTRDB.R3S kan fouten bevatten. In dit geval vroeg het nogmaals om de EXPORT4 CD-ROM, maar gaf het wel de juiste sleutel (6_LOCATION, daarna 7_LOCATION enzovoorts) aan, dus kon gewoon doorgegaan worden met het invoeren van de juiste waarden. Afgezien van enkele problemen die hieronder genoemd worden, hoort alles vanzelf te gaan tot het punt waar de software voor de &oracle;-database geïnstalleerd moet worden. <command>R3SETUP</command> 4.6C SR2 starten LD_LIBRARY_PATH moet juist ingesteld zijn. Dit is een andere waarde dan die van de 4.6B installatie met &oracle; 8.0.5: &prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib Start R3SETUP als gebruiker root vanuit de installatiemap: &prompt.root; cd /oracle/PRD/sapreorg/install &prompt.root; ./R3SETUP -f CENTRAL.R3S Het script stelt vervolgens enkele vragen (standaardantwoorden tussen haken, gevolgd door de eigenlijke invoer): Vraag Standaard Invoer Enter SAP System ID [C11] PRDEnter Enter SAP Instance Number [00] Enter Enter SAPMOUNT Directory [/sapmnt] Enter Enter name of SAP central host [majestix] Enter Enter Database System ID [PRD] PRDEnter Enter name of SAP db host [majestix] Enter Select character set [1] (WE8DEC) Enter Enter Oracle server version (2) Oracle 8.1.7 2Enter Extract Oracle Client archive [1] (Yes, extract) Enter Enter path to KERNEL CD [/sapcd] /oracle/PRD/sapreorg/KERNEL Enter amount of RAM for SAP + DB 2044 1800Enter (in Megabytes) Service Entry Message Server [3600] Enter Enter Group-ID of sapsys [100] Enter Enter Group-ID of oper [101] Enter Enter Group-ID of dba [102] Enter Enter User-ID of oraprd [1002] Enter Enter User-ID of prdadm [1000] Enter LDAP support 3Enter (no support) Installation step completed [1] (continue) Enter Choose installation service [1] (DB inst,file) Enter Tot dusver geeft het aanmaken van gebruikers een fout in de fases OSUSERDBSID_IND_ORA (voor het aanmaken van de gebruiker orasid) en OSUSERIDADM_IND_ORA (voor het aanmaken van de gebruiker sidadm). &oracle; 8.0.5 installeren Mogelijke problemen staan beschreven in de &sap; Notes en &oracle; Readme bestanden met betrekking tot &linux; en &oracle; DB. De meeste, zoniet alle, problemen komen door incompatibele bibliotheken. Meer informatie over het installeren van &oracle; staat in &oracle; Installeren. &oracle; 8.0.5 installeren met <command>orainst</command> Als &oracle; 8.0.5 gebruikt moet worden, zijn enkele bibliotheken nodig voor het met succes herlinken, omdat &oracle; 8.0.5 met een oude versie van glibc gelinkt was (RedHat 6.0) en RedHat 6.1 reeds een nieuwere glibc gebruikt. De volgende aanvullende pakketten moeten geïnstalleerd worden om er zeker van te zijn dat het linken lukt: compat-libs-5.2-2.i386.rpm compat-glibc-5.2-2.0.7.2.i386.rpm compat-egcs-5.2-1.0.3a.1.i386.rpm compat-egcs-c++-5.2.1.0.3a.1.i386.rpm compat-binutils-5.2-2.9.1.0.23.1.i386.rpm In de &sap; Notes of &oracle; Readme staat meer informatie. Als er geen keuze is (op het moment van installeren was er niet genoeg tijd om dit te controleren) kunnen de originele binairen gebruikt worden of kunnen de herlinkte binairen van een origineel RedHat systeem gebruikt worden. Om de intelligente agent te compileren moet het RedHat Tcl package geïnstalleerd zijn. Als tcl-8.0.3-20.i386.rpm niet te krijgen is, doet een nieuwere versie zoals tcl-8.0.5-30.i386.rpm voor RedHat 6.1 het ook. Afgezien van het herlinken is de installatie rechttoe rechtaan: &prompt.root; su - oraids &prompt.root; export TERM=xterm &prompt.root; export ORACLE_TERM=xterm &prompt.root; export ORACLE_HOME=/oracle/IDS &prompt.root; cd $ORACLE_HOME/orainst_sap &prompt.root; ./orainst Alle schermen dienen met Enter bevestigd te worden totdat de software geïnstalleerd is, behalve dat de &oracle; On-Line Text Viewer gedeselecteerd moet worden omdat deze momenteel niet voor &linux; beschikbaar is. Vervolgens wil &oracle; met i386-glibc20-linux-gcc herlinken, in plaats van met de beschikbare gcc, egcs of i386-redhat-linux-gcc. Wegens tijdbeperkingen is besloten om de binairen van een &oracle; 8.0.5 PreProduction-uitgave te gebruiken, nadat de eerste poging om de versie van de RDBMS-CD-ROM werkend te krijgen mislukte en het vinden en gebruiken van de juiste RPMs was op dat moment een nachtmerrie was. &oracle; 8.0.5 pre-productie versie voor &linux; (kernel 2.0.33) installeren De installatie hiervan is vrij eenvoudig: koppel de CD-ROM aan en start het installatieprogramma. Het vraagt dan om de plaats van de &oracle; thuismap en zet daar alle binairen neer. Op dat moment waren echter niet de restanten van vorige pogingen om RDBMS te installeren verwijderd. Daarna kon &oracle; Database zonder problemen gestart worden. De &oracle; 8.1.7 &linux; tarball installeren De tarball oracle81732.tgz die gemaakt is uit de installatiemap een &linux;-systeem kan uitgepakt worden in /oracle/SID/817_32/. Ga door met de &sap.r3; installatie Als eerste dienen de omgevingsinstellingen van de gebruikers idsamd (sidadm) en oraids (orasid) gecontroleerd te worden. Ze moeten nu beiden beschikken over de bestanden .profile, .login en .cshrc die allemaal hostname gebruiken. In het geval dat de hostnaam van het systeem de volledig gekwalificeerde naam is, moet hostname in hostname –s veranderd worden in alle drie de bestanden. Database laden Hierna kan R3SETUP òfwel opnieuw gestart of voortgezet worden (afhankelijk van de keuze voor exit of niet). R3SETUP maakt vervolgens de tabelruimten aan en laadt de gegevens (voor 46B IDES van EXPORT1 tot en met EXPORT6, voor 46C van DISK1 tot en met DISK4) met R3load in de database. Wanneer het laden van de database is voltooid (dit kan enkele uren duren) wordt om enkele wachtwoorden gevraagd. Voor testinstallaties kunnen de welbekende standaardwachtwoorden worden gebruikt. Als veiligheid een punt is moeten er andere wachtwoorden gebruikt worden! Vraag Invoer Enter Password for sapr3 sapEnter Confirum Password for sapr3 sapEnter Enter Password for sys verander_tijdens_installerenEnter Confirm Password for sys verander_tijdens_installatieEnter Enter Password for system beheerderEnter Confirm Password for system beheerderEnter Hier waren er wat problemen met dipgntab tijdens de installatie van 4.6B. Listener Hieronder staat hoe de &oracle; Listener als gebruiker orasid op kan starten: &prompt.user; umask 0; lsnrctl start Anders kan de fout ORA-12546 optreden, omdat de sockets dan niet de juiste rechten hebben. Zie &sap; Note 072984. Bijwerken van MNLS tabellen Als het de bedoeling is niet-Latin-1-talen in te voeren in het &sap;-systeem, dan moeten de Multi National Language Support-tabellen bijgewerkt worden. Dit staat beschreven in de &sap; OSS Notes 15023 en 45619. In alle andere gevallen kan deze vraag overgeslagen worden tijdens de &sap; installatie. Als er geen MNLS nodig is, is het nog steeds noodzakelijk om de TCPDB-tabel te controleren en deze te initialiseren als dit nog niet is gedaan. Zie &sap;-notities 0015023 en 0045619 voor meer informatie. Stappen na de installatie &sap.r3; licentiesleutel opvragen Er moet een &sap.r3; licentiesleutel opgevraagd worden. Dit is nodig omdat de tijdelijke licentie die tijdens de installatie geïnstalleerd is, maar voor vier weken geldig is. Eerst moet de hardwaresleutel bekend zijn. Deze wordt bekend door als gebruiker idsadm aan te melden en saplicense uit te voeren: &prompt.root; /sapmnt/IDS/exe/saplicense -get Het uitvoeren van saplicense zonder parameters geeft een lijst met opties. Nadat de licentiesleutel verkregen is, kan deze geïnstalleerd worden door middel van: &prompt.root; /sapmnt/IDS/exe/saplicense -install Hierbij moeten de volgende waarden ingevoerd worden: SAP SYSTEM ID = SID, 3 tekens CUSTOMER KEY = hardwaresleutel, 11 tekens INSTALLATION NO = installatie, 10 cijfers EXPIRATION DATE = jjjjmmdd, meestal "99991231" LICENSE KEY = licentiesleutel, 24 tekens Gebruikers aanmaken Nu kan een gebruiker binnen client 000 aangemaakt worden (voor sommige taken is het nodig deze binnen client 000 aan te maken, als maar een andere gebruiker dan gebruikers sap* en ddic wordt gebruikt). Zoals gewoonlijk wordt als nieuwe gebruikersnaam wartung (of dienst in het Nederlands) gekozen. Voor extra veiligheid moeten de wachtwoorden van alle standaardgebruikers binnenin alle clients worden veranderd (dit geldt ook voor gebruikers sap* en ddic). Transportsysteem, profiel, werkmodi en dergelijke instellen Vanuit client 000 dient, als een andere gebruiker dan ddic of sap*, tenminste het volgende ingesteld worden: Taak Transactie Stel het transportsysteem in, bijvoorbeeld als Stand-Alone Transport Domain Entity STMS Maak een profiel voor het systeem aan of wijzig dit RZ10 Beheer werkmodi en instanties RZ04 Deze en alle andere stappen die na de installatie uitgevoerd moeten worden, staan uitvoerig beschreven in de &sap; installatiehandleidingen. <filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) bewerken Het bestand /oracle/IDS/dbs/initIDS.asp bevat het &sap; back-upprofiel. Hier moeten de grootte van de te gebruiken tape, het compressietype, enzovoorts gedefinieerd worden. Om dit aan de gang te krijgen met sapdba / brbackup zijn de volgende waarden veranderd: compress = hardware archive_function = copy_delete_save cpio_flags = "-ov --format=newc --block-size=128 --quiet" cpio_in_flags = "-iuv --block-size=128 --quiet" tape_size = 38000M tape_address = /dev/nsa0 tape_address_rew = /dev/sa0 Uitleg: compress: de tape die gebruikt wordt is een HP DLT1 die hardware-compressie ondersteunt. archive_function: dit definieert het standaardgedrag om &oracle;-archieflogs op te slaan: nieuwe logboekbestanden worden op tape opgeslagen, reeds opgeslagen logboekbestanden worden nogmaals opgeslagen en worden daarna verwijderd. Dit bespaart een hoop problemen als de database hersteld moet worden en één van de archieftapes versleten is. cpio_flags: de standaard is om te gebruiken die de blokgrootte op 5120 bytes instelt. Voor DLT tapes raadt HP een blokgrootte van minimaal 32 kB aan, dus is gebruikt voor blokken van 64 kB. is nodig omdat er inodegetallen groter dan 65535 zijn. De laatste optie is nodig omdat brbackup anders klaagt zodra cpio het aantal opgeslagen blokken meldt. cpio_in_flags: vlaggen die nodig zijn om de gegevens van de tape terug te laden. Het formaat wordt automatisch herkend. tape_size: dit geeft gewoonlijk de ruwe opslagcapaciteit van de tape. Omwille van de veiligheid (er wordt hardware-compressie gebruikt) is de waarde iets lager dan de eigenlijke waarde. tape_address: de naam van het niet-opwindbare apparaat dat met cpio gebruikt wordt. tape_address_rew: de naam van het opwindbare apparaat dat met cpio gebruikt wordt. Instellingen na installatie De volgende parameters van &sap; moeten na de installatie geoptimaliseerd worden (voorbeelden voor IDES 46B, 1 GB geheugen): Naam Waarde ztta/roll_extension 250000000 abap/heap_area_dia 300000000 abap/heap_area_nondia 400000000 em/initial_size_MB 256 em/blocksize_kB 1024 ipc/shm_psize_40 70000000 &sap; notitie 0013026: Naam Waarde ztta/dynpro_area 2500000 &sap; notitie 0157246: Naam Waarde rdisp/ROLL_MAXFS 16000 rdisp/PG_MAXFS 30000 Met bovenstaande parameters kan op een op een systeem met 1 GB aan geheugen het geheugengebruik soortgelijk zijn aan het volgende: Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free Problemen tijdens installatie <command>R3SETUP</command> herstarten na oplossen van een probleem R3SETUP stopt als het een probleem tegenkomt. Nadat de bijhorende logbestanden zijn bekeken en de fout is hersteld, moet R3SETUP opnieuw gestart worden en gewoonlijk dient REPEAT geselecteerd te worden bij de laatste stap waar R3SETUP over klaagde. R3SETUP kan gewoon met het bijhorende bestand R3S worden opgestart: &prompt.root; ./R3SETUP -f CENTRDB.R3S voor 4.6B, of met &prompt.root; ./R3SETUP -f CENTRAL.R3S voor 4.6C, onafhankelijk van het feit of de fout optrad met CENTRAL.R3S of met DATABASE.R3S. Tijdens sommige fasen verwacht R3SETUP dat zowel de database als &sap; draaien (omdat die stappen al voltooid waren). Mochten er fouten optreden en kan bijvoorbeeld de database niet gestart worden, dan moeten de database en &sap; handmatig worden gestart nádat de fouten zijn hersteld en voordat R3SETUP opnieuw wordt gestart. Ook de &oracle; listener moet opnieuw gestarten worden (als orasid met umask 0; lsnrctl start) als die ook was gestopt (bijvoorbeeld omdat het systeem opnieuw opgestart moest worden). OSUSERSIDADM_IND_ORA tijdens <command>R3SETUP</command> Als R3SETUP tijdens deze fase klaagt, moet het sjabloonbestand dat R3SETUP destijds gebruikte (CENTRDB.R3S (4.6B) of één van CENTRAL.R3S of DATABASE.R3S (4.6C)) worden gewijzigd. Zoek [OSUSERSIDADM_IND_ORA] of zoek de enige regel met STATUS=ERROR en wijzig de volgende waarden: HOME/home/sidadm (was leeg) STATUS=OK (had status ERROR) Daarna kan R3SETUP opnieuw gestart worden. OSUSERDBSID_IND_ORA tijdens <command>R3SETUP</command> R3SETUP klaagt mogelijk ook tijdens deze fase. De fout is vergelijkbaar met die in de fase OSUSERSIDADM_IND_ORA. Hier kan gewoon het sjabloonbestand dat R3SETUP destijds gebruikte (CENTRDB.R3S (4.6B) of één van CENTRAL.R3S of DATABASE.R3S (4.6C)) gewijzigd worden. In [OSUSERDBSID_IND_ORA] of de enige regel STATUS=ERROR en kan de volgende waarde in die sectie gewijzigd worden: STATUS=OK Nu kan R3SETUP opnieuw gestart worden. <errorname>oraview.vrf FILE NOT FOUND</errorname> tijdens installatie van &oracle; De &oracle; On-Line Text Viewer is niet gedeselecteerd voordat de installatie begon. Dit onderdeel is gemarkeerd om geïnstalleerd te worden, zelfs al is dit onderdeel momenteel niet beschikbaar op &linux;. Dit onderdeel dient gedeselecteerd te worden in het &oracle; installatiemenu en de installatie dient opnieuw gestart te worden. <errorname>TEXTENV_INVALID</errorname> tijdens <command>R3SETUP</command>, RFC of SAPgui start Deze foutmelding geeft aan dat de juiste locale niet geïnstalleerd is. &sap; notitie 0171356 geeft de benodigde RPMs die geïnstalleerd moeten worden (bijvoorbeeld spalocales-1.0-3 en saposcheck-1.0-1 voor RedHat 6.1). Indien alle gerelateerde foutmeldingen genegeerd zijn en de bijhorende STATUS van ERROR in OK veranderd zijn (in CENTRDB.R3S) telkens als R3SETUP klaagde en R3SETUP gewoon opnieuw gestart is, dan is het &sap;-systeem onjuist ingesteld en is het onmogelijk om met SAPgui een verbinding met het systeem te maken, zelfs al kan het systeem gestart worden. Een poging om met de oude &linux; SAPgui een verbinding te maken gaf de volgende meldingen: Sat May 5 14:23:14 2001 *** ERROR => no valid userarea given [trgmsgo. 0401] Sat May 5 14:23:22 2001 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410] *** ERROR => Error when generating text environment. [trgmsgi. 0435] *** ERROR => function failed [trgmsgi. 0447] *** ERROR => no socket operation allowed [trxio.c 3363] Speicherzugriffsfehler Dit komt doordat &sap.r3; geen juiste locale kan toekennen en ook doordat het zelf onjuist is ingesteld (ontbrekende regels in sommige databasetabellen). Om een verbinding met &sap.r3; te kunnen maken, moeten de volgende regels aan het DEFAULT.PFL worden toegevoegd (zie notitie 0043288): abap/set_etct_env_at_new_mode = 0 install/collate/active = 0 rscp/TCP0B = TCP0B Nu kan het &sap;-systeem opnieuw gestart worden en kan een verbinding met het systeem gemaakt worden, hoewel landspecifieke taalinstellingen anders kunnen werken dan verwacht. Nadat de landinstellingen zijn gecorrigeerd (en de juiste locales zijn gegeven), kunnen bovenstaande regels uit DEFAULT.PFL verwijderd worden en kan het &sap;-systeem opnieuw gestart worden. <errorcode>ORA-00001</errorcode> Deze fout trad alleen op met &oracle; 8.1.7 op &os;. De reden was dat de &oracle;-database zichzelf niet goed kon initialiseren en crashte, waarbij het semaforen en gedeeld geheugen op het systeem achterliet. De volgende poging om de database te starten geeft dan ORA-00001. Met ipcs -a moeten de semaforen opgezocht worden en verwijderd worden met ipcrm. <errorcode>ORA-00445</errorcode> (achtergrondproces PMON is niet gestart) Deze fout trad op met &oracle; 8.1.7. Deze fout wordt gemeld als de database met het gebruikelijke script startsap wordt gestart (bijvoorbeeld startsap_majestix_00) als gebruiker prdadm. Een mogelijke manier om dit te omzeilen is om de database in plaats daarvan als gebruiker oraprd te starten met svrmgrl: &prompt.user; svrmgrl SVRMGR> connect internal; SVRMGR> startup; SVRMGR> exit <errorcode>ORA-12546</errorcode> (start listener met juiste rechten) De &oracle; listener moet als gebruiker oraids worden gestart: &prompt.root; umask 0; lsnrctl start Anders kan ORA-12456 optreden omdat de sockets dan niet de juiste rechten hebben. Zie &sap; notitie 0072984. <errorcode>ORA-27102</errorcode> (geen geheugen beschikbaar) Deze fout trad op toen geprobeerd werd en om waarden groter dan 1 GB (1024x1024x1024) te gebruiken voor MAXDSIZ en DFLDSIZ. Ook kwam er de foutmelding Linux Error 12: Cannot allocate memory. [DIPGNTAB_IND_IND] tijdens <command>R3SETUP</command> Dit wordt behandeld in &sap; notitie 0130581 (R3SETUP termineert). Om een of andere reden gebruikte het installatieproces tijdens de IDES-specifieke installatie niet de juiste &sap; systeemnaam IDS, maar in plaats daarvan de lege string "". Dit leidt tot wat kleine problemen met de toegang tot mappen omdat de paden dynamisch gegenereerd worden door middel van SID (in dit geval IDS). Dus werden niet de paden: /usr/sap/IDS/SYS/... /usr/sap/IDS/DVMGS00 maar de volgende paden gebruikt: /usr/sap//SYS/... /usr/sap/D00 Om de installatie voort te zetten, zijn een link en een aanvullende map aangemaakt: &prompt.root; pwd /compat/linux/usr/sap &prompt.root; ls -l total 4 drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans Dit gedrag staat ook beschreven in &sap; notities 0029227 en 0008401. Deze problemen traden niet op tijdens de installatie van &sap; 4.6C. [RFCRSWBOINI_IND_IND] tijdens <command>R3SETUP</command> Tijdens de installatie van &sap; 4.6C trad deze fout gewoon op als het gevolg van een andere fout eerder in de installatie. In dit geval moeten de bijhorende logboekbestanden doorzocht worden om het echte probleem te kunnen herstellen. Als na het doorzoeken van de logboekbestanden blijkt dat deze fout inderdaad de juiste is (zie de &sap; notities), dan kan de STATUS van de stap die het probleem geeft van ERROR in OK veranderd worden (in CENTRDB.R3S) en kan R3SETUP opnieuw gestart worden. Na de installatie moet rapport RSWBOINS van transactie SE38 uitgevoerd worden. In &sap; notitie 0162266 staat aanvullende informatie over de fasen RFCRSWBOINI en RFCRADDBDIF. [RFCRADDBDIF_IND_IND] tijdens <command>R3SETUP</command> Hier gelden dezelfde beperkingen: er dient door het doorzoeken van de logboekbestanden gecontroleerd te worden dat deze fout niet veroorzaakt wordt door eerdere problemen. Als bevestigd kan worden dat &sap; notitie 0162266 van toepassing is, kan gewoon STATUS van de stap die het probleem geeft van ERROR in OK veranderd worden (in CENTRDB.R3S) en R3SETUP opnieuw gestart worden. Na de installatie moet het rapport RADDBDIF van transactie SE38 uitgevoerd worden. <errorcode>sigaction sig31: File size limit exceeded</errorcode> Deze fout trad op tijdens het starten van de &sap;-processen disp+work. Als &sap; met het script startsap gestart wordt, worden er subprocessen gestart die ontkoppelen en het vuile werk om alle andere &sap;-processen te starten opknappen. Een gevolg hiervan is dat het script zelf een verkeerde situatie niet opmerkt. Om te controleren of de &sap; processen juist zijn gestart, kan de processtatus bekeken worden met ps ax | grep SID, wat een lijst geeft met alle processen van &oracle; en &sap;. Als het ernaar uitziet dat sommige processen ontbreken of als er geen verbinding met het &sap;-systeem gemaakt kan worden, is het verstandig de bijhorende logboekbestanden uit /usr/sap/SID/DVEBMGSnr/work/ te bekijken. De te controleren bestanden zijn dev_ms en dev_disp. Signaal 31 treedt hier op als de hoeveelheid gedeeld geheugen die door &oracle; en &sap; wordt gebruikt, groter is dan wat in het kernelinstellingenbestand is ingesteld en dit kan worden verholpen door een hogere waarde te gebruiken: # grotere waarden voor 46C productiesystemen: options SHMMAXPGS=393216 # kleinere waarde voldoende voor 46B: #options SHMMAXPGS=262144 <command>saposcol</command> starten mislukt Er zijn wat problemen met het programma saposcol (versie 4.6D). Het &sap;-systeem gebruikt saposcol om informatie over de systeemprestaties in te winnen. Dit programma is niet noodzakelijk om het &sap;-systeem te gebruiken, dus kan dit probleem als onbelangrijk worden beschouwd. De oudere versie (4.6B) werkt wel, maar verzamelt niet alle gegevens (veel aanroepen geven gewoon 0 terug, bijvoorbeeld het processorgebruik). Gevorderde onderwerpen Hier wordt beschreven hoe de &linux; binaire compatibiliteit werkt. Het meeste van wat nu volgt is sterk gebaseerd op een e-mailbericht van Terry Lambert tlambert@primenet.com aan &a.chat; (Message ID: <199906020108.SAA07001@usr09.primenet.com>). Hoe werkt het? uitvoerklasselader &os; heeft een abstractie met de naam execution class loader. Dit is een wig in de systeemaanroep &man.execve.2;. Wat er gebeurt is dat &os; een lijst van loaders heeft, in plaats van een enkele loader die terugvalt op de #! loader voor het draaien van elke shellinterpreter of shellscript. Vroeger onderzocht de enige loader op het &unix; platform het magische getal (in het algemeen de eerste 4 of 8 bytes van het bestand) om te zien of het een binary was die het systeem kende en als dat het geval was laadde het de binaire loader. Als het niet het binaire type voor het systeem was, faalde de aanroep naar &man.execve.2; en probeerde de shell het als shellopdrachten uit te voeren. Deze aanname was een standaard voor wat de huidige shell ook is. Later werd er een hack gemaakt voor &man.sh.1; om de eerste twee tekens te onderzoeken en als die bestonden uit :\n voerde het in plaats hiervan de &man.csh.1; shell uit (het idee is dat SCO de hack als eerste maakte). Wat &os; nu doet is door een lijst van loaders gaan met een generieke #! loader die kennis heeft van interpreters in de zin van de karakters die volgen op de volgende witruimte tot de laatste, met uiteindelijk een terugval op /bin/sh. ELF Voor &linux; ABI-ondersteuning ziet &os; het magische getal als een ELF-binary (het maakt op dit punt geen onderscheid tussen &os;, &solaris;, &linux; of elk ander besturingssysteem dat een ELF-beeldtype heeft). &solaris; De ELF loader zoekt naar een gespecialiseerd merk, dat een commentaargedeelte in het ELF-beeld is en dat niet aanwezig is in SVR4/&solaris; ELF-binairen. Om &linux;-binairen werkend te krijgen, moeten ze gemerkt worden als het type Linux met &man.brandelf.1;: &prompt.root; brandelf -t Linux bestand Als dit gedaan is, ziet de ELF loader het Linux-merk in het bestand. ELF merken Als de ELF loader het Linux-merk tegenkomt, verplaatst de loader een pointer in de proc-structuur. Alle systeemaanroepen worden met deze pointer geïndexeerd (in een traditioneel &unix; systeem is dit de sysent[]-structuurarray, die de systeemaanroepen bevat). Ook wordt het proces gemerkt voor speciale behandeling door de valstrikvector van de signaal-trampolinecode samen met nog meer (kleine) aanpassingen die door de &linux; kernelmodule worden afgehandeld. De &linux; kernelmodule bevat naast andere dingen een lijst van sysent[]-ingangen waarvan de adressen in de kernelmodule staan. Als een systeemaanroep door de &linux;-binary wordt aangeroepen, verwijdert de valstrikcode de referentie aan de functiepointer van de systeemaanroep en geeft die de ingangspunten van de systeemaanroep van &linux; en niet van &os;. Verder reroot de &linux;-modus dynamisch lookups. Dit is wat de optie (niet het unionfs bestandssysteemtype!) voor het aankoppelen van bestandssystemen effectief doet. Eerst wordt een poging gedaan om het bestand in de map /compat/linux/origineel-pad op te zoeken en vervolgens alleen als dat mislukt, wordt het bestand in /origineel-pad opgezocht. Dit zorgt ervoor dat binairen die andere binairen nodig hebben kunnen draaien (zo kan bijvoorbeeld de &linux;-gereedschapskist geheel onder &linux; ABI-ondersteuning draaien). Dit betekent ook dat &linux;-binairen &os;-binairen kunnen laden en draaien als er geen overeenkomende &linux;-binairen zijn en dat er een &man.uname.1;-opdracht in de mappenstructuur /compat/linux gezet kan worden om er zeker van te zijn dat &linux;-binairen niet kunnen weten dat ze niet op &linux; draaien. Effectief bevindt er zich een &linux;-kernel in de &os;-kernel. De verschillende onderliggende functies die alle functies implementeren die de kernel aanbiedt, zijn dezelfde tabelingangen voor de systeemaanroepen van &os; als van &linux;: bestandssysteembewerkingen, bewerkingen op het virtuële geheugen, signaalaflevering, System V IPC, enzovoort. Het enige verschil is dat &os;-binairen de lijm functies voor &os; krijgen en dat de &linux;-binairen de lijm-functies voor &linux; krijgen (de meeste oudere besturingssystemen hadden alleen hun eigen lijm-functies: adressen van functies die in een statische globale sysent[] structuurarray werden opgeslagen, in plaats van adressen van functies waarvan dynamisch een geïnitialiseerde pointer wordt verwijderd in de proc-structuur van het proces dat de aanroep doet). Welke is de eigenlijke &os; ABI? Dat maakt niet uit. Eigenlijk is het enige verschil dat (op dit moment; dit kan eenvoudig veranderen in een toekomstige uitgave, en dat gebeurt waarschijnlijk na deze uitgave) de lijm-functies van &os; statisch gelinkt zijn in de kernel en dat de lijm-functies van &linux; zowel statisch gelinkt kunnen worden als dat ze door een kernelmodule worden benaderd. Maar is dit nu echt emulatie? Nee. Het is een ABI-implementatie, geen emulatie. Er is geen emulator (of simulator, om de volgende vraag voor te zijn) bij betrokken. Dus waarom wordt het dan soms &linux;-emulatie genoemd? Om het moeilijk te maken om &os; te verkopen! Serieus, het is zo omdat de historische implementatie in een tijd werd gedaan toen er echt geen ander woord was om te beschrijven wat er aan de hand was, om te zeggen dat &os; &linux;-binairen draaide was niet waar als de code niet in de kernel gecompileerd werd of als een module geladen werd en er moest een woord zijn voor hetgeen geladen werd. Vandaar de &linux;-emulator.
diff --git a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml index ffed9b79b2..3b2dcb2de4 100644 --- a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml @@ -1,1856 +1,1908 @@ Ken Tom Bijgewerkt voor X.Org's X11 server door Marc Fonvieille Erik Radder Vertaald door + + René + Ladan + Het X Window systeem Overzicht &os; gebruikt X11 om gebruikers een krachtige grafische gebruikersschil te bieden. X11 is een vrij beschikbare versie van het X Window System dat geïmplementeerd is in zowel &xorg; als &xfree86; (en andere softwarepakketten die hier niet worden besproken). &os; versies tot en met &os; 5.2.1-RELEASE hebben &xfree86; als standaard, de X11 server die is uitgebracht door The &xfree86; Project, Inc. Vanaf &os; 5.3-RELEASE is de officiële standaardversie van X11 gewijzigd naar &xorg;, de X11-server die is ontwikkeld door de X.Org Foundation onder een licentie die veel lijkt op degene die door &os; wordt gebruikt. Er zijn ook commerciële X-servers voor &os; beschikbaar. In dit hoofdstuk wordt de installatie en instelling van X11 behandeld met de nadruk op &xorg; &xorg.version; release. Voor informatie over het configureren van &xfree86; (i.e. op oudere uitgaven van &os; waar &xfree86; de standaard X11-distributie was) of vorige uitgave van &xorg;, is het altijd mogelijk om gearchiveerde versies van het &os; Handboek op te raadplegen. Meer informatie over de videohardware die X11 ondersteunt kan gevonden worden op de &xorg; website. Na het lezen van dit hoofdstuk weet de lezer: Wat de componenten van het X Window systeem zijn en hoe zij samenwerken. Hoe X11 geïnstalleerd en ingesteld kan worden. Hoe verschillende window managers geïnstalleerd en gebruikt kunnen worden. Hoe &truetype; lettertypen in X11 te gebruiken. Hoe het systeem ingesteld moet worden voor grafisch aanmelden (XDM). Aangeraden voorkennis: Hoe extra software van derden te installeren (). X begrijpen X voor de eerste keer gebruiken kan een hele schok zijn voor mensen die gewend zijn aan andere grafische omgevingen, zoals µsoft.windows; of &macos;. Het is niet noodzakelijk om alle details te kennen over de X componenten en hoe zij samenwerken, maar enige basiskennis draagt wel bij aan krachtiger gebruik kunnen maken van X. Waarom X? X is niet het eerste windows systeem dat geschreven is voor &unix;, maar wel het meest populaire. Het oorspronkelijke X ontwikkelteam werkte eerst aan een ander window systeem. De naam van dat systeem was W (van Window). X was gewoon de volgende letter in het alfabet. X kan gewoon X, X Window systeem, X11 of nog anders genoemd worden. X11 X Windows noemen kan door sommigen als een belediging opgevat worden. &man.X.7; kan hierover wat licht laten schijnen. Het X client/server model X is vanaf het begin aan ontworpen om netwerk-centraal te zijn en gebruikt een client-server model. In het X model draait de X server op de computer waar het toetsenbord, beeldscherm en muis aan vast zit. De server is verantwoordelijk voor het regelen van beeldinformatie, verwerken van invoer van toetsenbord en muis, en andere invoer- of uitvoerapparaten (i.e. een tablet kan als invoerapparaat worden gebruikt, en een videoprojector kan een alternatief uitvoerapparaat zijn). Iedere X applicatie (zoals XTerm, of &netscape;) is een cliënt. Een cliënt stuurt berichten naar de server zoals teken een venster op deze coördinaten en de server stuurt berichten terug zoals de gebruiker heeft op de OK knop gedrukt. Thuis of in kleine bedrijven draaien zowel de X server als de X clients op dezelfde machine. Het is heel goed mogelijk dat de X server op een minder krachtige desktop computer draait en de X applicaties (de clients) op een, zeg maar, dure krachtige machine van het bedrijf. Hier vindt de communicatie tussen de X client en server plaats over het netwerk. Dit verwart sommige mensen, omdat de X terminologie geheel omgekeerd is aan wat ze verwachten. Dat is namelijk dat de X server de grote krachtige machine aan het eind van de gang is en de X client de machine op hun bureau is. De X server is de machine met het beeldscherm en het toetsenbord en de X clients zijn de programma's die de vensters tonen. Het protocol vereist niet dat de clients en servers hetzelfde besturingssysteem moeten draaien of hetzelfde soort computer moeten zijn. Het is heel goed mogelijk om X server op een µsoft.windows; of Apple's &macos; te draaien en er zijn verschillende gratis en commerciële applicaties die dat doen. De window manager De filosofie van het X ontwerp lijkt veel op die van &unix;: gereedschappen, geen beleid. Dit houdt in dat X niet bepaalt hoe een taak volbracht moet worden. In plaats daarvan worden gereedschappen geleverd aan de gebruiker die verantwoordelijk is voor het juiste gebruik hiervan. Deze filosofie verbreedt zich door X niet te laten bepalen hoe vensters er moeten uitzien op het scherm, hoe ze verplaatst moeten worden met de muis, welke toetsaanslagen gebruikt moeten worden om te schakelen tussen vensters (bijvoorbeeld AltTab in het geval van µsoft.windows;), hoe de titelbalken eruit moeten zien, of ze wel of niet sluitknoppen moeten hebben, enzovoort. In plaats daarvan delegeert X deze verantwoordelijkheid aan een applicatie die Window Manager heet. Er zijn tientallen window managers voor X: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker en vele anderen. Elk van deze window managers heeft een eigen voorkomen en werking. Er zijn window managers met virtual desktops of met eigen toetscombinaties om de desktop te beheren; of hebben een Start knop of iets gelijksoortig. Sommige gebruiken thema's die uiterlijk en beleving compleet veranderen door een nieuw thema te kiezen. Window managers zijn te vinden in de categorie x11-wm van de Portscollectie. De KDE en GNOME desktop omgevingen hebben hun eigen window managers die in het bureaublad zijn geïntegreerd. Iedere windows manager heeft zijn eigen manier van instellen. Sommige werken met handgetypte bestanden, anderen beschikken over grafische gereedschappen voor de meeste instellingen. Er is er minstens één (Sawfish) waarvan het instellingenbestand is geschreven in een dialect van de taal Lisp. Focusbeleid De window manager is ook verantwoordelijk voor het focusbeleid van de muis. Ieder window geörienteerd systeem heeft een manier nodig om te bepalen welk venster actief is, toetsaanslagen ontvangt en daarbij zichtbaar aangeeft welk venster actief is. Een bekend focus beleid heet click-to-focus. Dit model wordt gebruikt door µsoft.windows;, waarbij een venster actief wordt door er met de muis op te klikken. X ondersteunt geen specifiek focusbeleid. In plaats daarvan bepaalt de window manager op welk venster, op welk moment, de focus ligt. Een aantal window managers ondersteunen verschillende focusmethoden. Ze ondersteunen allemaal click to focus en de meerderheid ondersteunt ook nog andere. De meest populaire zijn: focus-volgt-muis (focus-follows-mouse) Het venster dat onder de muis zit is het venster waarop de focus ligt. Dit hoeft niet het venster te zijn dat bovenop alle andere vensters ligt. De focus verandert door te wijzen naar een ander venster. Het is niet nodig om er ook nog eens op te klikken. slordige-focus (sloppy-focus) Dit beleid is een kleine uitbreiding op focus-follows-mouse. Indien bij focus-follows-mouse de muis over het root venster (of de achtergrond) gaat, ligt op geen enkel venster de focus en gaan alle toetsaanslagen verloren. Bij sloppy-focus, verandert de focus alleen als de muis in een nieuw venster komt en niet als het huidige venster wordt verlaten. klik-voor-focus (click-to-focus) Het actieve venster wordt geselecteerd door erop te klikken. Het venster wordt dan opgetild en verschijnt dan voor alle andere vensters. Alle toetsaanslagen worden nu naar dit venster gestuurd, zelfs als de cursor naar een ander scherm wordt verplaatst. Veel window managers ondersteunen andere soorten of variaties op de bovenstaande typen muisbeleid. Hierover staat meestal meer in de documentatie van de betreffende window manager. Widgets De X aanpak door gereedschappen te leveren en niets af te dwingen breidt zich uit naar de widgets die in elk applicatievenster te zien zijn. Widget is een term voor alle dingen van de gebruikersinterface waarop geklikt kan worden of een andere actie mee uitgevoerd kan worden: knoppen, vinkvakjes, iconen, lijsten en ga zo maar door. µsoft.windows; noemt ze controls. µsoft.windows; en Apple's &macos; hebben beide een erg strikt widgetbeleid. Van de applicatieontwikkelaars wordt verwacht dat hun applicaties eenduidig zijn wat betreft uiterlijk en beleving. Bij X is ervoor gekozen geen grafische stijl of widgets te verplichten. X applicaties hebben dus niet allemaal hetzelfde uiterlijk. Er zijn populaire widgetsets en variaties, inclusief de originele Athena widgetset van MIT, &motif; (waarvan de widgetset van µsoft.windows; is afgeleid: schuine randen en drie gradaties grijs), OpenLook en anderen. De meeste nieuwe X applicaties gebruiken een modern uitziende widgetset: Qt, gebruikt door KDE, of GTK+ van het GNOME project. Vanuit dit oogpunt lijkt het enigszins op de &unix; desktop, wat het makkelijker maakt voor de beginnende gebruiker. X11 installeren &xorg; is de standaard X11 implementatie voor &os;. &xorg; is de X11 server van de open source implementatie die is uitgebracht door de X.Org Foundation. &xorg; is gebaseerd op de code van &xfree86 4.4RC2 en X11R6.6. De versie van &xorg; die momenteel beschikbaar is in de &os; Portscollectie is &xorg.version;. Om &xorg; vanuit de Portscollectie te bouwen en te installeren: &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean Om &xorg; compleet te bouwen is tenminste 4 GB vrije schijfruimte nodig. X11 kan ook als package geïnstalleerd worden doordat er binaire packages beschikbaar zijn voor &man.pkg.add.1;. Als hiervoor de optie remote fetching van &man.pkg.add.1; wordt gebruikt, dan moet het versienummer verwijderd worden. &man.pkg.add.1; haalt automatisch de laatste versie van het programma op. Om het package voor &xorg; op te halen en te installeren: &prompt.root; pkg_add -r xorg Het voorbeeld hierboven installeert de complete X11 distributie inclusief de servers, clients, lettertypen enz. Er zijn ook afzonderlijke packages en ports beschikbaar voor verschillende delen van X11. De rest van dit hoofdstuk licht toe hoe X11 wordt ingesteld en hoe een productieve desktopomgeving gebouwd kan worden. Christopher Shumway Geschreven door X11 instellen &xorg; X11 Voorbereiding Voordat er wordt begonnen met het instellen van X11 is de volgende informatie van de te installeren machine nodig: Monitor specificaties Chipset van de videokaart Geheugen van de videokaart horizontale scansnelheid verticale scansnelheid De specificaties van de monitor worden door X11 gebruikt om de resolutie en ververssnelheid te bepalen. Deze specificaties kunnen normaal gesproken verkregen worden uit de bij de monitor geleverde documentatie of van de website van de leverancier. Er zijn twee nummerreeksen nodig: de horizontale scansnelheid (scan rate) en de verticale synchronisatiesnelheid (vertical synchronization). De chipset van de videokaart bepaalt welk stuurprogramma X11 gebruikt om de grafische hardware aan te spreken. Bij de meeste chipsets kan dit automatisch bepaald worden, maar het is altijd handig om dit te weten voor het geval de automatische detectie niet correct werkt. Het geheugen op de videokaart bepaalt de resolutie en kleurdiepte waarmee het systeem kan werken. Dit is belangrijk omdat de gebruiker zo de grenzen van zijn systeem kent. X11 instellen Sinds versie 7.3 kan &xorg; vaak zonder enig instellingenbestand werken door eenvoudig op de prompt te typen: &prompt.user; startx Beginnend met versie 7.4 kan &xorg; HAL gebruiken om toetsenborden en muizen automatisch te detecteren. De ports sysutils/hal en devel/dbus worden als afhankelijkheden van x11/xorg geïnstalleerd, maar moeten met de volgende regels in het bestand /etc/rc.conf worden aangezet: hald_enable="YES" dbus_enable="YES" Deze diensten dienen gestart te worden (ofwel handmatig of door opnieuw op te starten) voordat er verder wordt gegaan met de configuratie van &xorg;. De automatische configuratie kan met sommige hardware mislukken, of het kan dingen anders instellen dan gewenst is. In deze gevallen is handmatige configuratie nodig. Bureaubladomgevingen als GNOME, KDE, of Xfce hebben gereedschappen waarmee de gebruiker eenvoudig de schermparameters zoals de resolutie kan instellen. Dus als de standaardconfiguratie niet acceptabel is en u van plan bent om een bureaubladomgeving te installeren kunt u gewoon doorgaan met de installatie van de bureaubladomgeving en het juiste scherminstelgereedschap gebruiken. Het instellen van X11 bestaat uit meerdere stappen. De eerste stap is het bouwen van een instellingenbestand. Dit kan als de supergebruiker met: &prompt.root; Xorg -configure Dit genereert een kaal X11-instellingenbestand in de map /root met de naam xorg.conf.new. Feitelijk wordt bepaald waar de map staat door hoe er superuser rechten zijn verkregen. $HOME is anders bij gebruik van &man.su.1; of bij direct aanmelden. Het X11 programma probeert dan de grafische hardware te detecteren en schrijft een instellingenbestand dat de juiste stuurprogramma's laadt voor de gevonden hardware van het systeem. De volgende stap is het testen van de bestaande instellingen om te controleren of &xorg; met de grafische kaart van het doelsysteem kan werken. Typ in &xorg; tot en met versie 7.3: &prompt.root; Xorg -config xorg.conf.new Beginnend met &xorg; 7.4 en hoger produceert deze test een zwart scherm wat het moeilijk kan maken om vast te stellen of X11 juist werkt. Het oudere gedrag is nog steeds beschikbaar door de optie te gebruiken: &prompt.root; Xorg -config xorg.conf.new -retro Als er een zwart/grijs rooster en een X muis cursor verschijnen was de instelling succesvol. Om de test te stoppen dient gelijktijdig op CtrlAlt Backspace gedrukt te worden. Deze toetsencombinatie stond standaard aan tot en met versie 7.3 van &xorg;. Om het in versie 7.4 en hoger aan te zetten, kunt u òfwel het volgende commando uitvoeren vanaf elke X-terminal-emulator: &prompt.user; setxkbmap -option terminate:ctrl_alt_bksp òf een instellingenbestand voor het toetsenbord genaamd x11-input.fdi voor hald aanmaken en het in de map /usr/local/etc/hal/fdi/policy opslaan. Dit bestand dient het volgende te bevatten: <?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> <device> <match key="info.capabilities" contains="input.keyboard"> - <merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge> + <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge> </match> </device> </deviceinfo> U moet uw machine opnieuw opstarten om hald te forceren om dit bestand te lezen. Als de muis niet werkt, dan moet deze eerst ingesteld worden. Zie in het &os; installatiehoofdstuk. Verder worden beginnend met versie 7.4 de secties InputDevice in xorg.conf genegeerd ten voorkeur van de automatisch verbonden apparaten. Voeg de volgende regel aan de sectie ServerLayout of ServerFlags van dit bestand toe om het oude gedrag te herstellen: Option "AutoAddDevices" "false" Invoerapparaten kunnen dan zoals in vorige versies worden geconfigureerd, tezamen met eventuele andere benodigde opties - (b.v. omschakelen van toetsenbordlayout). + (b.v. omschakelen van toetsenbordindeling). + + + Zoals al eerder is uitgelegd zal sinds versie 7.4 de daemon + hald automatisch uw toetsenbord detecteren. + Het kan zijn dat de indeling of het model van uw toetsenbord niet + juist zijn. Bureaubladomgevingen zoals + GNOME, KDE of + Xfce bieden gereedschappen om het + toetsenbord in te stellen. Het is echter mogelijk om de eigenschappen + direct in te stellen met behulp van het gereedschap &man.setxkbmap.1; + of met een configuratieregel van + hald. + + Als men bijvoorbeeld een PC-toetsenbord met 102 toetsen met een + Franse indeling wilt gebruiken, dienen we een instellingenbestand voor + het toestenbord voor hald aan te maken + genaamd x11-input.fdi en het op te slaan in de + map /usr/local/etc/hal/fdi/policy. Het + dient de volgende regels te bevatten: + + <?xml version="1.0" encoding="ISO-8859-1"?> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.keyboard"> + <merge key="input.x11_options.XkbModel" type="string">pc102</merge> + <merge key="input.x11_options.XkbLayout" type="string">fr</merge> + </match> + </device> +<deviceinfo> + + Als dit bestand al bestaat, kunt u de regels betreffende de + configuratie van het toetsenbord kopiëren en aan uw bestand + toevoegen. + + U dient uw machine opnieuw op te starten om + hald te forceren om dit bestand te + lezen. + + Het is mogelijk om hetzelfde te bereiken vanaf een X-terminal of + een script met dit commando: + + &prompt.user; setxkbmap -model pc102 -layout fr + + Het bestand + /usr/local/share/X11/xkb/rules/base.lst noemt de + beschikbare toetsenborden, indelingen en opties. + X11 optimaliseren Nu moet xorg.conf.new worden aangepast aan de smaak van de gebruiker. Hiervoor moet het bestand in een teksteditor zoals &man.emacs.1; of &man.ee.1; worden geladen. Eerst moeten de frequenties van de monitor toegevoegd worden. Die zijn meestal weergegeven als horizontale en verticale synchronisatiesnelheid. Deze waarden worden toegevoegd aan xorg.conf.new in het onderdeel "Monitor": Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection In het instellingenbestand kunnen de sleutelwoorden HorizSync en VertRefresh missen. Als ze er niet staan, moeten ze toegevoegd worden met de juiste horizontale synchronisatiesnelheid achter het HorizSync sleutelwoord en de verticale synchronisatiesnelheid achter het VertRefresh sleutelwoord. In het bovenstaande voorbeeld werden de gegevens van de monitor ingevoerd. X kan DPMS (Energy Star) eigenschappen gebruiken bij monitoren die dit ondersteunen. &man.xset.1; regelt de timeouts en kan de statussen standby, suspend of uit forceren. Om DPMS eigenschappen voor een monitor te activeren, moet de volgende regel toegevoegd worden aan de monitor sectie: Option "DPMS" xorg.conf Als het instellingenbestand xorg.conf.new toch open staat in de editor dan kan ook meteen de gewenste standaardresolutie en kleurdiepte gekozen worden. Dit staat in het onderdeel "Screen": Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection Het sleutelwoord DefaultDepth beschrijft de kleurdiepte die standaard wordt gebruikt. Met de commandoregeloptie van &man.Xorg.1; kan dit overschreven worden. Het sleutelwoord Modes beschrijft de resolutie waarmee gewerkt wordt bij de opgegeven kleurdiepte. Alleen VESA standaarden die door de grafische kaart van het systeem worden gedefinieerd worden ondersteund. In het voorbeeld hierboven is de standaard kleurdiepte 24 bits per pixel. Bij deze kleurdiepte is de toegestane resolutie 1024 bij 768 pixels. Bij het oplossen van problemen zijn de logboekbestanden van X11 vaak een goede hulp. Ze bevatten informatie voor ieder apparaat waar de X11 server verbinding mee maakt. Namen van &xorg; logboekbestanden hebben de vorm /var/log/Xorg.0.log. De precieze naam van een logboekbestand van variëren van Xorg.0.log tot Xorg.8.log enzovoort. Als alles is ingesteld, moet het instellingenbestand op een plaats gezet worden waar &man.Xorg.1; het kan vinden. Dit is meestal /etc/X11/xorg.conf of /usr/local/etc/X11/xorg.conf: &prompt.root; cp xorg.conf.new /etc/X11/xorg.conf Het instellen van X11 is nu gereed. &xorg; gestart worden met &man.startx.1;. De X11-server kan ook gestart worden met behulp van &man.xdm.1;. Bijzondere instellingen Instellen met de &intel; i810 grafische chipset Intel i810 grafische chipset Instellen met &intel; i810 geïntegreerde chipsets vereist de agpgart AGP programmeerinterface voor X11 om de kaart aan te sturen. Zie de &man.agp.4; handleiding voor meer informatie. Hierdoor wordt het instellen van de hardware net als ieder andere grafische kaart. Bij systemen die zonder &man.agp.4; stuurprogramma gecompileerd zijn slaagt het laden van module met &man.kldload.8; niet. Het stuurprogramma moet in de kernel geladen zijn tijdens het opstarten door te compileren of door /boot/loader.conf te gebruiken. Een Breedbeeld Flatpanel toevoegen breedbeeld flatpanelconfiguratie Deze sectie gaat uit van wat diepere configuratiekennis. Als pogingen om de bovenstaande standaard instelgereedschappen niet tot een werkende configuratie leidden, dan is er genoeg informatie in de logbestanden om de opstelling aan de praat te krijgen. Het gebruik van een tekstverwerker zal nodig zijn. Huidige breedbeeldformaten (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et. al.) ondersteunen 16:10 en 10:9 formaten of aspectverhoudingen die problematisch kunnen zijn. Voorbeelden van enkele veelvoorkomende schermresoluties voor 16:10 aspectverhoudingen zijn: 2560x1600 1920x1200 1680x1050 1440x900 1280x800 Op een gegeven moment zal het toevoegen van een van deze resoluties net zo eenvoudig zijn als een mogelijke Mode in het Section "Screen": Section "Screen" Identifier "Screen 0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection &xorg; is slim genoeg om de resolutie-informatie via I2C/DDC-informtie uit het flatpanel te onttrekken zodat het weet wat de monitor aan kan wat betreft frequenties en resoluties. Als die ModeLines niet bestaan in de stuurprogramma's, dient men &xorg; een kleine hint te geven. Met behulp van /var/log/Xorg.0.log kan men genoeg informatie onttrekken om handmatig een werkende ModeLine aan te maken. Kijk naar informatie die op deze lijkt: (II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz Deze informatie wordt EDID-informatie genoemd. Hiervan een ModeLine maken is gewoon een kwestie van de nummers in de juiste volgorde zetten: ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings> Dus de ModeLine in Section "Monitor" zou er voor dit voorbeeld uitzien als: Section "Monitor" Identifier "Monitor1" VendorName "GroteNaam" ModelName "BesteModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection Na het voltooien van deze eenvoudige stappen, zou X moeten starten op uw nieuwe breedbeeldmonitor. Murray Stokely Bijgedragen door Lettertypen gebruiken in X11 Type1 lettertypen De standaard lettertypen van X11 zijn allerminst ideaal voor het typische bureaubladprogramma. Grote presentatielettertypen zien er hoekig en onprofessioneel uit en kleine lettertypen in &netscape; zijn bijna onleesbaar. Er zijn diverse gratis, kwalitatief goede Type1 (&postscript;) lettertypen die meteen gebruikt kunnen worden met X11. De URW lettertypecollectie (x11-fonts/urwfonts) heeft bijvoorbeeld hoge kwaliteit versies van standaard Type1 lettertypen (Times Roman, Helvetica, Palatino en anderen). De Freefonts collectie (x11-fonts/freefonts) heeft nog meer lettertypen, maar de meesten ervan zijn bedoeld om in grafische software als Gimp gebruikt te worden en zijn niet compleet genoeg om als schermlettertypen te gebruiken. Daarbij kan X11 zonder veel moeite ingesteld worden worden om &truetype; lettertypen te gebruiken. Meer informatie staat in &man.X.7; of de paragraaf over &truetype; Lettertypen. Om de bovenstaande Type1 lettertypecollectie van de Portscollectie te installeren: &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean Dat geldt ook voor de freefont en andere collecties. Om de X server te vertellen dat deze lettertypen bestaan, dient de volgende regel toegevoegd te worden aan het instellingenbestand van de X server (/etc/X11/xorg.conf): FontPath "/usr/local/lib/X11/fonts/URW/" Ook kan op de commando regel in de X sessie het volgende gestart worden: &prompt.user; xset fp+ /usr/local/lib/X11/fonts/URW &prompt.user; xset fp rehash Dit werkt wel, maar zodra de X sessie wordt afgesloten is het weer verdwenen tenzij het is toegevoegd aan het opstartbestand (~/.xinitrc voor een normale startx sessie of ~/.xsession als er wordt aangemeld met een grafische aanmeldmanager als XDM). Een derde manier is het gebruik van het nieuwe bestand /usr/local/etc/fonts/local.conf: zie hiervoor de paragraaf over over Anti-aliasing. &truetype; lettertypen TrueType lettertypen lettertypen TrueType &xorg; heeft ingebouwde ondersteuning voor het renderen van &truetype; lettertypen. Er zijn twee verschillende modules die deze functionaliteit activeren. In dit voorbeeld wordt de freetype module gebruikt omdat deze beter werkt met de andere lettertypen die back-ends renderen. Om de freetype module te activeren dient de volgende regel toegevoegd te worden aan het onderdeel "Module" van /etc/X11/xorg.conf. Load "freetype" Hierna dient een map voor de &truetype; lettertypen gemaakt te worden (bijvoorbeeld /usr/local/lib/X11/fonts/TrueType) en alle &truetype; lettertypen moeten naar deze map gekopieerd worden. &truetype; lettertypen kunnen niet direct van een &macintosh; gehaald worden. Ze moeten in een &unix;/&ms-dos;/&windows; formaat zijn voor X11. Zodra de bestanden naar deze map zijn gekopieerd, kan ttmkfdir gestart worden om een fonts.dir bestand te maken zodat de X lettertyperenderer weet waar deze nieuwe bestanden zijn geïnstalleerd. ttmkfdir zit in de &os; Portscollectie als x11-fonts/ttmkfdir. &prompt.root; cd /usr/local/lib/X11/fonts/TrueType &prompt.root; ttmkfdir -o fonts.dir Nu moet de &truetype; map toe aan het lettertypepad toegevoegd worden. Dit gebeurt op dezelfde wijze als boven is beschreven voor Type1 lettertypen: &prompt.user; xset fp+ /usr/local/lib/X11/fonts/TrueType &prompt.user; xset fp rehash of door een FontPath regel toe te voegen aan xorg.conf. Dat is alles. Nu herkennen &netscape;, Gimp, &staroffice; en alle andere X applicaties de geïnstalleerde &truetype; lettertypen. Extreem kleine lettertypen (zoals hoge resolutie tekst op een webpagina) en extreme grote lettertypen (in &staroffice;) zien er nu veel beter uit. Joe Marcus Clarke Bijgewerkt door Antialias lettertypen antialias lettertypen lettertypen antialias Anti-aliasing wordt door X11 sinds ondersteund sinds &xfree86; versie 4.0.2. Maar instellingen voor lettertypen waren bewerkelijk voordat &xfree86; 4.3.0 geïntroduceerd werd. Vanaf &xfree86; 4.3.0 zijn alle lettertypen die X11 in de mappen /usr/local/lib/X11/fonts/ en ~/.fonts/ aantreft automatisch beschikbaar voor anti-aliasing in applicaties die Xft ondersteunen. Niet alle applicaties ondersteunen Xft. Voorbeelden van applicaties met Xft ondersteuning zijn Qt 2.3 en hoger (de hulpprogramma's voor het KDE bureaublad), GTK+ 2.0 en hoger (de hulpprogramma's voor het GNOME bureaublad) en Mozilla 1.2 en hoger. Om te kunnen regelen welke lettertypen gebruik maken van anti-alias of om de eigenschappen van anti-aliasing in te stellen kan /usr/local/etc/fonts/local.conf gemaakt of gewijzigd worden. In dit bestand kunnen speciale eigenschappen van het Xft lettertypesysteem aangepast worden. Deze paragraaf beschrijft wat eenvoudige mogelijkheden. Meer details staan in &man.fonts-conf.5;. XML Dit bestand moet in het XML formaat opgemaakt worden. Hoofdletters en kleine letters worden onderscheiden en alle tags moeten netjes worden afgesloten. Het bestand begint met de gewone XML header gevolgd door een DOCTYPE definitie en daarna de <fontconfig> tag: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> Zoals al eerder is vermeld zijn alle lettertypen in /usr/local/lib/X11/fonts/ en in ~/.fonts/ al geschikt gemaakt voor Xft applicaties. Als naast deze twee mappen nog een andere lettertypen moeten kunnen bevatten, dan dient een soortgelijke regel als de onderstaande aan /usr/local/etc/fonts/local.conf toegevoegd te worden: <dir>/pad/naar/mijn/fonts</dir> Na het toevoegen van nieuwe lettertypen en zeker nieuwe lettertypemappen dienen de lettertypecaches opnieuw opgebouwd worden met: &prompt.root; fc-cache -f Anti-aliasing maakt randen een beetje wazig wat kleine teksten beter leesbaar maakt en voorkomt trapvorming van grote letters. Maar het kan oogkramp veroorzaken als het op normale tekst wordt toegepast. Om lettertypen kleiner dan 14 punten uit te sluiten van anti-aliasing moeten de volgende regels toegevoegd worden: <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match> lettertypen spacing Spatiëring voor sommige enkel gespatieerde lettertypen kan ook ongepast zijn bij anti-aliasing. Dit lijkt vooral een probleem te zijn bij KDE. Een mogelijke oplossing hiervoor is het vergroten van de spatiëring van die lettertypen naar 100: <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> Het bovenstaande hernoemt de standaardnamen van lettertypen naar "mono"). Voeg daarna het volgende toe: <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> Bepaalde lettertypen, zoals Helvetica, kunnen problemen hebben met anti-aliasing. Dit uit zich meestal in een lettertype dat verticaal door midden lijkt gesneden. Op zijn ergst kan het applicaties zoals Mozilla laten crashen. Om dit te voorkomen kan overwogen worden om ook de volgende regels toe te voegen aan local.conf: <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> Als de wijzigingen in local.conf zijn gemaakt dient niet vergeten te worden het bestand te eindigen met de tag </fontconfig> tag. Als dit niet gedaan wordt, dan worden de wijzigingen niet gezien. De standaard lettertypeset die geleverd wordt bij X11 is niet erg geschikt als het aankomt op anti-aliasing. Een veel betere set standaardlettertypen is de x11-fonts/bitstream-vera port. Deze port maakt /usr/local/etc/fonts/local.conf aan als het nog niet bestaat. Als het al wel bestaat maakt de port /usr/local/etc/fonts/local.conf-vera aan. De inhoud van dit bestand dient in /usr/local/etc/fonts/local.conf geplaatst te worden en dan vervangen de Bitstream lettertypen automatisch de standaard X11 Serif, Sans Serif en Monospaced lettertypen. Als laatste kunnen gebruikers hun eigen instellingen aan een persoonlijk .fonts.conf bestand toevoegen. Om dit te doen moet iedere gebruiker het bestand ~/.fonts.conf maken. Ook dit bestand moet in het XML formaat zijn. LCD scherm lettertypen LCD scherm Nog een laatste punt: bij een LCD scherm kan sub-pixel sampling prettig zijn. Eigenlijk zorgt dit er voor dat de (horizontaal gesplitste) rode, groene en blauwe componenten gewijzigd worden om de horizontale resolutie te verbeteren. Het resultaat is geweldig. Voeg hiervoor de volgende regels ergens aan local.conf toe: <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> Afhankelijk van het soort beeldscherm kan rgb veranderd moeten worden in bgr, vrgb of vbgr. Experimenteren levert de beste instelling op. Mozilla anti-aliasing lettertypen uitschakelen Anti-aliasing moet werken zodra de X server opnieuw gestart is. Programma's dienen echter wel te weten hoe ze er mee moeten werken. Op dit moment geldt dat voor de Qt toolkit en de hele KDE omgeving kan met anti-alias omgaan. GTK+ en GNOME anti-aliasing gebruiken via de Font capplet (zie ). Mozilla 1.2 en hoger gebruiken automatisch anti-aliasing. Om dit uit te zetten moet Mozilla opnieuw gebouwd worden met de optie -DWITHOUT_XFT. Seth Kingsley Bijgedragen door De X beeldschermmanager Overzicht X beeldschermmanager De X beeldschermmanager (XDM) is een optioneel onderdeel van het X Window systeem dat gebruikt wordt voor beheer van aanmeldsessies. Dit is vaak erg handig bij bijvoorbeeld X Terminals, desktops en grote netwerk beeldschermservers. Omdat het X Window systeem netwerk- en protocolonafhankelijk is, zijn er veel mogelijkheden om X clients en servers op verschillende machines in een netwerk te verbinden. XDM levert een grafische interface waarmee er gekozen kan worden welke beeldschermserver gebruikt moet worden en handelt autorisatie informatie (gebruikersnaam en wachtwoord) af. XDM levert de gebruiker dezelfde functionaliteit levert als &man.getty.8; (zie ). Dus het regelt de systeemaanmeldingen voor de schermen waaraan verbonden moet worden en start dan een sessie manager namens de gebruiker (meestal een X window manager). XDM wacht dan tot het programma stopt en geeft aan dat de gebruiker klaar is en afgemeld kan worden. Hierna kan XDM het aanmeldscherm weer tonen zodat de volgende gebruiker kan aanmelden. XDM gebruiken De XDM daemon staat in /usr/local/bin/xdm. Dit programma kan als root altijd gestart worden en regelt dan het X weergavegedeelte van de lokale machine. Als XDM iedere keer bij het opstarten moet starten is het handig om een regel toe te voegen aan /etc/ttys. Meer informatie over het gebruik van dit bestand staat in . In de standaardversie van /etc/ttys staat een regel om de applicatie daemon XDM op een virtuele terminal te draaien: ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure Standaard staat deze regel uit. Om hem aan te zetten moet veld 5 van off naar on gewijzigd worden en moet met &man.init.8; herstart worden met gebruikmaking van de aanwijzingen in . Het eerste veld, de naam van de terminal die het programma aanstuurt, is ttyv8. Dit houdt in dat XDM op de negende virtuele terminal begint te draaien. XDM instellen De map met instellingen voor XDM is /usr/local/lib/X11/xdm. In deze map staan diverse bestanden die gebruikt kunnen worden om het gedrag en uiterlijk van XDM te veranderen. Meestal zijn dit de volgende bestanden: Bestand Omschrijving Xaccess Regels voor client authorisatie. Xresources Standaard waarden voor X bronnen. Xservers Lijst met op afstand en lokaal te beheren schermen. Xsession Standaard sessie script voor logins. Xsetup_* Script die applicaties start voordat de login interface start. xdm-config Algehele instellingen voor alle schermen op deze machine. xdm-errors Fouten die gegenereerd zijn door het serverprogramma. xdm-pid Het proces ID van de draaiende XDM. Tevens staan in deze map een aantal scripts en programma's om het bureaublad in te stellen als XDM draait. Het doel van elk van deze bestanden wordt kort omschreven. De juiste syntaxis en het gebruik van deze bestanden staat in &man.xdm.1;. De standaardinstelling regelt een eenvoudig rechthoekig aanmeldvenster met bovenin de hostnaam van de machine in een groot lettertype met een Login: en Password: prompt eronder. Dit is een goed beginpunt om het uiterlijk en werking van het XDM venster te veranderen. Xaccess Om een verbinding te maken met XDM-gestuurde schermen wordt het protocol X Display Manager Connection Protocol (XDMCP) gebruikt. Het bestand is een set regels die XDMCP verbindingen met andere machines bestuurt. Het wordt genegeerd, tenzij xdm-config is gewijzigd zodat er wordt geluisterd naar inkomende verbindingen. Standaard wordt het clients niet toegestaan te verbinden. Xresources Dit is een bestand met standaarden voor de schermkiezer en de aanmeldschermen. Hier kan het uiterlijk van het aanmeldprogramma gewijzigd worden. De indeling is hetzelfde als bij het app-defaults bestand en is beschreven in de X11 documentatie. Xservers Dit is een lijst met netwerkschermen waaruit gekozen kan worden. Xsession Dit is het standaard sessiescript voor XDM dat start nadat de gebruiker is aangemeld. Normaal heeft iedere gebruiker een eigen sessiescript in ~/.xsession dat dit script overheerst. Xsetup_* Deze starten automatisch voordat de kiezers of aanmeldschermen getoond worden. Er is een script voor ieder gebruikt scherm met de naam Xsetup_ gevolgd door het lokale schermnummer (bijvoorbeeld Xsetup_0). Normaal draaien deze scripts éé of twee programma's in de achtergrond zoals xconsole. xdm-config Dit bevat de instellingen die toegepast worden op ieder scherm die deze installatie aanstuurt. De indeling is hetzelfde als van app-defaults. xdm-errors Hierin staan de meldingen die de X servers geven als XDM ze probeert te starten. Als een scherm dat gestart is door XDM om onduidelijke reden hangt, is dit een goede plaats om te zoeken naar foutmeldingen. Deze meldingen worden ook per sessie naar het ~/.xsession-errors van de gebruiker gestuurd. Een netwerk beeldschermserver gebruiken Om gebruikers een verbinding te laten maken met een X server moeten de toegangsregels gewijzigd worden en de connectielistener moet aangezet worden. Deze hebben standaard wat terughoudende waarden. Om XDM te laten luisteren naar verbindingen moet als eerste een regel uitgecommentarieerd worden in xdm-config: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with XDM DisplayManager.requestPort: 0 Hierna moet XDM herstart worden. Afwijkend in dit bestand is dat commentaar in app-defaults bestanden begint met het karakter ! en niet met het karakter #. Het kan wenselijk zijn om de toegangscontrole aan te scherpen — hiervoor staan voorbeeldregels in Xaccess en lees de hulppagina &man.xdm.1; voor meer informatie. Alternatieven voor XDM Er bestaan diverse alternatieven voor XDM programma. kdm (wordt geleverd bij KDE) wordt later in dit hoofdstuk behandeld. De kdm beeldschermmanager biedt vele grafische verbeteringen en cosmetische franje en de mogelijkheid om de gebruiker de kans te geven een window manager te laten kiezen bij het aanmelden. Valentino Vaschetto Bijgedragen door Bureaubladomgevingen Deze sectie beschrijft de verschillende bureaubladomgevingen voor X op &os;. Een bureaubladomgeving kan van alles inhouden: van een simpele window manager tot een complete suite van bureaubladapplicaties zoals KDE of GNOME. GNOME Over GNOME GNOME GNOME is een gebruikersvriendelijke bureaubladomgeving die de gebruiker de mogelijkheid geeft om gemakkelijk de computer te gebruiken en in te stellen. GNOME heeft een paneel (voor het starten en tonen van statusinformatie van applicaties), een bureaublad (waar data en applicaties geplaatst kunnen worden), een set standaard bureaubladapplicaties en een regels die het makkelijker maakt voor applicaties om eenduidig met elkaar samen te werken. Gebruikers van andere besturingssystemen of omgevingen voelen zich meestal meteen thuis bij het gebruik van de krachtige grafisch gestuurde omgeving die GNOME biedt. Meer informatie over GNOME op &os; staat op de &os; GNOME Project website. De website bevat ook redelijk complete FAQ's over het installeren, instellen en beheren van GNOME. GNOME installeren De software kan eenvoudig worden geïnstalleerd vanuit een pakket of de Portscollectie: Om het GNOME package te installeren: &prompt.root; pkg_add -r gnome2 Om GNOME vanuit de Portscollectie te installeren: &prompt.root; cd /usr/ports/x11/gnome2 &prompt.root; make install clean Zodra GNOME geïnstalleerd is, moet de X server verteld worden dat in plaats van de standaard window manager GNOME gebruikt moet worden. De meest eenvoudige manier om GNOME te starten is via GDM, de GNOME Display Manager. GDM wordt meegeïnstalleerd met de GNOME bureaubladomgeving, maar staat standaard uitgeschakeld. Dit programma kan ingeschakeld worden door gdm_enable="YES" toe te voegen aan /etc/rc.conf. Na herstarten start GNOME automatisch bij het aanmelden. Er zijn geen verdere instellingen nodig. GNOME kan ook gestart worden vanaf de commandoregel door het bestand .xinitrc juist in te stellen. Als er al een .xinitrc is, dan hoeft alleen de regel die de huidige window manager start veranderd te worden in een regel die /usr/local/bin/gnome-session start. Als er niets speciaals met dit instellingenbestand is gedaan: &prompt.user; echo "/usr/local/bin/gnome-session" > ~/.xinitrc Nu kan met startx de GNOME bureaubladomgeving gestart worden. Als een beeldschermmanager als XDM gebruikt wordt werkt het bovenstaande niet. In plaats daarvan moet een uitvoerbaar .xsession gemaakt worden met hetzelfde commando erin. Hiervoor moet het bestand aangepast worden door het bestaande window manager commando te vervangen door /usr/local/bin/gnome-session: &prompt.user; echo "#!/bin/sh" > ~/.xsession &prompt.user; echo "/usr/local/bin/gnome-session" >> ~/.xsession &prompt.user; chmod +x ~/.xsession Het is ook mogelijk de beeldschermmanager zo in te stellen dat de window manager gekozen kan worden tijdens het aanmelden. In de paragraaf Meer KDE Details wordt uitgelegd hoe dit gedaan moet worden voor de kdm beeldschermmanager van KDE. Anti-alias lettertypen in GNOME GNOME anti-alias lettertypen X11 ondersteunt anti-aliasing via de RENDER uitbreiding. GTK+ 2.0 en hoger (de toolkit die gebruikt wordt bij GNOME) kunnen dit gebruiken. Het instellen van anti-aliasing is beschreven in . Dus met up-to-date software is anti-aliasing in de GNOME bureaubladomgeving mogelijk. In ApplicationsDesktop PreferencesFont kan gekozen worden voor Best shapes, Best contrast of Subpixel smoothing (LCDs). Bij een GTK+ applicatie die geen onderdeel is van het GNOME bureaublad moet de omgevingsvariabele GDK_USE_XFT op 1 gezet worden voordat het programma wordt gestart. KDE KDE Over KDE KDE is een bureaubladomgeving die eigentijds is en makkelijk in gebruik. KDE biedt de gebruiker: Een schitterende eigentijdse desktop; Een desktop die volledig netwerktransparant is; Een geïntegreerd hulpsysteem dat eenvoudig bruikbare informatie geeft over het gebruik van het KDE bureaublad en de applicaties; Alle KDE applicaties werken op dezelfde manier en zien er hetzelfde uit; Gestandaardiseerde menu's en werkbalken, keybindings, kleurschema's, enzovoort; Internationalisatie: KDE is beschikbaar in meer dan 40 talen; Gecentraliseerde, consistente, dialooggedreven bureaubladinstelling; Een grote hoeveelheid bruikbare KDE applicaties; KDE wordt geleverd met een webbrowser genaamd Konqueror die niet onder doet voor de andere bestaande webbrowsers op &unix; systemen. Meer informatie over KDE staat op de KDE website. Voor &os; specifieke informatie en bronnen over KDE is er de KDE op &os; team website. Er zijn twee versies van KDE beschikbaar op &os;. Versie 3 is al een lange tijd aanwezig, en is zeer volwassen. Versie 4, de volgende generatie, is ook beschikbaar in de Portscollectie. Ze kunnen zelfs naast elkaar geïnstalleerd worden. KDE installeren Net als bij GNOME of iedere andere bureaubladomgeving kan de software eenvoudig geïnstalleerd met een package of uit de Portscollectie: Om het KDE3 package van het netwerk te installeren: &prompt.root; pkg_add -r kde Om het KDE4 package van het netwerk te installeren: &prompt.root; pkg_add -r kde4 &man.pkg.add.1; haalt automatisch de laatste versie van de applicatie op. Om KDE3 vanuit de Portscollectie te bouwen en te installeren: &prompt.root; cd /usr/ports/x11/kde3 &prompt.root; make install clean Gebruik de Portscollectie om KDE4 vanuit de broncode te bouwen: &prompt.root; cd /usr/ports/x11/kde4 &prompt.root; make install clean Nadat KDE geïnstalleerd is, moet de X server verteld worden dat déze applicatie gestart moet worden in plaats van de standaard window manager. Hiervoor kan .xinitrc aangepast worden: Voor KDE3: &prompt.user; echo "exec startkde" > ~/.xinitrc Voor KDE4: &prompt.user; echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc Als het X Window System wordt gestart met startx is KDE het bureaublad. Als er een beeldschermmanager als XDM gebruikt wordt, is de instelling anders. Dan moet .xsession gewijzigd worden. Instructies voor kdm worden later in dit hoofdstuk beschreven. Meer KDE details Nadat KDE geïnstalleerd is op een systeem, kunnen de meeste dingen uitgezocht worden via de hulppagina's of door de verschillende menu's aan te wijzen en erop te klikken. &windows; en &mac; gebruikers voelen zich meestal helemaal thuis. Het beste naslagwerk voor KDE is de on-line documentatie. KDE heeft zijn eigen web browser, Konqueror, tientallen handige applicaties en uitgebreide documentatie. De volgende paragrafen beschrijven de technische zaken die moeilijk proefondervindelijk te achterhalen zijn. De KDE beeldschermmanager KDE beeldschermmanager Een beheerder van een multi-user systeem die een grafisch aanmeldscherm willen hebben voor zijn gebruikers kan hiervoor XDM gebruiken, zoals eerder beschreven. KDE biedt kdm als alternatief. Dat is ontworpen met een beter uiterlijk en heeft meer aanmeldopties. Gebruikers kunnen via een menu kiezen welke bureaubladomgeving (KDE, GNOME of een andere) zij na het aanmelden willen gebruiken. Om kdm te starten, moet de ttyv8 regel in /etc/ttys worden aangepast. De regel moet er als volgend uitzien: Voor KDE3: ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure Voor KDE4: ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure Xfce Over Xfce Xfce is een bureaubladomgeving die gebaseerd is op de GTK+ toolkit die gebruikt wordt bij GNOME, maar is eenvoudiger en bedoeld voor gebruikers die een simpel en efficiënt bureaublad willen dat toch eenvoudig en makkelijk in te stellen is. Het ziet er bijna hetzelfde uit als CDE dat bij commerciële &unix; systemen zit. Een aantal Xfce functies zijn: Een eenvoudige, makkelijk te bedienen desktop; Geheel in te stellen met de muis, met klikken en slepen, enzovoort; Hoofdpaneel hetzelfde als CDE met menu's, applets en applicaties Geïntegreerde window manager, bestandsmanager, geluidsmanager, GNOME compliance module en meer zaken; Thema's (sinds het gebruik van GTK+); Snel, licht en efficiënt: ideaal voor de oudere of langzamere machines of machines met beperkte hoeveelheid geheugen; Meer informatie over Xfce staat op de Xfce website. Installeren van Xfce Xfce is met een package te installeren: &prompt.root; pkg_add -r xfce4 Of vanuit de Portscollectie: &prompt.root; cd /usr/ports/x11-wm/xfce4 &prompt.root; make install clean Nu moet de X server weten dat Xfce gestart moet worden als X de volgende keer start: &prompt.user; echo "/usr/local/bin/startxfce4" > ~/.xinitrc De volgende keer dat X start is Xfce het bureaublad. Wederom: als een beeldschermmanager als XDM gebruikt wordt, moet .xsession gemaakt worden zoals beschreven in de paragraaf over GNOME. Nu moet echter het command /usr/local/bin/startxfce4 gebruikt. Het is ook mogelijk de beeldschermmanager in te stellen om bureaublad te kiezen bij het aanmelden, zoals is uitgelegd in de paragraaf over kdm.