diff --git a/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml
index b6e7b1572a..18bc791092 100644
--- a/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml
@@ -1,2884 +1,2884 @@
ChrisShumwayHerschreven door RemkoLodderVertaald door &unix; beginselenOverzichtHet volgende hoofdstuk behandelt de basiscommando's en
functionaliteit van het &os; besturingssysteem. Veel van dit
materiaal is relevant voor elk &unix; achtig besturingssysteem.
Als de lezer reeds bekend is met het materiaal, hoeft dit
hoofdstuk niet gelezen te worden. Lezer die nog niet eerder
met &os; te maken hebben gehad wordt aangeraden door te
lezen.Na het lezen van dit hoofdstuk weet de lezer:Hoe virtuele consoles in &os; gebruikt
kunnen worden;Hoe &unix; bestandspermissies werken en hoe
bestandsvlaggen in &os; werken;Hoe het standaard &os; bestandssysteem eruit ziet;Hoe een &os; harde schijf is ingedeeld;Hoe bestandssystemen gemount en ge-unmount
worden;Wat processen, daemons en signalen zijn;Wat een shell is en hoe de standaard omgevingsvariabelen
veranderd kunnen worden;Hoe elementaire tekstverwerkers te gebruiken;Wat apparaten en apparaatmountpunten zijn;Welk binair formaat &os; gebruikt;Hoe handleidingen te gebruiken meer informatie.Virtuele consoles en terminalsVirtuele consolesterminals&os; kan op diverse manieren gebruikt worden.
Één van deze manieren is het typen van commando's
in een tekstterminal. Veel van de flexibiliteit en kracht van
een &unix; besturingssysteem is gemakkelijk beschikbaar als je
&os; op deze manier gebruikt. Dit onderdeel beschrijft wat
terminals en consoles zijn en hoe
je deze kan gebruiken in &os;.De consoleconsoleAls &os; niet is ingesteld om automatisch een grafische
omgeving te starten tijdens het opstarten, geeft het systeem
een login prompt als het gestart is. Dit gebeurt direct nadat
de startscripts klaar zijn. Er wordt iets als het volgende
getoond:Additional ABI support:.
Local package initialization:.
Additional TCP options:.
Fri Sep 20 13:01:06 EEST 2002
&os;/i386 (pc3.example.org) (ttyv0)
login:De meldingen op het scherm kunnen wellicht iets anders zijn
op een systeem, maar het zal iets soortgelijks zijn. De
laatste twee regels zijn de regels waar het nu over gaat.
De voorlaatste regel toont:&os;/i386 (pc3.example.org) (ttyv0)Deze regel bevat enkele informatie over het systeem dat
net gestart is: dit is een &os; console,
draaiend op een Intel of soortgelijke processor op de x86
architectuur.
Dit betekent i386. Let op: ook al
draait &os; niet op een Intel 386 processor, toch is dit
een i386. Het is niet het type
processor, maar de processor
architectuur.
De naam van de machine (elke &unix; machine heeft een
naam) is pc3.example.org en dit is de console
van het systeem, de ttyv0
terminal.De laatste regel is altijd:login:Dit is het deel waar een gebruikersnaam
ingevuld moet worden om aan te melden op &os;. Het volgende
deel beschrijft hoe dat werkt.Aanmelden op &os;&os; is een multi-user en multi-processing systeem. Dit is
de formele beschrijving die meestal gegeven wordt aan een
systeem dat gebruikt wordt door meerdere personen die
gelijktijdig verschillende programma's draaien op
één enkele machine.Elk multi-user systeem heeft een manier nodig om een
gebruiker van alle andere gebruikers te kunnen
onderscheiden. In &os; (en alle andere &unix; achtige
besturingssystemen), wordt dit bereikt door te eisen dat
elke gebruiker moet aanmelden op het systeem
voordat hij/zij programma's kan draaien. Elke gebruiker heeft
een unieke naam (de gebruikersnaam) en een
persoonlijke, geheime sleutel (het wachtwoord).
&os; vraagt om deze twee gegevens voordat het een gebruiker
toegestaat om programma's te draaien.startup scriptsDirect nadat &os; is opgestart en de opstartscripts
Opstart scripts zijn programma's die automatisch gestart
worden tijdens het opstarten. Het hoofddoel van deze
programma's is om dingen goed te zetten zodat alle andere
programma's ook kunnen draaien, en om services te starten
die je geconfigureerd hebt om bruikbare zaken in de
achtergrond te doen.
afgerond zijn, wordt een prompt getoond dat vraagt om een
geldige aanmeldnaam op te geven.login:In dit voorbeeld wordt aangenomen de gebruikersnaam
john is. Als na deze prompt
john wordt getype en op
Enter wordt gedrukt, verschijnt hierna
een prompt om het wachtwoord in te
voeren:login: john
Password:Nu kan john's wachtwoord ingevoerd
worden en op Enter gedrukt worden. Het
wachtwoord wordt niet getoond! Daarover
hoeft geen zorg te bestaan. Het is voldoende om te zeggen dat
dit om veiligheidsredenen gedaan wordt.Als het juiste wachtwoord is ingegeven, is er aangemeld bij
op &os; en in het systeem klaar om alle beschikbare commando's
uit te voeren.Na het aanmelden is de MOTD of het
bericht van de dag zichtbaar, gevolgd door een commandoprompt
(een #, $ of een
% karakter). Dit geeft aan dat er succesvol
is aangemeld op &os;.Meerdere consoles&unix; programma's draaien in één console is
prima, maar &os; kan veel programma's tegelijk draaien. Om
maar één console te hebben waar commando's
ingetypt kunnen worden zou zonde zijn van een besturingssysteem
als &os; waar meerdere programma's tegelijkertijd op kunnen
draaien. Hier kunnen virtuele consoles van pas
komen.&os; kan ingesteld worden om verschillende virtuele
consoles te tonen. Met toetscombinaties kan van de ene console
naar de gewisseld worden. Elke console heeft zijn eigen
uitvoerkanaal, en &os; zorgt ervoor dat alle toetsenbordinvoer
en monitoruitvoer goed wordt gezet als er van de ene console
naar de volgende wordt gewisseld.In &os; kunnen speciale toetscombinaties gebruikt worden om
te wisselen naar een ander virtueel console.
Een redelijk technische en accurate beschrijving van
alle details over de &os; console en toetsenborddrivers
staan in de hulppagina's van &man.syscons.4;,
&man.atkbd.4;, &man.vidcontrol.1; en &man.kbdcontrol.1;.
Hier wordt niet verder op ingegaan, maar de
geïnteresseerde lezer kan altijd de hulppagina's
raadplegen voor meer details en een grondige uitleg over
hoe alles werkt.
In &os; kan
AltF1,
AltF2
tot en met
AltF8
gebruikt worden om te wisselen naar een ander virtueel
console.Als wordt gewisseld van de ene naar de andere console zorgt
&os; dat de uitvoer bewaard blijft. Het resultaat is een
illusie van het hebben van meerdere schermen en
toetsenborden die gebruikt kunnen worden om commando's in te
voeren om &os; te laten draaien. De programma's die in de ene
virtuele console draaien, stoppen niet als de console niet
zichtbaar is. Ze blijven doordraaien als naar een andere
virtuele console wordt gewisseld.Het bestand /etc/ttysDe standaardinstelling van &os; start op met acht virtuele
consoles. Dit is echter geen vaste waarde en een installatie
kan eenvoudig aangepast worden, zodat het systeem gestart
wordt met meer of minder virtuele consoles. De hoeveelheid en
instellingen van de virtuele consoles worden ingesteld in
/etc/ttys./etc/ttys kan gebruikt worden om
virtuele consoles in te stellen. Elke niet-commentaar
regel in dit bestand (regels die niet beginnen met een
# karakter) bevat instellingen voor een
terminal of virtuele console. De standaardversie van dit
bestand die meegeleverd wordt met &os; stelt negen virtuele
consoles in en activeert er acht. Dit zijn de regels die
beginnen met ttyv:# naam getty type status commentaar
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/libexec/getty Pc" cons25 on secure
ttyv7 "/usr/libexec/getty Pc" cons25 on secure
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureEen uitgebreide beschrijving van elke kolom in dit
bestand en alle mogelijke opties voor virtuele consoles staan
in de &man.ttys.5; hulppagina
gebruiken.Single-user consoleIn staat een
gedetailleerde beschrijving van de single-user
modus. Het is belanrijk te melden dat er in
single-user modus maar één console is. Er zijn
geen virtuele consoles beschikbaar. De instellingen van de
single-user modus console staan ook in
/etc/ttys . De regel begint met
console:# name getty type status commentaar
#
# Als een console gemarkeerd is als "insecure", zal het init script om het root-wachtwoord
# vragen wanneer het in single-user mode komt.
console none unknown off secureZoals het commentaar boven de console
regel aangeeft, kan in deze regel het woord
secure gewijzigd worden in
insecure. In dat geval vraagt &os; bij
het opstarten in single-user modus nog steeds om een
root-wachtwoord.Pas op als dit wordt veranderd in
insecure. Als het wachtwoord
van de gebruiker root zoek is,
wordt het opstarten in single-user modus lastig. Het is nog
steeds mogelijk, maar het kan vrij moeilijk zijn voor iemand
die &os; niet zo goed kent met betrekking tot het opstarten
en de programma's die daarbij gebruikt worden.RechtenUNIX&os;, direct afgeleid van BSD &unix;, is gebaseerd op
verschillende belangrijke &unix; concepten. Het meest bekende is
dat &os; een multi-user systeem is. Het systeem kan meerdere
gebruikers behandelen die tegelijkertijd totaal verschillende
dingen doen. Het systeem is verantwoordelijk voor het netjes
delen en beheren voor aanvragen voor hardware, randapparatuur,
geheugen en cpu tijd tussen elke gebruiker.Omdat het systeem in staat is om meerdere gebruikers te
ondersteunen, heeft alles wat door het systeem beheerd wordt een
set van rechten die aangeeft wie mag lezen, schrijven en de
bron mag uitvoeren. Deze rechten zijn opgeslagen in drie
octetten, die weer in drie stukjes onderverdeeld zijn:
één voor de eigenaar van het bestand,
één voor de groep waar het bestand toe behoort en
één voor de overigen. De numerieke weergave werkt
als volgt:RechtenBestandsrechtenWaardeRechtMaprecht0Niet lezen, niet schrijven, niet uitvoeren---1Niet lezen, niet schrijven, uitvoeren--x2Niet lezen, schrijven, niet uitvoeren-w-3Niet lezen, schrijven, uitvoeren-wx4Lezen, niet schrijven, niet uitvoerenr--5Lezen, niet schrijven, uitvoerenr-x6Lezen, schrijven, niet uitvoerenrw-7Lezen, schrijven, uitvoerenrwxlsmappenDe optie kan gebruikt worden met
&man.ls.1; om een lange lijst met de inhoud van een map te zien
die een kolom heeft met informatie over bestandsrechten voor de
eigenaar, groep en de rest. ls -l in een
willekeurige map kan het volgende laten zien:&prompt.user; ls -l
total 530
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile
-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile
-rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt
...Zo ziet de eerste kolom van ls -l
eruit:-rw-r--r--Het eerste (meest linkse) karakter geeft aan of dit een
reguliere bestand is, een map, een speciaal karakter
component(!), een socket of een andere pseudo-file component(!).
In dit geval betekent de - dat het een
regulier bestand is. De volgende drie karakters,
rw- in dit voorbeeld, geven de rechten voor de
eigenaar van het bestand. De drie karakters
r--erna geven de rechten van voor de groep van
het bestand. De overige drie karakters r--
tonen de rechten voor de rest. Een streepje betekent dat de
rechten uitgeschakeld zijn. In het geval van dit bestand zijn de
rechten zo ingesteld dat de eigenaar kan lezen en schrijven naar
het bestand, de groep het bestand kan lezen, en de rest kan het
bestand alleen lezen. Volgens de tabel hierboven worden de
rechten 644, waar de cijfers de drie stukjes
van de rechten aangeven.Dit is allemaal leuk en aardig, maar hoe controleert het
systeem dan rechten voor apparaten? &os; behandelt de meeste
hardware apparaten als bestanden die door programma's kunnen
worden geopend en gelezen, en waar data naar toe kan worden
geschreven, net zoals elk ander bestand. Deze speciale apparaat
bestanden worden bewaard in de map
/dev.Mappen worden ook behandeld als bestanden. Ze hebben lees,
schrijf en uitvoerbare rechten. De uitvoerbare vlag voor een map
heeft een klein verschil qua betekenis dan die voor gewone
bestanden. Als een map als uitvoerbaar gemarkeerd is, betekent
het dat erin gekeken mag worden. Het is dus mogelijk om te
wisselen naar de map met cd (wissel van map).
Dit betekent ook dat in de map bestanden benaderd kunnen worden
waarvan de naam bekend is. Dit is natuurlijk afhankelijk van de
rechten op het bestand zelf.In het bijzonder, om een lijst van de map te kunnen maken,
moet een gebruiker leesrechten op de map hebben. Om een bestand
te verwijderen zijn de naam van het bestand en schrijf
en uitvoerrechten op de map nodig waarin het
bestand zich bevindt.Er zijn meer rechtenvlaggen, maar die worden slechts gebruikt
in speciale gevallen, zoals bij setuid binaries en sticky mappen.
Meer informatie over bestandsrechten en hoe die aangepast kunnen
worden staat in &man.chmod.1;.TomRhodesBijgedragen door Symbolische rechtenrechtensymbolischSymbolische rechten, soms ook wel symbolische expressies,
gebruiken karakters in plaats van octale getallen om rechten
aan bestanden en mappen te geven. Symbolische expressies
gebruiken de volgende opbouw: (wie) (actie) (permissies), waar
de volgende waardes beschikbaar zijn:OptieLetterVertegenwoordigt(wie)uGebruiker(wie)gGroepseigenaar(wie)oOverigen(wie)aIedereen (wereld)(actie)+Rechten toevoegen(actie)-Rechten verwijderen(actie)=Stel deze rechten in(recht)rLezen(recht)wSchrijven(recht)xUitvoeren(recht)tSticky bit(recht)sVerander UID of GIDDeze waardes worden gebruikt met &man.chmod.1;, net zoals
eerder, alleen nu met letters. Het volgende commando kan
gebruikt worden om de overige gebruikers toegang tot
BESTAND te ontzeggen:&prompt.user; chmod go= BESTANDEr kan een door komma's gescheiden lijst geleverd worden als
meer dan één wijziging aan een bestand moet worden
uitgevoerd. Het volgende commando past de rechten voor de groep
en de wereld aan door de schrijfrechten te
ontnemen om daarna iedereen uitvoerrechten te geven:&prompt.user; chmod go-w,a+x BESTANDTomRhodesGeschreven door &os; bestandsvlaggenNaast de bestandsrechten die hiervoor zijn besproken,
biedt &os; ondersteuning voor bestandsvlaggen.
Deze vlaggen bieden een aanvullend beveiligingsniveau en
controle over bestanden, maar niet over mappen.Bestandsvlaggen voegen een extra niveau van controle over
bestanden, waardoor verzekerd kan worden dat in sommige
gevallen zelfs root een bestand niet kan
verwijderen of wijzigen.Bestandsvlaggen worden gewijzigd met het hulpprogramma
&man.chflags.1;, dat een eenvoudige interface heeft. Om
bijvoorbeeld de systeemvlag niet verwijderdbaar in te stellen
op het bestand file1:&prompt.root; chflags sunlink file1Om de vlag niet verwijderbaar weer te verwijderen kan het
voorgaande command met no voor
worden uitgevoerd:&prompt.root; chflags nosunlink file1
- Om de vlaggen op een bestand te bekijken, kan &man.ls.1;
- met de vlaggen gebruikt worden:
+ Om de vlaggen op een bestand te bekijken, kan het &man.ls.1;
+ commando met de vlaggen gebruikt worden:&prompt.root; ls -lo file1De uitvoer hoort er ongeveer als volgt uit te zien:-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1Een aantal vlaggen kan alleen ingesteld of verwijderd
worden door de gebruiker root. In andere
gevallen kan de eigenaar van een bestand vlaggen instellen.
Meer informatie voor beheerders staat in &man.chflags.1; en
&man.chflags.2;.MappenstructuurmappenstructuurDe &os; mappenstructuur is erg belangrijk om het systeem
goed te leren kennen. Het belangrijkste concept om greep op te
krijgen is die van de rootmap, /. Deze map is de
eerste die gemount wordt tijdens het opstarten en bevat het
basissysteem dat nodig is om het besturingssysteem gereed te
maken voor multi-user taken. De rootmap bevat ook mountpunten
voor elk ander bestandssysteem dat misschien gemount
wordt.Een mountpunt is een map waar extra bestandssystemen aan het
root bestandssysteem geplakt kunnen worden. Dit wordt beschreven
in . Standaard mountpunten
zijn /usr, /var,
/tmp, /mnt en
/cdrom. Naar deze mappen wordt meestal
verwezen in /etc/fstab, een tabel met
bestandssystemen en mountpunten ter referentie voor het systeem.
De meeste bestandssystemen in /etc/fstab
worden automatisch gemount tijdens het opstarten door het script
&man.rc.8;, behalve als ze de optie
hebben. Details staan beschreven in .Een complete beschrijving over het bestandssysteem staat in
&man.hier.7;. Hier wordt volstaan met een overzicht van de
voorkomende mappen.MapOmschrijving/Rootmap van het bestandssysteem./bin/Gebruikersapplicaties, belangrijk voor zowel
single user als multi-user omgevingen./boot/Programma's en instellingenbestanden die
gebruikt worden tijdens het opstarten van het
besturingssysteem./boot/defaults/Bestanden met standaardinstellingen voor
opstarten;, zie &man.loader.conf.5;./dev/Apparaatnodes;, zie &man.intro.4;./etc/Bestanden met systeeminstellingen en
scripts./etc/defaults/Bestanden met standaard systeeminstellingen;, zie
&man.rc.8;./etc/mail/Instellingenbestanden voor mail transport
programma's zoals &man.sendmail.8;./etc/namedb/Instellingenbestanden voor
named, zie &man.named.8;./etc/periodic/Scripts die dagelijks, wekelijks en maandelijks
via &man.cron.8; worden uitgevoerd,
zie &man.periodic.8;./etc/ppp/Instellingenbestanden voor ppp,
zie &man.ppp.8;./mnt/Lege map, veel gebruikt door systeembeheerders als
tijdelijk mountpunt voor opslagruimtes./proc/Process bestandssysteem;, zie &man.procfs.5; en
&man.mount.procfs.8;./rescue/Statisch gelinkte programma's voor noodherstel,
zie &man.rescue.8;./root/Thuismap van de gebruiker
root./sbin/Systeemprogramma's en administratieprogramma's
belangrijk voor zowel single-user en multi-user
omgevingen./stand/Programma's die gebruikt worden in een standalone
omgeving./tmp/Tijdelijke bestanden. De inhoud van /tmp blijft meestal NIET
bewaard na een herstart. Er wordt vaak een
geheugengebaseerd bestandssysteem gemount op /tmp. Dit kan
geautomatiseerd worden met de tmpmfs-gerelateerde
variabelen van &man.rc.conf.5; (of met een regel in
/etc/fstab). Zie &man.mdmfs.8;
(of &man.mfs.8; voor &os; 4.X)./usr/Hier bevindt zich het leeuwendeel van alle
hulpprogramma's en gewone programma's./usr/bin/Standaard programma's, programmeertools./usr/include/Standaard C invoegbestanden./usr/lib/Functiebibliotheken./usr/libdata/Diverse databestanden voor hulpprogramma's./usr/libexec/Systeemdaemons en systeemhulpprogramma's
(uitgevoerd door andere programma's)./usr/local/Lokale programma's, bibliotheken, etc. Wordt ook
gebruikt als standaard locatie voor de &os; ports.
Binnen /usr/local, wordt de
algemene layout bepaald door &man.hier.7;, dat ook voor
/usr wordt gebruikt.
Uitzonderingen is de map man, die direct onder
/usr/local ligt in plaats van
onder /usr/local/share, en de
documentatie voor ports is te vinden in
share/doc/port.
/usr/obj/Architectuur afhankelijke doelstructuur voor
resultaten van de bouw van
/usr/src./usr/portsDe &os; Portscollectie (optioneel)./usr/sbin/Systeemdaemons en systeemhulpprogramma's
(uitgevoerd door gebruikers)./usr/share/Architectuur onafhankelijke bestanden./usr/src/BSD en/of lokale broncodebestanden./usr/X11R6/Uitvoerbare bestanden en bibliotheken, etc, voor
de X11R6 distributie (optioneel)./var/Multifunctionele logboek-, tijdelijke,
transparante en spool bestanden./var/log/Diverse logboekbestanden van het systeem./var/mail/Postbusbestanden van gebruikers./var/spool/Diverse printer- en
mailsysteemspoolingmappen./var/tmp/Tijdelijke bestanden die bewaard worden bij een
herstart van het systeem./var/ypNIS maps.Organisatie van schijvenDe kleinste vorm van organisatie die &os; gebruikt om
bestanden te vinden is de bestandsnaam. Bestandsnamen zijn
hoofdlettergevoelig, wat betekent dat
readme.txt en
README.TXT twee verschillende bestanden
zijn. &os; gebruikt de extensie niet (.txt)
van een bestand om te bepalen of het bestand een programma, een
document of een vorm van data is.Bestanden worden bewaard in mappen. Een map kan leeg zijn of
honderden bestanden bevatten. Een map kan ook andere mappen
bevatten, wat het mogelijk maakt om een hiërarchie van
mappen te maken. Dit maakt het veel makkelijker om data te
organiseren.Bestanden en mappen worden aangegeven door het bestand
of de map aan te geven, gevolgd door een voorwaardse slash,
/, gevolgd door andere mapnamen die nodig
zijn. Als map foo de map
bar bevat, die op zijn beurt het bestand
readme.txt bevat, dan wordt de volledige
naam of pad naar het bestand
foo/bar/readme.txt.Mappen en bestanden worden bewaard op een bestandssysteem.
Elk bestandssysteem bevat precies één map op het
hoogste niveau die de rootmap van het
bestandssysteem heet. Deze rootmap kan op zijn beurt andere
mappen bevatten.Tot zover is dit waarschijnlijk hetzelfde als voor elk ander
besturingssysteem. Er zijn een paar verschillen. &ms-dos;
gebruikt bijvoorbeeld een \ om bestanden en
mappen te scheiden, terwijl &macos; gebruik maakt van
:.&os; gebruikt geen schijfletters, of andere schijfnamen in
het pad. &os; gebruikt geen
c:/foo/bar/readme.txt.Eén bestandssysteem wordt aangewezen als
root bestandssysteem, waar naar wordt
verwezen met /. Elk ander bestandssysteem
wordt daarna gemount onder het root
bestandssysteem. Hoeveel schijven er ook aan een &os; systeem
hangen, het lijkt alsof elke map zich op dezelfde schijf
bevindt.Stel er zijn drie bestandssystemen met de namen
A,B en
C. Elk bestandssysteem heeft
één root map die twee andere mappen bevat,
A1 en A2 (zo ook voor de
andere twee: B1, B2,
C1 en C2).A wordt het root besturingsysteem. Met
ls, dat de inhoud van de map kan tonen, zijn
de twee mappen A1 en A2 te
zien. De mappenstructuur ziet er als volgend uit: /
|
+--- A1
|
`--- A2Een bestandssysteem moet gemount worden in een map op een
ander bestandssysteem. Als nu bestandssysteem
B wordt gemount onder de map
A1 vervangt BA1 en zien de mappingen in
B er als volgt uit: /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2Elk bestand dat in de mappen B1 en
B2 aanwezig is, kan benaderd worden met het
pad /A1/B1 of /A1/B2.
Elk bestand dat in /A1 stond is tijdelijk
verborgen en komt tevoorschijn als Bis
ge-unmountvan A.Als B gemount is onder
A2 ziet de diagram er als volgt uit: /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2en de paden zouden dan respectievelijk
/A2/B1 en /A2/B2
zijn.Bestandssystemen kunnen op elkaar worden gemount. Doorgaand
op het vorige voorbeeld kan het bestandssysteem
C gemount worden bovenop de map
B1 in het bestandssysteem
B. Dit resulteert in: /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2Of C kan direct onder het bestandssysteem
A gemount worden, onder de map
A1: /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2Hoewel het niet gelijk is, lijkt het op het gebruik van
join in &ms-dos;.Beginnende gebruikers hoeven zich hier gewoonlijk niet mee
bezig te houden. Normaal gesproken worden bestandssystemen
gemaakt als &os; wordt geïnstalleerd en er wordt
besloten waar ze gemount worden. Meestal worden ze ook niet
gewijzigd tot er een nieuwe schijf aan een systeem wordt
toegevoegd.Het is mogelijk om één groot root
bestandssysteem te hebben en geen andere. Deze benadering
heeft voordelen en nadelen.Voordelen van meerdere bestandssystemenVerschillende bestandssystemen kunnen verschillende
mount opties hebben. Met een goede
voorbereiding kan het root bestandssysteem bijvoorbeeld als
alleen-lezen gemount worden, waardoor het onmogelijk wordt
om per ongeluk kritische bestanden te verwijderen of te
bewerken. Het scheiden van andere bestandssystemen die
beschrijfbaar zijn door gebruikers, zoals
/home van andere bestandssystemen stelt
de beheerder in staat om ze nosuid te
mounten. Deze optie voorkomt dat
suid/guid bits
op uitvoerbare bestanden effectief gebruikt kunnen worden,
waardoor de beveiliging mogelijk beter wordt.&os; optimaliseert automatisch de layout van bestanden
op een bestandssysteem, afhankelijk van hoe het
bestandssysteem wordt gebruikt. Een bestandsysteem dat veel
bestanden bevat waar regelmatig naar geschreven wordt, wordt
anders geoptimaliseerd dan een bestandssysteem dat minder
maar grotere bestanden bevat. Door het gebruik van
één groot bestandssysteem werkt de
optimalisatie niet.&os;'s bestandssystemen zijn erg robuust als er
bijvoorbeeld een stroomstoring is, hoewel een stroomstoring
op een kritiek moment nog steeds kan leiden tot schade aan de
structuur van het bestandssysteem. Door het verdelen van
data over meerdere bestandssystemen, is de kans groter dat
het systeem nog opstart, wat terugzetten van een backup
makkelijker maakt als dat nodig is.Voordeel van één bestandssysteemBestandssystemen hebben een vaste grootte. Als bij de
installatie van &os; een bestandssysteem wordt gemaakt, is
het later mogelijk dat de partitie groter gemaakt moet
worden. Dit is niet zo makkelijk zonder een backup, het
opnieuw maken van het bestandssysteem met gewijzigde grootte
en het terugzetten van de gebackupte data.&os; 4.4 en latere versies hebben &man.growfs.8;,
waarmee de grootte van het bestandssysteem is aan te passen
terwijl het draait.Bestandssystemen worden opgeslagen in partities. Dit
betekent niet hetzelfde als de algemene betekenis van de term
partitie (bijvoorbeeld, &ms-dos; partitie), vanwege &os;'s &unix;
achtergrond. Elke partitie wordt geïdentificeerd door een
letter van a tot en met h.
Elke partitie kan slechts één bestandssysteem
hebben, wat betekent dat bestandssystem vaak omschreven worden
aan de hand van hun mountpunt in de bestandssysteem
hiërarchie of de letter van de partitie waar ze in
opgeslagen zijn.&os; gebruikt ook schijfruimte voor
wisselbestanden. Wisselbestanden geven
&os; virtueel geheugen. Dit geeft de
computer de mogelijkheid om net te doen alsof er veel meer
geheugen in de machine aanwezig is dan werkelijk het geval is.
Als &os; geen geheugen meer heeft, verplaatst het data die op dat
moment niet gebruikt wordt naar de wisselbestanden en plaatst het
terug als het wel nodig is (en zet iets anders in ruil daarvoor
terug).Aan sommige partities zijn bepaalde conventies
gekoppeld.PartitieConventieaBevat meestal het root bestandssysteembBevat meestal de swapruimtecHeeft meestal dezelfde grootte als de hele harde
schijf. Dit geeft hulpprogramma's de mogelijkheid
om op een complete schijf te werken (voor bijvoorbeeld een
bad block scanner) om te werken op de
c partitie. Meest wordt hierop dan
ook geen bestandssysteem gecreeërd.dPartitie d had vroeger een
speciale betekenis, maar die is verdwenen. Tegenwoordig
werken sommige hulpprogramma's raar als ze verteld worden
dat ze moeten werken op partitie d,
dus sysinstall maakt normaal
gesproken partitie d niet.Elke partitie die een bestandssysteem bevat is opgeslagen
in wat &os; noemt een slice. Slice is
&os;'s term voor wat meeste mensen partities noemen. Dit komt
wederom door &os;'s &unix; achtergrond. Slices zijn genummerd
van 1 tot en met 4.slicespartitiesgevaarlijk toegewijdSlicenummers volgen de apparaatnamen, voorafgegaan door een
s die begint bij 1. Dus
da0s1 is de eerste slice op
de eerste SCSI drive. Er kunnen maximaal vier fysieke slices op
een schijf staan, maar er kunnen logische slices in fysieke
slices van het correcte type staan. Deze uitgebreide slices zijn
genummerd vanaf 5. Dus ad0s5
is de eerste uitgebreide slice op de eerste IDE schijf. Deze
apparaten worden gebruikt door bestandssystemen waarvan verwacht
wordt dat ze een slice in beslag nemen.Slices, gevaarlijk toegewijde (dangerously
dedicated) fysieke drivers en andere drives bevatten
partities, die worden weergegeven door
letters vanaf a tot h.
Deze letter wordt achter de apparaatnaam geplakt. Dus
da0a is de a partitie op de
eerste da drive, die gevaarlijk toegewijd is.
ad1s3e is de vijfde partitie
op de derde slice van de tweede IDE schijf.Elke schijf op het systeem wordt geïdentificeerd. Een
schijfnaam start met een code die het type aangeeft en dan een
nummer dat aangeeft welke schijf het is. In tegenstelling tot
bij slices, start het nummeren van schijven bij 0.
Standaardcodes staan beschreven in .Bij een referentie aan een partitie verwacht &os; ook dat
aan de slice en schijf refereert die de partitie bevat wordt
gerefereerd en als naar een slice wordt verwezen moet ook de
schijfnaam genoemd worden. Dit kan door de schijfnaam,
s, het slice nummer en de partitieletter aan
te geven. Voorbeelden staan in .In staat een
conceptmodel van een schijflayout die een en ander
verduidelijkt.Voordat &os; geïnstalleerd kan worden moeten eerst de
schijfslices gemaakt worden en daarna moeten de partities op de
slices voor &os; gemaakt worden. Daarna wordt op elke
partitie het bestandssysteem (of wisselbestand) gemaakt en als
laatste wordt besloten waar het filesysteem gemount wordt.
Voorbeeld schijf-, slice- en partitienamenNameBetekenisad0s1aDe eerste partitie (a) op de
eerste slice (s1) op de eerste IDE
schijf (ad0).da1s2eDe vijfde partitie (e) op de
tweede slice (s1) op de tweede SCSI
schijf (da1).Conceptmodel van een schijfHet onderstaande diagram geeft aan hoe &os; de eerste IDE
schijf in het systeem ziet. Stel dat de schijf 4 GB groot
is en dat deze twee 2 GB slices (&ms-dos; partities)
bevat. De eerste slice bevat een &ms-dos; schijf,
C: en de tweede slice bevat een &os;
installatie. Deze &os; installatie heeft drie partities en
een partitie met een wisselbestand.De drie partities hebben elk een bestandssysteem. Partitie
a wordt gebruikt voor het root
bestandssysteem, e voor de map
/var en f voor de map
/usr..-----------------. --.
| | |
| DOS / Windows | |
: : > Eerste slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | Partitie a, gemount als / |
| | > gerefereerd als ad0s2a |
| | | |
:-----------------: ==: |
| | | Partitie b, gebruikt als swap |
| | > gerefereerd als ad0s2b |
| | | |
:-----------------: ==: | Partitie c, geen
| | | Partition e, gebruikt als /var > bestandssysteem, bevat
| | > gerefereerd als ad0s2e | alle &os; slices,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | Partitie f, gebruikt als /usr |
: : > gerefereerd als ad0s2f |
: : | |
| | | |
| | --' |
`-----------------' --'Mounten en unmounten van bestandssystemenHet bestandssysteem wordt het best weergegeven als een boom,
met de stam als /.
/dev, /usr en de andere
map in root zijn takken die weer hun eigen takken kunnen hebben,
zoals /usr/local, etc.root bestandssysteemEr zijn verschillende redenen om sommige van deze mappen
op aparte bestandssystemen te plaatsen.
/var bevat de mappen
log/, spool/ en
verschillende types tijdelijke bestanden en kan volraken. Het
laten vollopen van het root bestandssysteem is geen goed idee,
dus het splitsen van /var van
/is vaak de favoriet.Een andere vaak voorkomende reden om bepaalde mapbomen
op aparte bestandssystemen te plaatsen, is om ze op verschillende
fysieke schrijven te zetten of gescheiden virtuele schijven zoals
gemounte Netwerk bestandssystemen of cd-rom
drives.Het bestand fstabbestandssystemengemount met fstabTijdens het opstartproces,
worden bestandssystemen die vermeld staan in
/etc/fstab automatisch gemount
(tenzij ze vermeld staan met )./etc/fstab bevat een lijst van regels
die aan het volgende formaat voldoen:apparaat/mountpuntfstypeoptiesdumpfreqpassnoapparaatEen apparaatnaam (die moet bestaan) zoals uitgelegd
in .mountpuntEen map (die moet bestaan) waarop het bestandssysteem
gemount moet worden.fstypeHet bestandssysteem type dat aan &man.mount.8;
gegeven wordt. Het standaard &os; bestandssysteem is
ufs.optiesDit is of voor lezen en
schrijven bestandssytemen, of voor
alleen lezen, gevolgd door elke andere optie die mogelijk
nodig is. Een standaard optie is
voor bestandssystemen die niet automatisch gemount
worden tijdens het opstarten. Andere opties staan in
&man.mount.8;.dumpfreqDit wordt gebruikt door &man.dump.8; om te bepalen
welke bestandssystemen gedumpt moeten worden. Als het
veld niet is ingevuld, wordt aangenomen dat er een nul
staat.passnoDit bepaalt in welke volgorde bestandssystemen
gecontroleerd moeten worden. Bestandssystemen die
overgeslagen moeten worden moeten hun
passno waarde op nul hebben staan.
Voor het root bestandssysteem (dat voor alle andere
gecontroleerd moet worden) moet passno
op één staan en passno
waarden voor andere bestandssystemen moeten een waarde
hebben groter dan één. Als bestandssysteem
dezelfde passno waarde hebben probeert
&man.fsck.8; deze bestandssystemen tegelijkertijd
te controleren.In &man.fstab.5; staat meer informatie over de opmaak van
/etc/fstab en de mogelijke opties.Het commando mountbestandssystemenmounten&man.mount.8; wordt gebruikt om bestandsystemen te
mounten.De meest eenvoudige vorm is:&prompt.root; mount apparaatmountpuntAlle opties voor het commando staat in &man.mount.8;, maar
de meest voorkomende zijn:MountoptiesMount alle bestandssystemen die in
/etc/fstab staan, behalve die
gemarkeerd staan als noauto, uitgesloten
zijn door de optie of die al
gemount zijn.Doe alles behalve het echt aanroepen van de mount
systeemopdracht. Deze optie is handig in samen met de
optie om te bepalen wat &man.mount.8;
eigenlijk probeert te doen.Forceert het mounten van een niet schoon
bestandssysteem (gevaarlijk) of forceert het innemen van
schrijftoegang als de mountstatus van een bestandssysteem
wijzigt van lezen en schrijven naar alleen lezen.Mount het bestandssysteem alleen lezen. Dit is
identiek aan de optie
( voor &os; versies ouder dan 5.2)
voor de optie .fstypeMount het opgegeven bestandssysteem als het opgegeven
type bestandssysteem of mount alleen bestandssystemen
van het aangegeven type als ook de optie
is opgegeven.ufs is het standaard
bestandssysteem.Werk mountopties van het bestandssysteem bij.Geef uitgebreide informatie (verbose).Mount het bestandssysteem lezen en schrijven.De optie accepteert een door komma's
gescheiden lijst van opties, waaronder de volgende:nodevInterpreteer geen speciale apparaten op het
bestandssysteem. Dit is een nuttige
veiligheidsoptie.noexecSta geen uitvoerbare bestanden toe op dit
bestandssysteem. Ook dit is een nuttige
veiligheidsoptie.nosuidInterpreteer geen setuid of setgid opties op het
bestandssysteem. Ook dit is een nuttige
veiligheidsoptie.Het commando umountbestandssystemenunmounten&man.umount.8; heeft een mountpunt, een apparaatnaam,
of als
parameter.Alle vormen kunnen de optie hebben om
een bestandsysteem te forceren te unmounten en de optie
voor uitgebreide informatie. De optie
is meestal geen goed idee. Forceren dat
een bestandssysteem geunmount wordt kan de computer laten
crashen of data op het bestandssysteem beschadigen.De opties en
worden gebruikt om alle bestandssystemen te unmounten,
mogelijk nader gespecificeerd door de optie
met daarachter op welke typen bestandssystemen het betrekking
heeft. Voor de optie geldt dat deze niet
probeert het root bestandssysteem te unmounten.Processen&os; is een multi-tasking besturingssysteem. Dit betekent
dat het lijkt alsof er meer dan één proces
tegelijkertijd draait. Elk programma dat draait wordt een
proces genoemd. Elk commando dat wordt
uitgevoerd start op zijn minst één nieuw proces en
er zijn systeemprocessen die continu draaien om het systeem
functioneel te houden.Elk proces wordt geïdentificeerd door een nummer dat
process ID of PID
heet, en net zoals bij bestanden heeft elk proces
één eigenaar en groep. De eigenaars- en
groepsinformatie wordt gebruikt om te bepalen welke bestanden en
apparaten het proces mag openen, waarbij gebruik wordt gemaakt
van de bestandsrechten die eerder zijn behandeld. Veel processen
hebben ook een ouderproces (parent process). Een ouderproces is
een proces dat het nieuwe proces heeft gestart. Als commando's
in een shell worden ingevoerd, start de shell een proces en elk
commando dat draait is ook een proces. De uitzondering hierop is
het speciale proces &man.init.8;. init is
altijd het eerste proces, dus het PID is altijd 1.
init wordt automatisch gestart door de kernel
als &os; opstart.Twee commando's die erg handig zijn om te zien welke
processen er draaien zijn &man.ps.1; en &man.top.1;.
ps wordt gebruikt om een statische lijst op te
vragen van de processen die op het moment van uitvoeren draaien
en kan hun PID, geheugengebruik, de startende commandoregel,
enzovoort, tonen. top geeft alle draaiende
processen weer en werkt de status elke paar seconden bij zodat
interactief wordt weergegeven wat een computer aan het doen
is.Standaard laat ps alleen zien welke
commando's draaien waarvan de gebruiker die het uitvoert de
eigenaar is:&prompt.user; ps
PID TT STAT TIME COMMAND
298 p0 Ss 0:01.10 tcsh
7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14)
37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14)
48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi
48730 p0 IW 0:00.00 (dns helper) (navigator-linux-)
72210 p0 R+ 0:00.00 ps
390 p1 Is 0:01.14 tcsh
7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y
6688 p3 IWs 0:00.00 tcsh
10735 p4 IWs 0:00.00 tcsh
20256 p5 IWs 0:00.00 tcsh
262 v0 IWs 0:00.00 -tcsh (tcsh)
270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16
280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16
284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc
285 v0 S 0:38.45 /usr/X11R6/bin/sawfishIn het bovenstaande voorbeeld is de uitvoer van &man.ps.1;
georganiseerd in een aantal kolommen. PID
is het proces ID. PIDs worden toegekend vanaf 1 en lopen op tot
99999. Als ze allemaal zijn gebruikt, worden ze hergebruikt. De
TT kolom toont de tty vanwaar het programma
draait en wordt nu buiten beschouwing gelaten.
STAT toont de huidige staat van het programma
en ook deze kolom wordt buiten beschouwing gelaten.
TIME is de hoeveelheid tijd die het programma
gedraaid heeft op de CPU. Dit is meestal niet de verstreken
tijd vanaf het moment dat het programma is gestart. Veel
programma's wachten omdat er alleen gebruik wordt gemaakt van de
CPU als er iets voor het programma te doen is. Als laatste is
COMMAND de commandoregel die gebruikt is
om het programma te starten.&man.ps.1; ondersteunt een aantal opties die de informatie
wijzigen die wordt weergegeven. Één van de meest
nuttige combinaties is auxww. De optie
toont informatie over alle draaiende
processen, niet alleen die van de gebruiker die is aangemeld. De
optie toont de gebruikersnaam van de
proceseigenaar, evenals geheugengebruik. De optie
toont informatie over daemonprocessen en met
de optie laat &man.ps.1; de volledige
commandoregel zien, in plaats van een mogelijk afgekorte regel
omdat die te lang is om op het scherm te passsen..De uitvoer van &man.top.1; is hetzelfde:&prompt.user; top
last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10
47 processes: 1 running, 46 sleeping
CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle
Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free
Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top
7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14
281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA
296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...De uitvoer is gesplitst in twee secties. De kop (de eerste
vijf regels) toont het laatst uitgegeven PID, de gemiddelde
systeembelasting (hoe druk is een systeem), de uptime van het
systeem (tijd verstreken sinds laatste reboot) en de huidige
tijd. De andere cijfers in de kop tonen hoeveel processen er
draaien (in dit geval 47) , hoeveel geheugen en swap er gebruikt
wordt en hoeveel processortijd het systeem besteed aan
verschillende taakgroepen.Daaronder staat een serie van kolommen die soortgelijke
informatie bevatten als de uitvoer van &man.ps.1;. Zo zijn het
PID, de gebruikersnaam, de hoeveelheid processortijd en het
commando dat gebruikt is om het proces te starten te zien.
&man.top.1; laat standaard ook zien hoeveel geheugen er gebruikt
wordt door een proces. Dit staat in twee kolommen waarbij in de
eerste kolom het maximale geheugengebruik wordt getoond en in de
tweede kolom het huidige geheugengebruik. Maximale gebruik is
de hoeveelheid geheugen die het proces nodig had in de tijd dat
het bestaat en het residente gebruik is hoeveel er op het moment
van weergeven gebruikt wordt. In dit voorbeeld is zichtbaar dat
&netscape; bijna 30 MB RAM nodig
had, maar op het moment van uitvoeren 9 MB verbruikt.&man.top.1; werkt het beeld automatisch iedere twee seconden
bij. Dat kan gewijzigd worden met de optie
.Daemons, signalen en het stoppen van processenAls een gebruiker een editor draait is het makkelijk om de
editor te besturen, te vertellen om bestanden te openen, etc.
Dit kan omdat de editor de mogelijkheden geeft om dat te doen en
omdat de editor gekoppeld is aan een
terminal. Sommige programma's zijn niet
ontworpen om te draaien met continue gebruikersinvoer, dus
als zij de kans krijgen ontkoppelen zij zich van de terminal.
Een webserver reageert bijvoorbeeld de hele dag op webaanvragen
en heeft eigenlijk geen input van een lokale gebruiker nodig.
Programma's die email van locatie naar locatie transporteren zijn
een ander voorbeeld.Deze programma's heten daemons.
Daemons waren karakters in de Griekste mythologie, goed noch
slecht, ze waren dienende geesten die op grote schaal nuttige
dingen deden voor de mensheid. Net zoals de huidige webservers
en mailservers nuttige dingen doen. Dit is waarom de mascotte
voor BSD al lang een vrolijk kijkende daemon met puntoren en een
drietand is.Er is een overeenkomst om programma's die meestal draaien als
daemon te voorzien van het achtervoegsel d.
BIND is de Berkeley Internet Name
Daemon (het echte programma heet named), de
Apache webserver heet
httpd, de printerspooldriver heet
lpd, etc. Deze overeenkomst geldt niet
altijd. De hoofd maildaemon voor
Sendmail heet bijvoorbeeld
sendmail en niet
maild.Soms is communicatie met een daemon nodig. Deze
communicatie heet signaleren (signals).
Er kan met een daemon (of met elk ander draaiend proces)
gecommuniceerd worden door er een signaal naartoe te sturen. Er
zijn een verschillende signalen. Sommige hebben een specifieke
bedoeling, andere worden geïntrepeteerd door de applicatie.
In de documentatie van de applicatie staat hoe de applicatie
signalen intrepeteert. Er kan alleen een signaal naar een proces
gezonden worden waar de uitvoerende gebruiker eigenaar van is.
Als met &man.kill.1; of &man.kill.2; een signaal naar een proces
van een andere gebruiker wordt gestuurd, wordt de toegang
geweigerd. De enige uitzondering hierop is de
root gebruiker, die signalen naar processen
van alle gebruikers kan sturen.&os; stuurt soms ook signalen naar applicaties. Als een
applicatie slecht geschreven is en hij probeert geheugen te
benaderen waar hij niet naartoe mag, stuurt &os; het proces een
Segmentation Violation signaal
(SIGSEGV). Als een applicatie de
systeemaanroep &man.alarm.3; heeft gebruikt om na een bepaalde
periode een alarm te ontvangen, wordt er een Alarm signaal
heen gestuurd (SIGALRM), etc.Twee signalen kunnen gebruikt worden om een proces te
stoppen: SIGTERM en
SIGKILL. SIGTERM is de
nette manier om een proces te killen. Het proces kan het signaal
afvangen, begrijpen dat de eigenaar wil dat
het wordt afgesloten, wellicht logboekbestanden sluiten die
geopend zijn en alle onderhanden activiteiten afhandelen. In een
aantal gevallen kan een proces SIGTERM
negeren: als het midden in een taak zit die niet beëindigd
kan worden.SIGKILL mag niet worden genegeerd door een
proces. Dit is het Wat je ook aan het doen bent, stop er
nu mee signaal. Na een SIGKILL
stopt &os; het proces meteen.
Dit is niet geheel waar. Er zijn een aantal dingen
die niet onderbroken kunnen worden. Als het proces
bijvoorbeeld een bestand probeert uit te lezen dat op een
andere computer in het netwerk staat en de andere computer
is verdwenen (uitgezet of het netwerk heeft een fout), dan
wordt er gezegd dat het proces niet
onderbroken kan worden. Uiteindelijk loopt
het proces uit de tijd, meestal na twee minuten. Zodra het
uit de tijd loopt, wordt het proces alsnog gestopt.Andere veelgebruikte signalen zijn SIGHUP,
SIGUSR1 en SIGUSR2. Dit
zijn algemeen bruikbare signalen en verschillende applicaties
zullen verschillend reageren als ze verstuurd worden.Stel dat het bestand met instellingen voor de webserver is
aangepast. Dan moet aan de webserver verteld worden dat die de
instellingen opnieuw moet lezen. Hiervoor zou
httpd gestopt en gestart kunnen worden, maar
dit resulteert in een korte onderbreking van de webserverdienst,
wat ongewenst kan zijn. De meeste daemons zijn geschreven om te
reageren op het SIGHUP signaal door het
opnieuw inlezen van het instellingenbestand. Dus in plaats van
het stoppen en herstarten van httpd kan het
SIGHUP signaal gezonden worden. Omdat er geen
standaard manier is om op deze signalen te reageren, reageren
verschillende daemons anders. Het is verstandig eerst de
documentatie van de daemon in kwestie te lezen.Zoals onderstaand voorbeeld laat zien, worden signalen door
&man.kill.1; verzonden.Het versturen van een signaal naar een procesDit voorbeeld toont hoe een signaal naar &man.inetd.8;
wordt verstuurd. Het bestand met instellingen voor
inetd is
/etc/inetd.conf en
inetd leest dit bestand opnieuw in als er
een SIGHUP wordt verstuurd.Eerst moet het proces ID worden opgezocht van het proces
waar een signaal naar verzonden moeten worden. Dit kan door
&man.ps.1; en &man.grep.1; te gebruiken. &man.grep.1; wordt
gebruikt om in de uitvoer te zoeken en te kijken naar de
string die de gebruiker opgeeft. Dit commando wordt gedraaid
als een normale gebruiker en &man.inetd.8; wordt gedraaid
onder de gebruiker root, dus aan
&man.ps.1; moet de optie meegegeven
worden.&prompt.user; ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wWDus PID van &man.inetd.8; is 198. In sommige gevallen
kan grep inetd ook voorkomen in de
uitvoer. Dit komt door de manier waarop &man.ps.1; de lijst
van draaiende processen moet vinden.Met &man.kill.1; kan het signaal verzonden worden. Omdat
&man.inetd.8; wordt gedraaid door root
moet &man.su.1; gebruikt worden om root
te worden.&prompt.user; suPassword:
&prompt.root; /bin/kill -s HUP 198Zoals zovaak met &unix; commando's, geeft &man.kill.1;
geen uitvoer als het succesvol uitgevoerd is. Als een
signaal wordt verzonden naar een proces waarvan de gebruiker
niet zelf de eigenaar is, dan is de melding: kill:
PID: Operation not
permitted. Als het PID verkeerd wordt
ingevuld, wordt het signaal naar het verkeerde proces
verzonden, wat slecht kan zijn, of, als de gebruiker geluk
heeft, wordt het verzonden naar een PID dat momenteel niet in
gebruik is, waarop de foutmelding kill:
PID: No such process
verschijnt.Waarom /bin/kill gebruiken?Veel shells leveren kill als
ingebouwd commando. Dat betekent dat de shell het
signaal direct verstuurt in plaats van door het starten van
/bin/kill. Dit kan erg nuttig zijn,
maar verschillende shells hebben een verschillende
opdrachtregel voor het specificeren van de naam van het
signaal dat verstuurd moet worden. In plaats van ze
allemaal te leren, is het eenvoudiger om gewoon
/bin/kill PID
te gebruiken.Andere signalen versturen werkt bijna hetzelfde door
TERM of KILL op de
commandoregel te vervangen door wat nodig is.Het stoppen van willekeurige processen op een systeem is
meestal een slecht idee. In het bijzonder bij &man.init.8; met
proces ID 1. Het draaien van /bin/kill -s KILL
1 is een snelle manier om een systeem uit te
zetten. Argumenten die aan &man.kill.1; worden meegegeven
moeten altijd twee keer gecontroleerd
worden voordat op Enter
gedrukt wordt.ShellsshellscommandoregelIn &os; wordt een groot deel van het alledaagse werk
gedaan vanuit een omgeving met een commandoregel die shell heet.
De grootste taak van een shell is om commando's van het
invoerkanaal op te vangen en deze uit te voeren. Veel shells
hebben ook functies ingebouwd om mee te helpen om alledaagse
taken zoals bestandsbeheer, bestandsglobbing, bestanden wijzigen
vanaf de commandoregel, commandomacro's schrijven en uitvoeren en
omgevingsvariabelen instellen en wijzigen. &os; heeft een aantal
shells bijgeleverd zoals sh, de Bourne Shell
en tcsh, de verbeterde C-shell. Er zijn veel
andere shells beschikbaar in de &os; Portscollectie zoals
zsh en bash.Welke shell gebruiken? Dit is een kwestie van smaak. Een
C–programmeur voelt zich misschien prettiger bij een
C–achtige shell, zoals tcsh. Een
voormalig &linux; gebruiker of iemand die niet veel ervaring
heeft met een &unix; commandoregel interface wil misschien
bash proberen. Elke shell heeft zijn eigen
unieke eigenschappen die wel of niet werken voor een bepaalde
gebruiker.Een standaard optie in een shell is bestandsnaam completie.
Door het intikken van de eerste paar letters van een commando of
bestandsnaam, kan de shell opdracht gegeven worden om automatisch
de rest het commando of bestandsnaam toe te voegen met de
Tab toets op het toetsenbord. Stel dat er twee
bestanden zijn met de namen foobar en
foo.bar en foo.bar moet
verwijderd worden. Dan kan op het toetsenbord
rm fo[Tab].[Tab]
ingevoerd worden.De shell geeft rm foo[BEEP].bar
weer.De [BEEP] geeft aan dat de shell in staat was om de
bestandsnaam te completeren omdat er meer dan één
soortgelijk bestand was. foobar en
foo.bar beginnen met fo,
maar het was in staat om het af te maken tot
foo. Na het invoeren van een
. en daarna Tab, is de shell
in staat om de rest van de bestandsnaam aan te vullen.omgevingsvariabelenEen andere optie van de shell is het gebruik van
omgevingsvariabelen. Omgevingsvariabelen zijn variabele
sleutelparen die opgeslagen zijn in de omgevingsruimte van een
shell. Deze ruimte kan uitgelezen worden door elk programma
dat door de shell wordt uitgevoerd en bevat dus veel
programmainstellingen. Hieronder staat een lijst van standaard
omgevingsvariabelen en wat ze betekenen:omgevingsvariabelenVariabeleOmschrijvingUSERGebruikersnaam van de gebruiker die is
aangemeld.PATHEen lijst van mappen, gescheiden door een
: voor het zoeken naar binaire
bestanden.DISPLAYNetwerknaam van het X11 scherm om verbinding mee
te maken, indien beschikbaar.SHELLDe huidige shell.TERMDe naam van de huidige gebruikersterminal.
Gebruikt om de mogelijkheden van de terminal te
bepalen.TERMCAPDatabaseregel met terminal escape codes voor het
uitvoeren van diverse terminalfuncties.OSTYPEType besturingssysteem, bijvoorbeeld &os;.MACHTYPEDe CPU architectuur waar het systeem op
draait.EDITORDe teksteditor waar de gebruiker de voorkeur aan
geeft.PAGERDe tekstpager waar de gebruiker de voorkeur aan
geeft.MANPATHLijst van mappen gescheiden door een
: voor het zoeken naar
handleidingen.Bourne shellsHet instellen van omgevingsvariabelen verschilt van shell tot
shell. In de C–achtige shells zoals
tcsh en csh moet
setenv gebruikt worden om omgevingsvariabelen
in te stellen. In Bourne-shells zoals sh en
bash moet export gebruikt
worden om de omgevingsvariabelen in te stellen. Om bijvoorbeeld
de omgevingsvariabele EDITOR te wijzigen naar
/usr/local/bin/emacs onder
csh of tcsh moet het
volgende gedaan worden:&prompt.user; setenv EDITOR /usr/local/bin/emacsIn Bourne shells is dat:&prompt.user; export EDITOR="/usr/local/bin/emacs"Met de meeste shells kunnen de omgevingsvariabelen ook
weergegeven worden door een $ karakter voor
de variabelenaam te plaatsen op de commandoregel.
echo $TERM zou weergeven wat er in
$TERM gezet is, omdat de shell
$TERM uitbreid en het resultaat doorgeeft aan
echo.Shells kennen veel speciale karakters, die meta-karakters
heten, als speciale weergaves van data. De meest voorkomende is
het karakter * karakter, dat elk
karakter in een bestandsnaam voorstelt. Deze speciale
meta-karakters kunnen gebruikt worden om bestandsnaamglobbing te
doen. Door bijvoorbeeld echo * in te voeren,
is het resultaat bijna hetzelfde als door het uitvoeren van
ls, omdat de shell alle bestanden die
van toepassing zijn aan echo geeft om ze daarna te tonen.Om te voorkomen dat de shell deze speciale tekens
verwerkt, kunnen ze uitgeschakeld worden door er het backslash
karakter (\) voor te plaatsen.
echo $TERM print de inhoud van TERM naar het
scherm. echo \$TERM print $TERM zoals het
geschreven is.Shell wijzigenDe makkelijkste manier om de shell te wijzigen is
door het chsh commando te gebruiken.
Door chsh te starten wordt de editor gestart
die in de EDITOR omgevingsvariable staat. Als
deze niet is ingesteld, wordt vi
gestart. In de editor kan de regel waarop
Shell: staat gewijzigd worden.Aan chsh kan ook de optie
meegegeven worden. Dit stelt de shell in,
zonder dat een editor gebruikt hoeft te worden. Als de shell
bijvoorbeeld gewijzigd moet worden in bash,
kan dat als volgt:&prompt.user; chsh -s /usr/local/bin/bashDe te gebruiken shell moet
geregistreerd zijn in /etc/shells. Als
een shell uit de Portscollectie
is geïnstalleerd, is dit meestal automatisch gebeurd.
Als de shell met de hand is geïnstalleerd moet het
onderstaande gedaan worden.Als bijvoorbeeld bash met de hand
geïnstalleerd is in /usr/local/bin,
dient het onderstaande te gebeuren:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shellsHierna kan chsh weer gedraaid
worden.TeksteditorsteksteditorseditorsEen groot deel van de instellingen in &os; wordt gemaakt door
het bewerken van tekstbestanden. Hierdoor is het een goed
idee om bekend te zijn met een tekstverwerker. &os; heeft er een
paar in het basissysteem en veel anderen zijn beschikbaar via de
Portscollectie.eeeditorseeDe makkelijkste en simpelste editor om te leren is de editor
ee, wat easy editor
betekent. Om ee te starten, moet op
de commandoregel ee
bestandsnaam ingevoerd
worden, waar bestandsnaam de naam is
van het bestand dat bewerkt moet worden. Om bijvoorbeeld
/etc/rc.conf te bewerken, wordt
ee /etc/rc.conf ingegeven. Eenmaal in
ee worden alle manipulatie commando's die de
editor heeft weergegeven aan de bovenkant van het scherm. Het
karakter dakje ^ staat voor de toets
CTRL op het toetsenbord, dus
^e vormt de toetscombinatie Ctrle.
Om uit ee te komen wordt op de toets
Esc gedrukt en daar kan gekozen worden om de
editor te verlaten. De editor vraagt dan of de wijzigingen
bewaard moeten worden als het bestand veranderd is.vieditorsviEmacseditorsEmacs&os; heeft ook uitgebreidere tekstverwerkers, zoals
vi, in het basissysteem en andere
editors als Emacs en
vim maken onderdeel uit van de &os;
Portscollectie (editors/emacs
en editors/vim). Deze
editors leveren veel meer functionaliteit en kracht maar zijn
lastiger om te leren. Als echter veel met tekstverwerking gedaan
wordt, is het leren van een krachtige editor als
vim of
Emacs verstandig omdat deze
uiteindelijk veel tijd kan besparen.Apparaten en apparaatnodesApparaat is een term die meestal wordt gebruikt
voor hardwareonderdelen in een systeem, zoals schijven, printers
grafische kaarten en toetsenborden. Als &os; opstart laat het
vooral zien welke apparaten gedetecteerd worden. Deze
opstartmeldingen kunnen nagekeken worden door het bestand
/var/run/dmesg.boot te bekijken.acd0 is bijvoorbeeld de eerste IDE
cd-rom drive, terwijl kbd0 staat voor
het toetsenbord.Veel van deze apparaten moeten in een &unix;
besturingssysteem benaderd worden via speciale bestanden die
apparaatnodes heten en te vinden zijn in de map
/dev.Apparaatnodes makenAls een nieuw apparaat wordt toegevoegd aan een systeem of
als ondersteuning voor extra apparaten wordt gecompileerd, dan
moeten misschien één of meer apparaatnodes voor
het nieuwe apparaat gemaakt worden.Het MAKEDEV scriptOp systemen zonder DEVFS (dit is het
geval voor alle &os; versies vóór 5.0) worden
apparaatnodes gemaakt door het script &man.MAKEDEV.8; zoals
hieronder wordt aangegeven:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV ad1Dit voorbeeld maakt de juiste apparaatnode voor de tweede
IDE drive wanneer die geïnstalleerd is.DEVFS (apparaatbestandssysteem -
DEVice File System) Het apparaatbestandssysteem of DEVFS,
levert toegang tot de apparaatruimte van de kernel in het
globale bestandssysteem. In plaats van dat het nodig is om
apparaatnodes te maken en te wijzigen, doet
DEVFS dit.In &man.devfs.5; staat meer informatie.DEVFS wordt standaard gebruikt in
&os; 5.0 en verder.Binaire formatenOm te kunnen begrijpen waarom &os; gebruik maakt van
het &man.elf.5; formaat, is het belangrijk op de hoogte zijn
van de drie dominante uitvoerbare formaten voor
&unix;:&man.a.out.5;Het oudste en klassieke &unix; object
formaat. Het gebruikt een korte en compacte kop met een
magisch nummer aan het begin dat veel gebruikt wordt
om het formaat aan te geven (&man.a.out.5; geeft meer
details). Het bevat drie laadbare segmenten: .tekst, .data
en .bss, een symbolentabel en een stringtabel.COFFHet SVR3 object formaat. De kop bestaat uit een
sectietabel, dus er kunnen meer dan alleen .tekst, .data,
en .bss secties zijn.&man.elf.5;De opvolger van COFF, heeft
meerdere secties en 32-bit of 64-bit als mogelijke waarden.
Één nadeel: ELF was ook
ontworpen met de aanname dat er maar één
ABI per systeemarchitectuur zou zijn. Deze aanname is
eigenlijk redelijk incorrect, zelfs niet in de
commerciële SYSV wereld (die op zijn minst drie ABIs
heeft: SRV4, Solaris en SCO).&os; probeert om dit probleem heen te werken door
een hulpprogramma te leveren voor het
brandmerken van een bekend
ELF uitvoerbaar bestand met informatie
over de ABI waar hij mee kan werken. In &man.brandelf.1;
staat meer informatie.&os; komt uit het klassieke kamp en gebruikt
het &man.a.out.5; formaat, een technologie die zich bewezen heeft
door meerdere generaties van BSD versies heen, tot het begin van
de 3.X versies. Alhoewel het al mogelijk was om
ELF programma's en kernels te bouwen en te
draaien op een &os; systeem , verzette &os; zich eerst tegen de
druk om over te schakelen naar ELF als
standaard formaat. Waarom? Toen het &linux; kamp hun pijnlijke
wissel maakte naar ELF, was dat niet zozeer
om van het a.out formaat af te komen, maar
meer omdat van het op de inflexibele jump-tabel gebaseerde
gedeelde bibliotheekmechanisme af te komen, die het maken van
gedeelde bibliotheken erg moeilijk maakte voor bedrijven en
ontwikkelaars. Omdat de ELF hulprogramma's
een oplossing voor het gedeelde bibliotheek probleem waren en
algemeen gezien werden als een stap vooruit,
werd de migratie geaccepteerd als noodzakelijk kwaad en werd de
wissel uitgevoerd. Het gedeelde bibliotheek mechanisme van &os;
is meer gebaseerd op het gedeelde bibliotheek mechanisme van
Sun's &sunos; en daardoor erg makkelijk te gebruiken.Waarom zijn er zoveel verschillende formaten?In het duistere donkere verleden was er simpele hardware.
Deze simpele hardware ondersteunde een simpel klein systeem.
a.out was volledig adequaat voor de taak om
binaire bestanden op dat simpele systeem te vertegenwoordigen
(een PDP-11). Toen mensen &unix; van deze machine gingen porten,
behielden ze het a.out formaat omdat het
voldeed voor de vroege ports van &unix; naar architecturen
als Motorola 68k, VAXen, enzovoort.Toen besloot een slimme hardware engineer dat als hij de
software kon forceren om wat simpele truckjes te doen, hij in
staat was om een paar onderdelen van het ontwerp af te schaven,
waardoor zijn processorcore sneller kon draaien. Terwijl men
probeerde om het met deze nieuwe vorm van hardware te laten
werken (vandaag de dag beter bekend als RISC),
was a.out te beperkt voor deze hardware.
Dus werden er vele formaten ontworpen om betere prestaties te
krijgen uit deze hardware dan het simpele formaat
a.out kon leveren. Toen werden
COFF, ECOFF en een paar
andere duistere formaten uitgevonden en werden de limieten
verkend, waarna men besloot om zich te richten op
ELF.Daarnaast werden programma's groter en bleven schijven (en
fysiek geheugen) relatief klein, zodat het concept van een
gedeelde bibliotheek werd geboren. Het VM systeem werd ook meer
verfijnd. Terwijl al deze verbeteringen bereikt werden door het
a.out formaat, werd het nut met elke nieuwe
eigenschap verder uitgerekt. Daarnaast wilde men dingen
dynamisch laden tijdens het starten of delen weggooien nadat het
programma zijn intiële code had gedraaid om te blijven
hangen in het hoofdgeheugen en in de wisselbestanden. Talen
werden verder verfijnd en men wilde dat code automatisch werd
aangeroepen voor main. Er werden veel hacks gedaan in het
a.out formaat om alles mogelijk te maken en
dit werkte ook enige tijd. Na verloop van tijd was
a.out niet meer in staat om alle problemen
te adresseren zonder toenemende overhead in code en
complexibiliteit. Hoewel ELF veel van deze
problemem verhielp, was het moeilijk om te wisselen naar een
systeem dat compleet anders werkte. Dus moest
ELF wachten totdat het pijnlijker was om
a.out te behouden dan het te migreren naar
ELF.Met het verstrijken van de tijd, werden de bouwprogramma's
die &os; heeft afgeleid van hun bouwprogramma's (vooral de
assembler en de loader) ontwikkeld in twee parallel lopende
takken. De &os; tree voegde gedeelde bibliotheken toe en heeft
wat bugs opgelost. De mensen van GNU die deze programma's hebben
geschreven, hebben ze herschreven en simpelere ondersteuning
toegevoegd voor het bouwen van cross-compilers, waarbij
verschillende formaten zo nodig ingevoegd konden worden,
enzovoort. Omdat veel mensen cross-compilers wilden bouwen die
gericht waren op &os;, hadden die pech, omdat de oudere broncode
van &os; voor as en
ld niet opgewassen was tegen deze
taak. De nieuwe GNU programmaketen
(binutils) ondersteunt
cross-compiling, ELF, gedeelde bibliotheken,
C++ extensies, enzovoort. Daarnaast leveren veel
leverancierds ELF binaire bestanden en is het
goed voor &os; om het te draaien.ELF heeft meer expressiemogelijkheden dan
a.out en geeft meer
uitbreidingsmogelijkheden aan het basissysteem. De
ELF hulpprogramma's worden beter onderhouden
en geven de mogelijkheid tot ondersteuning voor cross compilatie,
wat voor veel mensen belangrijk is. ELF is
misschien iets trager dan a.out, maar
het meten daarvan kan vrij lastig zijn. Er zijn ook ontelbare
verschillen tussen de twee in hoe ze pages opslaan,
initiële code verwerken, enzovoort. Geen van allen zijn ze
erg belangrijk, maar er zijn verschillen. Na verloop van tijd
verdwijnt de ondersteuning voor a.out uit de
GENERIC kernel en uiteindelijk ook helemaal
uit de kernel als de noodzaak voor a.out
gebaseerde programma's voorbij is.Meer informatieHandleidingenhandleidingenDe meest uitvoerige documentatie van &os; is geschreven
in de vorm van handleidingen. Bijna elk programma op het
systeem heeft een kleine handleiding die uitlegt wat de
basisopties en verschillende argumenten doen. Deze
handleidingen bekeken worden met man. Het
gebruik van man gaat als volgt:&prompt.user; man commandocommando is de naam van het commando
waar meer informatie over getoond moet worden. Om bijvoorbeeld
meer informatie weer te geven over ls kan
het volgende uitgevoerd worden:&prompt.user; man lsDe handleidingen zijn opgedeeld in genummerde
onderdelen:Gebruikerscommando's.Systeemaanroepen en foutnummernummers.Functies in de C bibliotheken.Apparaatdrivers.Bestandsindelingen.Spelletjes en andere afleidingen.Diverse informatie.Systeemonderhoud en commando'sKernelontwikkelaars.In sommige gevallen kan een bepaald onderwerp vaker
voorkomen in een onderdeel van de handleidingen. Er is
bijvoorbeeld een gebruikerscommando chmod
en een systeemaanroep chmod(). In deze
gevallen kan man aangegeven worden welke
documentatie weer te geven door het specificeren van het
onderdeel:&prompt.user; man 1 chmodDit geeft de handleiding van het gebruikerscommando
chmod weer. Verwijzingen naar een bepaald
onderdeel van de handleiding worden traditioneel tussen haakjes
geplaatst: &man.chmod.1; verwijst naar het commando
chmod en &man.chmod.2; verwijst naar de
systeemaanroep.Dit werkt prima als de naam van het commando bekend is en
alleen informatie nodig is over het het commando gebruikt kan
worden, maar wat als de naam van het commando niet bekend is?
Dan kan man gebruikt worden om naar
trefwoorden te zoeken in de commandobeschrijvingen door de
optie te gebruiken:
&prompt.user; man -k mailMet dit commando wordt een overzicht getoond met commando's
die het trefwoord mail in hun omschrijving
hebben. Dit is gelijk aan het commando
apropos.Dus om meer informatie over spannende commando's met een
onbekende functie in /usr/bin te krijgen
is het volgende commando voldoende:&prompt.user; cd /usr/bin
&prompt.user; man -f *Het onderstaande commando resulteert in hetzelfde:&prompt.user; cd /usr/bin
&prompt.user; whatis *Gnu infobestandenFree Software Foundation&os; heeft veel applicaties en hulpmiddelen die gemaakt
zijn door de Free Software Foundation (FSF). Als extraatje
voor de documentatie hebben deze programma's uitgebreidere
html bestanden die infobestanden heten,
die uitgelezen kunnen worden met info of,
als emacs is geïnstalleerd, de
infomodus van emacs.&man.info.1; wordt als volgt gebruikt:&prompt.user; infoh geeft een korte beschrijving en
? toont een een kort
commando–overzicht.
diff --git a/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml
index afb2ff9b41..8622cccd02 100644
--- a/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml
@@ -1,1221 +1,1224 @@
ChrisptopheJulietBijgedragen door RenéLadanVertaald door BureaubladapplicatiesOverzicht&os; kan een groot aantal bureaubladapplicaties draaien,
zoals browsers en tekstverwerkers. De meeste hiervan zijn
beschikbaar als packages of kunnen automatisch vanuit de
Portscollectie gebouwd worden. Veel nieuwe gebruikers
verwachten dit soort applicaties op hun bureaublad. Dit
hoofdstuk laat zien hoe populaire bureaubladapplicaties
moeiteloos geïnstalleerd kunnen worden vanuit een package
of vanuit de Portscollectie.Als programma's vanuit ports geïnstalleerd worden, wordt
hun broncode gecompileerd. Dit kan erg lang duren, afhankelijk
van wat er gecompileerd wordt en de rekenkracht van een machine.
Als compileren vanuit broncode te veel tijd kost, kunnen de
meeste programma's van de Portscollectie als een voorafgebouwd
package geïnstalleerd worden.Omdat &os; compatibel is met &linux;, zijn veel applicaties
die voor &linux; zijn ontwikkeld beschikbaar een &os; bureaublad.
Het wordt sterk aanbevolen om te lezen
voordat &linux; applicaties geïnstalleerd worden. Veel
ports die gebruik maken van &linux; compatibiliteit beginnen met
linux-. Dit is handig om te onthouden wanneer er
naar een port gezocht wordt met bijvoorbeeld &man.whereis.1;.
In dit hoofdstuk wordt aangenomen dat &linux; binaire
compatibiliteit is ingeschakeld voordat &linux; applicaties
worden geïnstalleerd.In dit hoofdstuk worden de volgende categoriën
behandeld:Browsers (zoals Mozilla,
Opera,
Firefox,
Konqueror)Productiviteit (zoals
KOffice,
AbiWord,
The GIMP,
OpenOffice.org)Documentviewers (zoals
&acrobat.reader;,
gv,
Xpdf,
GQview)Financieel (zoals
GnuCash,
Gnumeric,
Abacus)Er wordt aangenomen dat de lezer van dit hoofdstuk:Weet hoe aanvullende software van derde partijen
geïnstalleerd wordt ().Weet hoe aanvullende &linux; software geïnstalleerd
wordt ().Meer informatie over een multimedia-omgeving staat in
. Installatie van e-mail staat
beschreven in .Browsersbrowsersweb&os; wordt zonder een voor-geïnstalleerde browser
geleverd. In plaats hiervan bevat de
www map van de
Portscollectie browsers om te installeren. Het is ook mogelijk
voor de meeste ports een package te installeren als compileren
niet gewenst is. Compileren kan soms lang duren.KDE en
GNOME bevatten reeds HTML-browsers.
In staat meer informatie over de
installatie van deze complete bureaubladen.Lichtgewicht browsers uit de Portscollectie zijn onder andere
www/dillo,
www/links of
www/w3m.Dit gedeelte behandelt deze applicaties:ApplicatieBronnenPortsAfhankelijkhedenMozillaveelzwaarGtk+Operaweiniglicht&os; en &linux; versies beschikbaar. De &linux;
versie is afhankelijk van de &linux; binaire
compatibiliteit en
linux-openmotif.FirefoxgemiddeldzwaarGtk+KonquerorgemiddeldzwaarKDE bibliothekenMozillaMozilla
- Mozilla is misschien wel de
- meest geschikte browser voor &os;. De browser is modern,
- stabiel en volledig geschikt naar &os;. De HTML-weergave
+ Mozilla is een moderne en
+ stabiele browser die volledig geschikt gemaatks is voor
+ &os;. De HTML-weergave
engine voldoet in grote mate aan de standaarden. Er worden een
mail- en nieuwslezer bijleverd en het pakket bevat zelfs een
HTML-bewerker voor het maken van webpagina's.
Mozilla heeft dezelfde broncodebasis
met &netscape;Communicator.Op langzame machines, met een CPU-snelheid van 233MHz of
minder dan 64MB aan RAM, kan Mozilla
te veeleisend zijn om volledig bruikbaar te zijn. In dat
geval is Opera browser een mogelijke
vervanger.Als het niet wenselijk of mogelijk is om
Mozilla te compileren, dan is dit al
door het &os; GNOME team gedaan. Het package kan
geïnstalleerd worden met:&prompt.root; pkg_add -r mozillaAls het package niet beschikbaar is en er genoeg tijd en
schijfruimte schikbaar zijn, kan de broncode van
Mozilla gedownload, gecompileerd en
geïnstalleerd worden. Dit gaat met:&prompt.root; cd /usr/ports/www/mozilla
&prompt.root; make install cleanDe Mozilla port zorgt voor een
correcte installatie door de
chrome registry setup met
root rechten te draaien. Als echter ook
toevoegingen zoals muisgebaren geïnstalleerd moeten
worden, dan moet Mozilla als
root gedraaid worden om dat op de juiste
wijze geïnstalleerd te krijgen.Als de installatie van Mozilla
eenmaal voltooid is, is root zijn niet
langer nodig. Mozilla kan als
browser gestart worden met:&prompt.user; mozillaHet kan direct als mailprogramma of nieuwslezer gestart
worden met:&prompt.user; mozilla -mailTomRhodesBijgedragen door Mozilla en &java; pluginMozilla installeren is
eenvoudig, maar helaas neemt Mozilla
installeren met ondersteuning voor add-ons zoals &java; en
¯omedia; &flash; zowel tijd als schijfruimte in
beslag.Als eerste moeten de bestanden gedownload worden die
gebruikt worden met Mozilla. Op
kan een account aangemaakt worden. De gebruikersnaam en het
wachtwoord moeten bewaard worden omdat ze in de toekomst nog
nodig kunnen zijn. Download daarna de bestanden
jdk-1_5_0-bin-scsl.zip (JDK 5.0 SCSL
Binaries) en jdk-1_5_0-src-scsl.zip (JDK
5.0 SCSL Source) en plaats ze in
/usr/ports/distfiles omdat de port ze niet
automatisch download. Dit heeft te maken met beperkingen in de
licentie. Ook kan meteen de java environment
vanaf
gedownload worden. De bestandsnaam is
j2sdk-1_4_2_08-linux-i586.bin. Ook dit
bestand dient in /usr/ports/distfiles/ te
worden geplaatst. Download ook de java patchkit
van
en plaats deze in /usr/ports/distfiles/.
Installeer tenslotte de port java/jdk15 met het
standaardcommando make install clean.Start Mozilla ga naar de optie
About Plug-ins in het menu
Help. Daar hoort nu de
&java; plugin in de lijst te
staan.Mozilla en ¯omedia; &flash; plugin¯omedia; &flash; plugin is niet beschikbaar voor &os;.
Er is echter wel een softwarelaag (wrapper) om de
&linux;-versie van de plugin te draaien. Deze wrapper
ondersteunt ook &adobe; &acrobat; plugin, RealPlayer plugin en
meer.Installeer de port www/linuxpluginwrapper. Deze
is afhankelijk van emulators/linux_base wat een grote
port is. Volg de instructies die door de port worden
weergegeven om /etc/libmap.conf juist in
te stellen! Voorbeeldinstellingen worden geïnstalleerd in
de map
/usr/local/share/examples/linuxpluginwrapper/.Installeer de www/mozilla port als
Mozilla niet al is
geïnstalleerd.Mozilla kan gestart worden
met:&prompt.user; mozilla &Ga naar de optie About Plug-ins
van het menu Help. Er verschijnt een
lijst met alle beschikbare plugins.De linuxpluginwrapper werkt
alleen op de &i386; systeemarchitectuur.OperaOpera
- Opera is een zeer snelle,
- complete browser en voldoet aan standaarden. Hij komt in twee
- smaken: een &os; versie en een versie die draait onder &linux;
- emulatie.
+ Opera is een volledige en
+ een standaard volgende browser. Hij wordt standaard
+ geleverd met een ingebouwde email-client, een nieuwslezer,
+ een IRC client, een RSS/ATOM feed lezer en nog veel meer.
+ Ondanks dat is Opera relatief gezien
+ niet zwaar en erg snel. Hij komt in twee smaken: een
+ &os; versie en een versie die draait onder &linux; emulatie.De &os; package versie van Opera
wordt zo geïnstalleerd:&prompt.root; pkg_add -r operaSommige FTP-sites hebben niet alle packages, maar hetzelfde
resultaat kan worden behaald met de Portscollectie door te
typen:&prompt.root; cd /usr/ports/www/opera
&prompt.root; make install cleanDe &linux; versie van Opera
kan geïnstlleerd worden door bij de bovenstaande
voorbeelden linux-opera te gebruiken in
plaats van opera. De &linux; versie is
nuttig in situaties waarin plugins nodig zijn die alleen voor
&linux; beschikbaar zijn, zoals
Adobe &acrobat.reader;. In alle
andere opzichten lijken de &os; en &linux; versies
identiek.FirefoxFirefoxFirefox is de browser voor de
volgende generatie, gebaseerd op de codebase van
Mozilla.
Mozilla is een volledig pakket van
applicaties, zoals een browser, een mailclient, een chatclient
en nog veel meer. Firefox is gewoon
een browser wat het kleiner en sneller maakt.Het package is te installeren met:&prompt.root; pkg_add -r firefoxVia de Portscollectie kan ook de broncode gecompileerd
worden:&prompt.root; cd /usr/ports/www/firefox
&prompt.root; make install cleanKonquerorKonquerorKonqueror is deel van
KDE, maar kan ook buiten
KDE gebruikt worden door x11/kdebase3 te installeren.
Konqueror is meer dan een browser.
Het is ook een bestandsbeheerder en multimedia-viewer.Konqueror wordt ook met een
verzameling plugins geleverd, beschikbaar in misc/konq-plugins.Konqueror ondersteunt ook
&flash;. Daarover is meer
informatie beschikbaar op .ProductiviteitAls het op productiviteit aankomt, zoeken nieuwe gebruikers
vaak een goed kantoorpakket of een vriendelijke tekstverwerker.
Hoewel sommige bureaubladomgevingen
zoals KDE reeds een kantoorpakket
verschaffen, is er geen standaardapplicatie. &os; verschaft
alles wat nodig is, ongeacht de bureaubladomgeving.In dit gedeelte worden de onderstaande applicaties
beschreven:ApplicatieBronnenPortsAfhankelijkhedenKOfficeweinigzwaarKDEAbiWordweiniglichtGtk+ of
GNOMEThe GIMPweiniglichtGtk+OpenOffice.orgveelerg zwaar&jdk; 1.4,
MozillaKOfficeKOfficekantoorpakketKOfficeDe KDE-gemeenschap heeft zijn bureaubladomgeving met een
kantoorpakket geleverd dat buiten
KDE gebruikt kan worden. Het bevat
de vier standaardcomponenten uit andere kantoorpakketten.
KWord is de tekstverwerker,
KSpread is het spreadsheetprogramma,
KPresenter beheert diapresentaties
en Kontour voorziet in grafische
mogelijkheden.Voordat de nieuwste KOffice
wordt geïnstalleert, moet er een recente versie van
KDE geïnstalleerd zijn.KOffice als package installeren
gaat met het volgende commando:&prompt.root; pkg_add -r kofficeAls het package niet beschikbaar is, kan de Portscollectie
gebruiken worden. Om KOffice voor
KDE3 te installeren:&prompt.root; cd /usr/ports/editors/koffice-kde3
&prompt.root; make install cleanAbiWordAbiWordAbiWord is een vrij
tekstverwerkingsprogramma, ongeveer gelijk aandoet als
µsoft; Word. Het is geschikt
om verslagen, brieven, rapporten, memo's, enzovoort mee te
typen. Het programma is snel, bevat veel mogelijkheden en is
gebruikersvriendelijk.AbiWord kan veel
bestandsformaten importeren en exporteren, waaronder enkele
gesloten formaten, zoals µsoft;
.doc.AbiWord is beschikbaar als
package en te installeren met:&prompt.root; pkg_add -r abiwordAls het package niet beschikbaar is, kan het worden
gecompileerd vanuit de Portscollectie. De Portscollectie is
meer recent. Dat kan als volgt:&prompt.root; cd /usr/ports/editors/abiword
&prompt.root; make install cleanThe GIMPThe GIMPVoor het bewerken of retoucheren van afbeeldingen is
The GIMP een zeer geavanceerd
afbeeldingenmanipulatieprogramma. Het kan als eenvoudig
tekenprogramma worden gebruikt of als kwalititeitspakket voor
het retoucheren van foto's. Het ondersteunt een groot aantal
plugins en bevat een scripting interface.
The GIMP kan een groot aantal
bestandsformaten lezen en schrijven. Het ondersteunt
interfaces met scanners en tabletten.Het pakket is te installeren als package met:&prompt.root; pkg_add -r gimpAls een FTP-site dit package niet heeft, kan de
Portscollectie gebruikt worden. De graphics map van
de Portscollectie bevat ook
The GIMP Manual. Die kan zo
geïnstalleerd worden:&prompt.root; cd /usr/ports/graphics/gimp
&prompt.root; make install clean
&prompt.root; cd /usr/ports/graphics/gimp-manual-pdf
&prompt.root; make install cleanDe
graphics
map van de Portscollectie bevat de ontwikkelversie van
The GIMP in graphics/gimp-devel. Een HTML
versie van The GIMP Manual staan
in graphics/gimp-manual-html.OpenOffice.orgOpenOffice.orgkantoorpakketOpenOffice.orgOpenOffice.org bevat alle
noodzakelijke applicaties in een compleet
kantoorproductiviteitspakket: een tekstverwerker,
een spreadsheet, een presentatiebeheerder en een
tekenprogramma. De gebruikersinterface is vrijwel gelijk aan
die van andere kantoorpakketten en het kan veel populaire
bestandsformaten in- en uitvoeren. Het is beschikbaar in een
aantal verschillende talen met interfaces, spellingcontrole en
woordenboeken.De tekstverwerker van
OpenOffice.org gebruikt een eigen
XML-bestandsformaat voor overdraagbaarheid en flexibiliteit.
Het spreadsheetprogramma bevat een macrotaal en kan gekoppeld
worden aan externe databases.
OpenOffice.org is stabiel en draait
zonder aanpassingen op &windows;, &solaris;, &linux;, &os; en
&macos; X. Meer informatie over
OpenOffice.org staat op de OpenOffice.org
website. Voor specifieke &os; informatie en om
direct packages te downloaden is er de website van het &os;
OpenOffice.org Porting Team.Om OpenOffice.org te
installeren:&prompt.root; pkg_add -r openofficeDit hoort te werken als er een -RELEASE versie van &os;
wordt gedraaid. In andere gevallen is het verstandig om te
kijken op de website van het &os; OpenOffice.org Porting Team
en het juiste package met &man.pkg.add.1;te downloaden en te
installeren. Zowel de huidige release als de ontwikkelversie
kunnen op die locatie gedownload worden.Als het package geïnstalleerd is, start dan met het
volgende commando
OpenOffice.org:&prompt.user; openoffice.orgTijdens de eerste keer starten worden er een aantal
vragen gesteld en wordt de map
.openoffice.org2 in de thuismap van de
aangemelde gebruiker gemaaktAls de OpenOffice.org packages
niet beschikbaar zijn, kan het uit de ports gecompileerd
worden. Hiervoer is veel schijfruimte en tijd nodig:&prompt.root; cd /usr/ports/editors/openoffice.org-2.0
&prompt.root; make install cleanVervang om een gelocaliseerde versie te bouwen de
voorgaande commandoregel door de volgende:&prompt.root; make LOCALIZED_LANG=your_language install cleanVervang taal door de juiste
ISO-taalcode. Een lijst met ondersteunde taalcodes is
beschikbaar in het bestand
files/Makefile.localized in de map van
de port.Start hierna OpenOffice.org
met:&prompt.user; openoffice.orgDocumentviewersHet kan zijn dat de standaardviewers voor een aantal
populaire bestandsformaten niet in het basissysteem zitten. In
dit gedeelte wordt aangegeven hoe die geïnstalleerd kunnen
worden.Dit gedeelte behandelt de onderstaande applicaties:ApplicatieBronnenPortsAfhankelijkheden&acrobat.reader;weiniglicht&linux; binaire compatibiliteitgvweiniglichtXaw3dXpdfweiniglichtFreeTypeGQviewweiniglichtGtk+ of
GNOME&acrobat.reader;&acrobat.reader;PDFbekijkenDocumenten worden vaak als PDF-bestanden, Portable
Document Format, verspreid. Een van de aanbevolen
viewers voor dit bestandstype is
&acrobat.reader; dat Adobe voor
&linux; heeft uitgegeven. Omdat &os; &linux; binaries kan
draaien, is het ook beschikbaar voor &os;.Om &acrobat.reader; 5 te
installeren uit de Portscollectie:&prompt.root; cd /usr/ports/print/acroread7
&prompt.root; make install cleanVanwege de licentie is een package niet beschikbaar.gvgvPDFbekijken&postscript;bekijkengv is een &postscript; en PDF
viewer. Het is gebaseerd op
ghostview maar heeft een
vriendelijker uiterlijk dankzij de
Xaw3d bibliotheek. Het is snel en
heeft mogelijkheden als oriëntatie, papiergrootte, schalen
en anti-aliassen. Bijna elke bewerking kan met het
toetsenbord of de muis worden gedaan.gv is als package te
installeren:&prompt.root; pkg_add -r gvOf uit de Portscollectie:&prompt.root; cd /usr/ports/print/gv
&prompt.root; make install cleanXpdfXpdfPDFbekijkenXpdf een efficiënte
lichtgewicht PDF-viewer voor &os;. Het heeft erg weinig
bronnen nodig en is zeer stabiel. Het gebruikt de standaard
X-fonts en is niet afhankelijk van
&motif; of andere X-toolkits.Xpdf is als package te
installeren:&prompt.root; pkg_add -r xpdfOf uit de Portscollectie:&prompt.root; cd /usr/ports/graphics/xpdf
&prompt.root; make install cleanAls de installatie voltooid is, kan
Xpdf gestart worden en het menu kan
met de rechtermuisknop geactiveerd worden.GQviewGQviewGQview is een
afbeeldingenbeheerder. Een bestand kan met één
klik bekeken worden, er kan een externe editor opgestart worden
er kunnen thumbnail-voorbeelden gemaakt worden en nog veel
meer. Het bevat ook een diapresentatie-modus en enkele
standaard bestandsoperaties. Er kunnen
afbeeldingsverzamelingen beheerd worden en eenvoudig duplicaten
gevonden worden. GQview kan het
complete scherm gebruiken en ondersteunt meerdere talen.GQview is als package te
installeren:&prompt.root; pkg_add -r gqviewOf vanuit de Portscollectie:&prompt.root; cd /usr/ports/graphics/gqview
&prompt.root; make install cleanFinanciënOm financiën via het &os; bureaublad te beheren zijn er
krachtige en gemakkelijk te gebruiken applicaties om te
installeren. Sommige zijn compatibel met wijdverbreide
bestandsformaten zoals Quicken of
Excel documenten.Dit gedeelte behandelt deze applicaties:ApplicatieBronnenPortsAfhankelijkhedenGnuCashweinigzwaarGNOMEGnumericweinigzwaarGNOMEAbacusweiniglichtTcl/TkGnuCashGnuCashGnuCash is onderdeel van
GNOME dat gebruikersvriendelijke en
krachtige applicaties aan eindgebruikers wil leveren. Met
GnuCash kunnen inkomsten en
uitgaven, bankrekeningen en voorraden bijgehouden worden. Het
bevat een intuïtieve interface terwijl het erg
professioneel blijft.GnuCash levert een slim kasboek,
een hiërarchisch systeem van rekeningen, veel
toetsenbordversnellers en auto-invul mogelijkheden. Het een
transactie splitsen in meer gedetailleerde stukken.
GnuCash kan
Quicken QIF-bestanden invoeren en
samenvoegen. Het kan ook met de meeste internationale datum-
en valutaformaten omgaan.GnuCash is als package te
installeren:&prompt.root; pkg_add -r gnucashOf uit de Portscollectie:&prompt.root; cd /usr/ports/finance/gnucash
&prompt.root; make install cleanGnumericGnumericspreadsheetGnumericGnumeric is een spreadsheet uit
de GNOME bureaubladomgeving. Het
maakt gebruikt van auto-invullen afhankelijk van
het celformaat. Het kan bestanden in een aantal populaire
formaten zoals Excel,
Lotus 1-2-3 en
Quattro Pro inlezen.
Gnumeric ondersteunt grafieken door
middel van het grafiekprogramma math/guppi. Het heeft een groot
aantal ingebouwde functies en kent gebruikelijke celformaten
als nummer, valuta, datum, tijd en veel meer.Gnumeric is als package te
installeren:&prompt.root; pkg_add -r gnumericOf uit de Portscollectie:&prompt.root; cd /usr/ports/math/gnumeric
&prompt.root; make install cleanAbacusAbacusspreadsheetAbacusAbacus is een kleine en
gemakkelijk te gebruiken spreadsheet en bevat veel ingebouwde
functies die nuttig zijn in verschillende domeinen zoals
statistiek, financiën, en wiskunde. Het kan
Excelbestanden lezen en schrijven.
Abacus kan &postscript;
uitvoer produceren.Abacus is als package te
installeren:&prompt.root; pkg_add -r abacusOf uit de Portscollectie:&prompt.root; cd /usr/ports/deskutils/abacus
&prompt.root; make install cleanSamenvattingHoewel &os; populair is bij ISP's om zijn prestaties en
stabiliteit, is het behoorlijk klaar voor dagelijks gebruik als
een bureaublad. Met enkele duizenden applicaties als packages of ports, is een perfect
bureaublad te bouwen dat aan alle noden voldoet.Als een bureaublad is geïnstalleerd is het mogelijk een
stap verder te gaan met misc/instant-workstation. Met deze
meta-port kan een verzameling ports gebouwd worden
die aangepast kan worden door
/usr/ports/misc/instant-workstation/Makefile
te bewerken en de gebruikte syntaxis voor de standaardverzameling
om ports toe te voegen of te verwijderen te gebruiken. Het
bouwen gaat volgens de gebruikelijke procedure. Uiteindelijk is
het zo mogelijk één groot package te creëren
voldoet aan de persoonlijke eisen van een gebruiker dat te
installeren is op alle gebruikte werkstations!Nu volgt nog een overzicht van alle bureaubladapplicaties die
in dit hoofdstuk zijn behandeld:ApplicatiePackagePortMozillamozillawww/mozillaOperalinux-operawww/linux-operaFirefoxfirefoxwww/firefoxKOfficekoffice-kde3editors/koffice-kde3AbiWordabiwordeditors/abiwordThe GIMPgimpgraphics/gimpOpenOffice.orgopenofficeeditors/openoffice-1.1&acrobat.reader;acroread5print/acroread7gvgvprint/gvXpdfxpdfgraphics/xpdfGQviewgqviewgraphics/gqviewGnuCashgnucashfinance/gnucashGnumericgnumericmath/gnumericAbacusabacusdeskutils/abacus
diff --git a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
index cd591e192c..7ec042cdd1 100644
--- a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,2052 +1,2052 @@
RossLippertAangepast door SiebrandMazelandVertaald door MultimediaOverzicht&os; ondersteunt een breed bereik aan geluidskaarten,
waardoor het mogelijk is van geluid van hoge kwaliteit op een
computer te genieten. Hieronder vallen mogelijkheden om geluid
op te nemen en af te spelen in de MPEG Audio Layer 3 (MP3), WAV
en Ogg Vorbis formaten en vele andere formaten. De &os;
Portscollectie bevat ook programma's waarmee opgenomen audio
bewerkt kan worden, waarmee geluidseffecten toegevoegd kunnen
worden en aangesloten MIDI apparaten bestuurd kunnen
worden.Met wat wil om te experimenteren kunnen met &os;
videobestanden en DVD's afgespeeld worden. Er zijn minder
programma's om video te encoderen, te converteren en af te spelen
dan er zijn voor audio. Op het moment van schrijven is er
bijvoorbeeld geen programma in de &os; Portscollectie beschikbaar
waarmee video goed gehercodeerd kan worden. Deze functie zou
gebruikt kunnen worden om tussen formaten te converteren, zoals
mogelijk is met audio/sox.
De software in dit landschap is echter sterk aan verandering
onderhevig.In dit hoofdstuk worden de stappen beschreven die uitgevoerd
moeten worden om een geluidskaart in te stellen. Bij de
installatie en instelling van X11 () is al
beschreven hoe videokaarten ingesteld kunnen worden, hoewel er
nog wel een aantal mogelijkheden zijn om het afspelen te
verbeteren.Na het lezen van dit hoofdstuk weet de lezer:Hoe een systeem zo in te stellen dat een geluidskaart
wordt herkend;Hoe getest kan worden of een kaart werkt door gebruik te
maken van voorbeeldapplicaties;Hoe problemen op te lossen met betrekking tot
geluidsinstellingen;Hoe MP3's en andere audio af te spelen en te
maken;Hoe video wordt ondersteund door de X server;Welke video speler/encoderports goede resultaten
geven;Hoe DVD's, .mpg en
.avi bestanden af te spelen;Hoe CD en DVD informatie naar bestanden geript kan
worden;Hoe een TV-kaart in te stellen;Hoe een scanner in te stellen.Er wordt aangenomen dat de lezer van dit hoofdstuk:Weet hoe een nieuwe kernel in te stellen en te
installeren ().Het proberen te mounten van audio CD's met &man.mount.8;
resulteert in ieder geval in een foutmelding en op zijn ergst
in een kernel panic. Dat type media heeft
een formaat dat afwijkt van het gebruikelijke
ISO-bestandssysteem.MosesMooreGeschreven door MarcFonvieilleAangepast voor &os; 5.X door Geluidskaart installerenSysteem instellenPCIISAgeluidskaartenAlvorens te beginnen is het van belang te weten welk model
een geluidskaart is, welke chip erop wordt gebruikt en of het
een PCI of ISA kaart is. &os; ondersteunt vele PCI en ISA
kaarten. De ondersteunde audioapparaten staan in een lijst in
de Hardware Notes.
In dit document staat ook beschreven welk stuurprogramma welke
kaart(en) ondersteunt.kernelinstellenOm een geluidsapparaat te gebruiken dient het juiste
apparaatstuurprogramma geladen te worden. Dit kan op twee
manieren. De meest eenvoudige manier is simpelweg een
kernelmodule te laden voor de gewenste geluidskaart met
&man.kldload.8;. Dit kan vanaf de commandoregel:&prompt.root; kldload snd_emu10k1Of door als volgt de juiste regel toe te voegen aan
/boot/loader.conf:snd_emu10k1_load="YES"De bovenstaande voorbeelden zijn voor een Creative
&soundblaster; Live! geluidskaart. De overige beschikbare
laadbare geluidsmodules staan beschreven in
/boot/defaults/loader.conf. Als niet
compleet duidelijk is welk stuurprogramma gebruikt dient te
worden, dan kan het met de module
snd_driver geprobeerd worden:&prompt.root; kldload snd_driverDit is een metastuurprogramma, dat in één
keer de meest voorkomende apparaatstuurprogramma's laadt.
Hiermee kan het zoeken naar het juiste stuurprogramma versneld
worden. Het is ook mogelijk om alle geluidsstuurprogramma's te
laden via de optie
/boot/loader.conf.Om uit te vinden welk struurprogramma na het laden van het
metastuurprogramma snd_driver wordt
geladen kan de inhoud van het bestand
/dev/sndstat nagekeken worden met
cat /dev/sndstat.Om onder &os; 4.X alle geluidsstuurprogramma's te
laden, dient de module snd geladen te
worden in plaats van snd_driver.Een tweede mogelijkheid is ondersteuning voor een
geluidskaart statisch in de kernel te compileren. In de
onderstaande paragrafen staat meer informatie over hoe op die
manier ondersteuning voor hardware toegevoegd kan worden. Meer
informatie over het hercompileren van een kernel staat in .Aangepaste kernel maken met geluidsondersteuningEerst moet het generieke audiostuurprogramma
&man.sound.4; aan de kernel toegevoegd worden. Daarvoor
dient het volgende te worden opgenomen in het bestand met
kernelinstellingen:device soundVoor &os; 4.X kan het volgende gebruikt
worden:device pcmDaarna kan ondersteuning voor de specifieke geluidskaart
toegevoegd worden. Daarvoor moet bekend zijn welk
stuurprogramma de kaart ondersteunt. Dit kan opgezocht
worden in de lijst met ondersteunde audioapparaten in de
Hardware Notes,
waar de correcte stuurprogramma's voor geluidskaarten
beschreven staan. Zo wordt een Creative &soundblaster; Live!
geluidskaart bijvoorbeeld ondersteund door het stuurprogramma
&man.snd.emu10k1.4;. Ondersteuning voor deze kaart kan als
volgt worden toegevoegd:
- device "snd_emu10k1"
+ device snd_emu10k1In de hulppagina voor een stuurprogramma staat welke
syntaxis gebruikt kan worden. Informatie over de syntaxis
van geluidsstuurprogramma's in de kernelinstellingen staat
ook in /usr/src/sys/conf/NOTES
(/usr/src/sys/i386/conf/LINT voor
&os; 4.X).Voor niet-PnP ISA-kaarten kan het nodig zijn dat de
kernel informatie gegeven moet worden over de instellingen
van een geluidskaart (IRQ, I/O poort, enzovoort). Dit kan
via het bestand /boot/device.hints. Bij
het starten van een systeem leest de &man.loader.8; dat
bestand uit en geeft de instellingen door aan de kernel. Zo
gebruikt een oude Creative &soundblaster; 16 ISA
niet-PnP-kaart het stuurprogramma &man.snd.sbc.4; samen met
snd_sb16(4) en dient de volgende regel toegevoegd te worden
aan het bestand met kernelinstellingen:device snd_sbc
device snd_sb16Daarnaast moet het volgende worden toegevoegd aan
/boot/device.hints:hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"In dit geval gebruikt de kaart I/O poort
0x220 en IRQ 5.De gebruikte syntaxis voor
/boot/device.hints staat beschreven in
de hulppagina voor het geluidsstuurprogramma. In
&os; 4.X worden deze instellingen direct in het bestand
met kernelinstellingen gezet. In het geval van de
bovenstaande ISA-kaart gaat dat al volgt:device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15De bovenstaande instellingen zijn de standaard
instellingen. In sommige gevallen moeten IRQ of andere
instellingen gewijzigd worden om een apparaat juist te laten
werken. In &man.snd.sbc.4; staat meer informatie.Onder &os; 4.X hebben sommige systemen met
audioapparaten op het moederbord de volgende optie in het
bestand met kernelinstellingen nodig:options PNPBIOSGeluidskaart testenNa het herstarten met de aangepaste kernel of na het laden
van de benodigde module, hoort de geluidskaart ongeveer als
volgt te verschijnen in de systeemberichtbuffer
(&man.dmesg.8;):pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>De status van de geluidskaart kan gecontroleerd worden via
het bestand /dev/sndstat:&prompt.root; cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)De uitvoer kan per systeem wat verschillen. Als er geen
apparaten pcm verschijnen, dienen
eerdere stappen bekeken te worden. Bekijk nogmaals de
instellingen van de kernel en bevestig dat het juiste apparaat
is gekozen. Veel voorkomende problemen staan beschreven in
.Als het goed is werkt de geluidskaart nu. Als de cd-rom of
DVD-ROM drive juist is aangesloten op de geluidskaart, dan kan
er een CD in de drive gestoken worden en kan deze met
&man.cdcontrol.1; afgespeeld worden:&prompt.user; cdcontrol -f /dev/acd0 play 1Applicaties als audio/workman kunnen een
vriendelijker interface bieden. Wellicht is het handig om een
applicatie als audio/mpg123
te installeren om naar MP3 audiobestanden te luisteren. Een
snelle manier om de kaart te testen is het als volgt sturen van
data naar /dev/dsp:&prompt.user; cat filename > /dev/dspfilename kan ieder bestand zijn.
Deze commandoregel hoort wat ruis tot gevolg te hebben,
waardoor wordt bevestigd dat de geluidskaart echt werkt.&os; 4.X gebruikers moeten de geluidskaart
apparaatnodes maken voordat hij gebruikt kan worden. Als de
kaart voorkomt in de berichtbuffer als
pcm0, dan dient het volgende als
root uitgevoerd te worden:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Als de kaart herkend is als
pcm1, kunnen dezelfde stappen als
hierboven gevolgd worden, waarbij
snd0 wordt vervangen door
snd1.MAKEDEV maakt een groep apparaatnodes
aan die gebruikt worden voor de applicaties die met geluid
te maken hebben.Niveau's voor de geluidskaartmixer kunnen aangepast worden
met het commando &man.mixer.8;. Er staan meer details in
&man.mixer.8;.Bekende problemenapparaatnodesI/O poortIRQDSPFoutOplossingunsupported
subdevice XXEén of meer van de apparaatnodes zijn
niet correct gemaakt. De bovenstaande stappen dienen
opnieuw uitgevoerd te worden.sb_dspwr(XX) timed
outDe I/O poort is niet correct ingesteld.bad irq XXHet IRQ is niet correct ingesteld. Zorg dat het
ingestelde IRQ en het IRQ voor het geluid hetzelfde
zijn.xxx: gus pcm not attached, out of
memoryEr is niet genoeg geheugen beschikbaar om het
apparaat te gebruiken.xxx: can't open
/dev/dsp!Controleer fstat | grep dsp
of een ander programma het apparaat geopend heeft.
Bekende probleemgevallen zijn
esound en
KDE's
geluidsondersteuning.MunishChopraGeschreven door Meerdere geluidsbronnen gebruikenHet is vaak wenselijk om meerdere geluidsbronnen
tegelijkertijd af te kunnen spelen, zoals wanneer
esound of
artsd het delen van een
geluidsapparaat met een andere applicatie niet
ondersteunen.Met &os; kan dit met Virtuele
Geluidskanalen, die ingesteld kunnen worden met de
&man.sysctl.8; faciliteit. Met virtuele kanalen kunnen de
afspeelkanalen van een geluidskaart gemultiplext worden door
het geluid in de kernel te mixen.Het aantal virtuele kanalen kan met twee sysctl knoppen
als root als volgt ingesteld
worden:&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4In het bovenstaande voorbeeld worden vier virtuele kanelen
gealloceerd, wat in het dagelijks gebruik voldoende is.
In hw.snd.pcm0.vchans staat het aantal
vitruele kanalen dat pcm0 heeft en is
instelbaar als een apparaat is aangesloten.
In hw.snd.maxautovchans staat het aantal
virtuele kanalen dat aan een nieuw audio-apparaat wordt gegeven
als het wordt aangesloten met &man.kldload.8;. Omdat de module
pcm onafhankelijk van de hardware
stuurprogramma's geladen kan worden, kan in
hw.snd.maxautovchans opgeslagen worden
hoeveel virtuele kanalen apparaten die later worden aangesloten
krijgen.Het aantal virtuele kanalen voor een apparaat kan niet
gewijzigd worden als het in gebruik is. Sluit eerst alle
programma's die het apparaat gebruiken, zoals muziekspelers
of geluidsdaemons.Als er geen gebruik wordt gemaakt van &man.devfs.5;, dan
moeten applicaties wijzen naar
/dev/dsp0.x,
waar x tussen 0 en 3 ligt als
hw.snd.pcm.0.vchans is ingesteld op 4, zoals
in het bovenstaande voorbeeld. Op een systeem waar
&man.devfs.5; wordt gebruikt, wordt het voorgaande voor een
gebruiker automatisch transparant gealloceerd.JosefEl-RayesGeschreven door Standaardwaarden voor mixerkanalen instellen
+
+ Dit wordt alleen ondersteund op &os; 5.3-RELEASE en
+ later.
+
+
De standaard waarden voor de mixerkanelen zijn ingesteld in
de broncode van het stuurprogramma &man.pcm.4;. Er zijn vele
applicaties en daemons waarmee waarden voor de mixer ingesteld
en onthouden kunnen worden en iedere keer bij het starten
weer kunnen worden ingesteld. Maar dit is geen nette
oplossing, omdat het netter is de standaardwaarden in te
stellen op het niveau van het stuurprogramma. Die kunnen
ingesteld worden door de gewenste waarden in te stellen in
/boot/device.hints. Bijvoorbeeld:hint.pcm.0.vol="100"Met de bovenstaande instelling wordt het volume van een
kanaal standaard op 100 ingesteld bij het laden van de module
&man.pcm.4;.
-
-
- Dit wordt alleen ondersteund in &os; 5.3-RELEASE en
- later.
- ChernLeeGeschreven door MP3 audioMet MP3 (MPEG Layer 3 Audio) kan geluid bijna in CD-kwaliteit
weergegeven worden en dus is er een goede reden om dit vooral
niet na te laten op een &os; werkstation.MP3 spelersVerreweg de meest populaire X11 MP3 speler is
XMMS (X Multimedia Systeem).
In XMMS kunnen
Winamp skins gebruikt worden, omdat
de GUI vrijwel gelijk is aan die van Nullsoft's
Winamp.
XMMS heeft ook een eigen plug-in
ondersteuning.XMMS kan geïnstalleerd
worden via de multimedia/xmms port of
package.De interface van XMMS is
intuïtief met een playlist, grafische equalizer en meer.
Gebruikers die bekend zijn met
Winamp vinden
XMMS vast eenvoudig te
gebruiken.De port audio/mpg123 is
een alternatieve MP3 speler die gebruik maakt van de
commandoregel.mpg123 werkt door het
geluidsapparaat en het MP3 bestand aan te geven op de
commandoregel, zoals hieronder wordt aangegeven:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo/dev/dsp1.0 dient gewijzigd te worden in
het dsp apparaat van het systeem
waarop de MP3 afgespeeld moet worden.CD audio tracks rippenVoordat een CD of een CD track naar MP3 ge-encodeerd kan
worden moet de audiodata naar de harde schijf geript worden.
Dit gaat door de ruwe CDDA (CD Digital Audio) data naar
WAV-bestanden de kopiëren.Het hulpprogramma cdda2wav, dat
onderdeel is van de suite sysutils/cdrtools, kan gebruikt
worden om audio-informatie en de daarbij behorende informatie
van CD's te rippen.Als de audio CD in de drive zit, kan het volgende commando
als root uitgevoerd worden om een hele CD
naar individuele (per track) WAV-bestanden te rippen:&prompt.root; cdda2wav -D 0,1,0 -Bcdda2wav ondersteunt ATAPI (IDE)
cd-rom drives. Om van een IDE drive te rippen, dient de
apparaatnaam aangegeven te worden in plaats van de SCSI
eenheidsnummers. Om bijvoorbeeld track 7 van een IDE drive te
rippen:&prompt.root; cdda2wav -D /dev/acd0a -t 7De optie
geeft het
SCSI apparaat 0,1,0 aan, dat
overeenkomt met de uitvoer van cdrecord
-scanbus.Om individuele tracks te rippen kan gebruik gemaakt worden
van de optie :&prompt.root; cdda2wav -D 0,1,0 -t 7In het bovenstaande voorbeeld wordt track 7 van de audio
CD geript. Om een reeks tracks te rippen, bijvoorbeeld van
1 tot 7, kan een reeks opgegeven worden:&prompt.root; cdda2wav -D 0,1,0 -t 1+7Ook het hulpprogramma &man.dd.1; kan gebruikt worden om
audio tracks van ATAPI drives af te halen. Deze mogelijkheid
wordt beschreven in .MP3's encoderenTegenwoodig is de MP3 encoder
lame.
Lame staat in
audio/lame in de
portsstructuur.Met de geripte WAV-bestanden converteert het volgende
commando audio01.wav naar
audio01.mp3:&prompt.root; lame -h -b 192 \
--tt "Foo Titel" \
--ta "FooBar Artiest" \
--tl "FooBar Album" \
--ty "2005" \
--tc "Geript en encoded door Foo" \
--tg "Genre" \
audio01.wav audio01.mp3192 kbits lijkt de standaard bitrate voor MP3 te zijn.
Het is ook mogelijk 128 of 160 of andere bitrates te gebruiken.
Hoe hoger de bitrate, hoe meer schijfruimte de uiteindelijke
MP3-bestanden gebruiken, maar ook de kwaliteit wordt dan hoger.
Met de optie wordt de modus hogere
kwaliteit, maar iets langzamer ingeschakeld. Met de
opties vanaf worden de ID3 tags ingegeven,
die meestal informatie over een nummer bevatten en onderdeel
uitmaken van het MP3-bestand. In de hulppagina voor
lame staan nog meer opties die
gebruikt kunnen worden bij het encoderen beschreven.MP3's decoderenOm een CD te kunnen branden van MP3's, moeten ze omgezet
worden naar een niet gecomprimeerd WAV-formaat. Zowel
XMMS als
mpg123 ondersteunen de uitvoer van
MP3 naar een niet gecomprimeerd bestandsformaat.Naar schijf schrijven met
XMMS:Start XMMS;Klik rechts op het venster om het
XMMS menu te zien;Selecteer Preference onder
Options;Wijzig de Output Plugin naar Disk Writer
Plugin;Klik Configure;Voer een map in (of kies browse) waar de
ongecomprimeerde bestanden heengeschreven moeten
worden;Laad de MP3-bestanden zoals gewoonlijk in
XMMS, met het volume op 100% en
de EQ instellingen uitgeschakeld;Klik Play.
XMMS lijkt nu de MP3 af te
spelen, maar er is geen muziek te horen. Nu wordt
feitelijk de MP3 afgespeeld naar een bestand;Zorg ervoor dat de standaard Output Plugin wordt
teruggezet naar hoe de instellingen waren om weer naar
MP3's te kunnen luisteren.Schrijven naar stdout vanuit
mpg123:Voer mpg123 -s
audio01.mp3 >
audio01.pcm uit.XMMS schijft een bestand in het
WAV-formaat, terwijl mpg123 de MP3
converteert naar ruwe PCM audio data. Beide formaten kunnen
gebruikt worden met cdrecord om
audio CD's te maken. Met &man.burncd.8; moeten ruwe
PCM-bestanden gebruikt worden. Als er WAV-bestanden worden
gebruikt, is er een tik-geluid te horen bij het begin van
iedere track. Dit is het geluid van de kop van ieder
WAV-bestand. Met het hulpprogramma
SoX kan de kop van WAV-bestanden
verwijderd worden. Dit programma kan geïnstalleerd worden
met de port of package audio/sox&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.rawIn staat meer informatie over
het gebruiken van een CD-brander in &os;.RossLippertGeschreven door Video afspelenVideo afspelen is een relatief nieuwe en zich snel
ontwikkelende richting voor applicaties. In tegenstelling tot
voor audio werkt alles hier niet zo soepel.Voor er wordt begonnen is het van belang te weten welk
model videokaart zich in een systeem bevindt en welke chip die
gebruikt. Hoewel &xorg; en
&xfree86; vele videokaarten
ondersteunen, zijn er veel minder geschikt om goed video mee af
te spelen. Er kan een lijst met ondersteunde extensies getoond
worden voor X server met de gebruikte videokaart door het
commando &man.xdpyinfo.1; uit te voeren terwijl X11
draait.Het is verstandig een kort MPEG-bestand beschikbaar te
hebben dat gebruikt kan worden als testbestand voor het
evalueren van de spelers en hun opties. Omdat sommige
DVD-spelers standaard zoeken naar DVD media in
/dev/dvd of deze apparaatnaam standaard in
de broncode hebben staan, is het wellicht verstandig om een
symbolische link te maken naar de juist apparaten:&prompt.root; ln -sf /dev/acd0c /dev/dvd
&prompt.root; ln -sf /dev/racd0c /dev/rdvdIn &os; 5.X, dat &man.devfs.5; gebruikt, worden
net iets andere links aangeraden:&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvdVanwege de werking van &man.devfs.5;, blijven handmatig
aangemaakte links niet bestaan als een systeem wordt herstart.
Om automatisch symbolische links aan te laten maken als een
systeem start, kunnen de volgende regels toegevoegd worden aan
/etc/devfs.conf:link acd0 dvd
link acd0 rdvdDaarnaast zijn voor het decoderen van DVD, waarvoor
bijzondere DVD-ROM functies aangeroepen worden, schrijfrechten
op de DVD-apparaten nodig.kerneloptiesCPU_ENABLE_SSEkerneloptiesUSER_LDTEen aantal van de hier besproken ports hebben specifieke
kernelopties nodig om correct gebouwd te worden. Voeg de
onderstaande instelling toe aan het bestand met
kernelinstellingen, bouw en installeer daarna de kernel en
herstart het systeem:option CPU_ENABLE_SSEIn &os; 4.X dient option USER_LDT
toegevoegd te worden aan het bestand met kernelinstellingen.
In &os; 5.X en later bestaat deze optie niet.Om de gedeeld geheugen interface van X11 te verbeteren,
wordt aangeraden dat een aantal variablelen van &man.sysctl.8;
worden verhoogd:kern.ipc.shmmax=67108864
kern.ipc.shmall=32768Videomogelijkheden vaststellenXVideoSDLDGAEr zijn een aantal methoden om video weer te geven onder
X11. Welke echt werkt, is voornamelijk afhankelijk van de
gebruikte hardware. Iedere hieronder beschreven methode geeft
andere resultaten op andere hardware. De laatste tijd krijgt
het renderen van video in X11 veel aandacht en bij iedere
versie van &xorg; of
&xfree86; kan er een aanzienlijke
verbetering zijn.Een lijst van veel gebruikte video-interfaces:X11: normale X11 uitvoer met gebruikmaking van gedeeld
geheugen;XVideo: een uitbreiding op de X11 interface die video
in een door X11 getekend object ondersteunt;SDL: de Simple Directmedia Layer;DGA: de Direct Graphics Access;SVGAlib: low level console grafische laag.XVideo&xorg; en
&xfree86; 4.X kennen een
uitbreiding XVideo, ook bekend als
Xvideo, Xv of xv, waarmee video direct weergegeven kan worden
in getekende objecten door een speciale versneller. Deze
uitbreiding geeft een goede afspeelkwaliteit, zelfs op
machines met mindere specificaties.Of de uitbreiding actief is, kan gecontroleerd worden met
het commando xvinfo:&prompt.user; xvinfoXVideo wordt ondersteund als de uitvoer er ongeveer als
volgt uitziet:X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_BRIGHTNESS" (range -128 to 127)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_SATURATION" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_HUE" (range -180 to 180)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 1024 x 1024
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x36315652 (RV16)
guid: 52563135-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x3e0, 0x7c00
id: 0x35315652 (RV15)
guid: 52563136-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x7e0, 0xf800
id: 0x31313259 (Y211)
guid: 59323131-0000-0010-8000-00aa00389b71
bits per pixel: 6
number of planes: 3
type: YUV (packed)
id: 0x0
guid: 00000000-0000-0000-0000-000000000000
bits per pixel: 0
number of planes: 0
type: RGB (packed)
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0Sommige van de weergegeven formaten (YUV2, YUV12,
enzovoort) zijn niet in iedere implementaties van XVideo
beschikbaar en hun afwezigheid kan sommige spelers
hinderen.Als het resultaat er als hieronder uitziet, is er geen
ondersteuning voor XVideo aanwezig op de videokaart in een
systeem:X-Video Extension version 2.2
screen #0
no adaptors presentAls XVideo voor een kaart niet wordt ondersteund, dan
betekent dat alleen dat het lastiger wordt om op een
beeldscherm aan de vereisten voor het renderen van video te
voldoen. Afhankelijk van de videokaart en de processor kan
het toch nog mogelijk zijn om acceptabele prestaties neer te
zetten. In staan
verwijzingen naar leesvoer over mogelijkheden voor het
verbeteren van prestaties.Eenvoudige Directmedia LaagDe Eenvoudige Directmedia Laag (Simple Directmedia
Layer), SDL, was bedoeld als een porting-laag tussen
µsoft.windows;, BeOS en &unix;, waardoor cross-platform
toepassingen konden worden ontwikkeld die efficiënt
gebruik maken van geluid en beelden. De SDL laag biedt een
abstractie op laag niveau naar de hardware die soms
efficiënter kan zijn dan de X11 interface.De SDL staat in devel/sdl12.Directe Grafische ToegangDirecte Grafische Toegang (Direct Graphics Access) is een
X11 uitbreiding die een programma in staat stelt voorbij te
gaan aan de X server en de framebuffer direct kan wijzigen.
Omdat hij afhankelijk is van geheugenmapping op een laag
niveau om dit delen uit te voeren, moeten programma's die er
gebruik van maken als root
draaien.De DGA uitbreiding kan getest en gebenchmarkt worden met
&man.dga.1;. Als dga draait, verandert
het de kleuren op een scherm als er een toets wordt
ingedrukt. Om te stoppen kan de toets q
gebruikt worden.Ports en packages met videovideopoortenvideopackagesIn dit onderdeel wordt de software die vanuit de &os;
Portscollectie beschikbaar is voor het afspelen van video
beschreven. Het afspelen van video is een tak van
softwareontwikkeling die erg in beweging is en de mogelijkheden
van de verschillende applicaties verschillen zeer
waarschijnlijk van wat hier is beschreven.Als eerste is het belangrijk om te weten dat veel
applicaties die met video te maken hebben en op &os; draaien
ontwikkeld zijn als &linux; applicaties. Veel van die
applicaties zijn op het moment van schrijven van
beta-kwaliteit. Problemen die te verwachten zijn bij het
gebruik van de beschreven videopakketten op &os; zijn:Een applicatie kan geen bestanden afspelen die zijn
gemaakt met een andere applicatie;Een applicatie kan geen bestanden afspelen die met de
applicatie zelf zijn gemaakt;Dezelfde applicatie, op twee verschillende machines
gebouwd, speelt hetzelfde bestand op twee machines anders
af;Een ogenschijlijk triviale filter, zoals het herschalen
van beeldgrootte, kan resulteren in vreselijk vervelende
artefacten door fouten in de routine voor het
herschalen;Een applicatie dumpt zijn core regelmatig;Documentatie wordt niet geïnstalleerd bij de port
en staat op het web of in de map work van de port.Veel van deze applicaties kunnen ook
Linux-ismes vertonen. Zo kunnen er bijvoorbeeld
problemen ontstaan door de wijze waarop standaard bibliotheken
zijn geïmplementeerd in de &linux; distributies of een
aantal van de mogelijkheden van de &linux;-kernel, waarvan
door de makers van de applicatie wordt aangenomen dat ze
aanwezig zijn. Dit soort problemen zijn niet altijd zichtbaar
en er wordt ook omheen gewerkt door de beheerders van ports,
wat tot de volgende mogelijke problemen kan leiden:Het gebruik van /proc/cpuinfo om
processorkarakteristieken uit te lezen;Het verkeerd gebruiken van threads, waardoor een
programma hangt als het klaar is, in plaats van dat het
echt eindigt;Software die nog niet in de &os; Portscollectie zit en
vaak gebruikt wordt samen met een applicatie die daar wel
onderdeel van uitmaakt.Tot nu toe is gebleken dat de ontwikkelaars van applicaties
wel coöperatief waren met de beheerders van ports om zo
het aantal work-arounds dat nodig was voor het porten tot een
minimum te beperken.MPlayerMPlayer is een zich snel
ontwikkelende videospeler. De doelen van het
MPlayer-team zijn snelheid en
flexibiliteit onder &linux; en andere Unices. Het project is
gestart toen de oprichter van het team genoeg had van de
slechte afspeelprestaties van de destijds beschikbare
spelers. Er zijn mensen die zeggen dat het grafische ontwerp
is opgeofferd voor het stroomlijnen van het ontwerp, maar het
blijkt dat, als een gebruiker gewend is aan de
commandoregelopties en de toetsencommando's, de applicatie
erg goed werkt.MPlayer bouwenMPlayermakenMPlayer staat in multimedia/mplayer.
MPlayer voert een aantal
hardwarecontroles uit tijdens het bouwen, wat resulteert in
een binair bestand dat niet van het ene naar het andere
systeem verplaatst kan worden. Daarom is het van belang
dat het uit de ports wordt gebouwd en niet als binair
package wordt geïnstalleerd. Daarnaast staan er ook
nog opties die vanaf de make
commandoregel meegegeven kunnen worden beschreven in de
Makefile en aan het begin van de
build:&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.htmlDe standaard portopties zijn voor de meeste gebruikers
voldoende. Maar als bijvoorbeeld de XviD codec nodig is,
dan moet de optie WITH_XVID op de
commandoregel meegegeven worden. Het standaard
DVD-apparaat kan ook gedefinieerd worden met de optie
WITH_DVD_DEVICE, waarbij standaard
/dev/acd0 wordt gebruikt.Op het moment van schrijven wordt de
MPlayer port gebouwd met de HTML
documentatie en twee uitvoerbare bestanden,
mplayer en mencoder,
wat een hulpmiddel is voor het opnieuw encoderen van
video.De HTML documentatie voor
MPlayer is erg informatief. Als
de lezer vindt dat er informatie over videohardware en
interfaces in dit hoofdstuk mist, dan is de documentatie
van MPlayer een zeer grondige
aanvulling. Het is de moeite waard de tijd te nemen om de
documentatie van MPlayer te
lezen, als meer informatie over de ondersteuning van video
in &unix; welkom is.MPlayer gebruikenMPlayergebruikenIedere gebruiker van MPlayer
dient een submap .mplayer in zijn
thuismap te hebben. Die kan als volgt gemaakt
worden:&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-userDe commando-opties voor mplayer
staan in de hulppagina. Nog meer details staan in de HTML
documentatie. In dit onderdeel worden slechts een aantal
gebruiksmogelijkheden beschreven.Om een bestand als
testfile.avi
af te spelen met een van de beschikbare video-interfaces,
kan de optie gebruikt worden:&prompt.user; mplayer -vo xv testfile.avi&prompt.user; mplayer -vo sdl testfile.avi&prompt.user; mplayer -vo x11 testfile.avi&prompt.root; mplayer -vo dga testfile.avi&prompt.root; mplayer -vo 'sdl:dga' testfile.aviHet is de moeite waard alle bovenstaande opties uit te
proberen omdat hun relatieve prestatie afhangt van vele
factoren die aanzienlijk verschillen tussen
hardware.Om een DVD af te spelen dient
testfile.avi vervangen te worden door
waar
N het titelnummer is dat
afgespeeld moeten worden en
APPARAAT de
apparaatnode is voor de DVD-ROM. Om bijvoorbeeld titel 3
van /dev/dvd af te spelen:&prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvdHet standaard DVD-apparaat kan ingesteld worden bij
het bouwen van de MPlayer port
met de optie WITH_DVD_DEVICE.
Standaard is dit apparaat /dev/acd0.
Meer details staan in de Makefile
van de port.Om te stoppen, pauzeren, verder te spoelen, enzovoort,
kunnen de toetsendefinities gebruikt worden, die in te zien
zijn door mplayer -h uit te voeren of
de hulppagina te lezen.Overige belangrijke opties voor het afspelen zijn:
, waarmee het volledige scherm
wordt gebruikt, en , die
prestatieverhogend werkt.Om ervoor te zorgen dat de commandoregels niet te lang
worden, kan het bestand
.mplayer/config met
voorkeursinstellingen gemaakt worden:vo=xv
fs=yes
zoom=yesTenslotte kan mplayer gebruikt
worden om een DVD naar een bestand van het type
.vob te rippen. Om de tweede titel
van een DVD de dumpen kan het volgende commando gebruikt
worden:&prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvdHet uitvoerbestand out.vob, is
van het type MPEG en kan bewerkt worden met andere in dit
onderdeel besproken programma's.mencodermencoderVoordat mencoder wordt gebruikt, is
het verstandig de opties uit de HTML-documentatie te
bekijken. Er is een hulppagina, maar die is niet echt
bruikbaar zonder de HTML-documentatie. Er zijn ontelbare
mogelijkheden om de kwaliteit te verhogen, de bitrate te
verlagen en formaten te wijzigen en een aantal van die
truuks maken het verschil tussen goede en slechte
prestaties. Hieronder staan een aantal voorbeelden
beschreven.Eenvoudigweg kopiëren:&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.aviVerkeerde combinaties van commandoregelopties kunnen
resulteren in uitvoerbestanden die zelfs niet af te spelen
zijn door mplayer. Daarom wordt
aangeraden om het bij de optie
in
mplayer te houden als het alleen maar
nodig is een bestand te rippen.Om input.avi te converteren naar
de MPEG4-codec met MPEG3-audio encoding (audio/lame is
verplicht):&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviHiermee wordt uitvoer gemaakt die af te spelen is met
mplayer en
xine.input.avi kan worden vervangen
door en als
root gedraaid worden om een DVD titel
direct te hercoderen. Omdat het waarschijnlijk is dat de
eerste experimenten niet direct tevredenstellend zijn,
wordt aangeraden een titel eerst naar een bestand te dumpen
en dat als werkbestand te gebruiken.xine videospelerDe xine videospeler is een
project met een brede scope, dat niet alleen tracht een
allesomvattende video-oplossing te bieden, maar ook probeert
een herbruikbare basisbibliotheek en een modulair uitvoerbaar
bestand te maken dat uitgebreid kan worden met plug-ins. Het
kan als package en port geïnstalleerd worden uit
multimedia/xine.De xine speler heeft nog wat
ruwe randjes, maar is zeker goed van start gegaan. In de
praktijk heeft xine een snelle CPU
met een snelle videokaart of ondersteuning voor de XVideo
extensie nodig. De GUI is bruikbaar, maar wat
onhandig.Op het moment van schrijven wordt er geen invoermodule
bij xine geleverd waarmee CSS
gecodeerde DVD's afgespeeld kunnen worden. Er zijn er die
door andere partijen zijn gebouwd die dat type modules wel
hebben, maar die zijn niet beschikbaar in de &os;
Portscollectie.Vergeleken met MPlayer, doet
xine meer voor de gebruiker, maar
tegelijkertijd neemt het wat van de
fijnafstellingsmogelijkheden weg. De
xine videospeler werkt het beste
op XVideo interfaces.Standaard start de xine speler
op in een grafische gebruikersinterface. Via het menu kan
een specifiek bestand geopend worden:&prompt.user; xineHet is ook mogelijk om zonder de GUI direct een bestand
af te laten spelen:&prompt.user; xine -g -p mymovie.avitranscode
hulpprogramma'sDe software transcode is geen
speler, maar een verzameling hulpprogramma's voor het
hercoderen van video- en audiobestanden. Met
transcode wordt het mogelijk om
videobestanden samen te voegen, kapotte bestanden te
repareren en commandoregelprogramma's te gebruiken met
stdin/stdout stream interfaces.Tijdens het bouwen van de port multimedia/transcode kan een
groot aantal opties opgegeven worden en de volgende
commandoregel wordt geadviseerd om
transcode te bouwen:&prompt.root; make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yesDe geadviseerde instellingen zijn toereikend voor de
meeste gebruikers.Om de mogelijkheden van transcode te
illustreren volgt nu een voorbeeld van hoe een DivX-bestand
om te zetten in een PAL MPEG-1-bestand (PAL VCD):&prompt.user; transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
&prompt.user; mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpaHet resulterende MPEG-bestand,
output_vcd.mpg, is klaar om afgespeeld
te worden met MPlayer. Het kan
ook op een CD-R gebrand worden om er een Video CD mee te
maken. In dat geval is het nodig om de programma's multimedia/vcdimager en sysutils/cdrdao te
installeren.Er is een hulppagina voor transcode,
maar kijk ook op transcode
wiki voor meer informatie en voorbeelden.Als de twee vergeleken worden, draait
transcode aanzienlijk langzamer dan
mencoder, maar is de kans wel groter dat
er een bestand uit komt dat op de meeste spelers afgespeeld
kan worden. MPEG-bestanden die met
transcode zijn gemaakt, zijn bijvoorbeeld
al afgespeeld op &windows.media;
Player en Apple's
&quicktime;.Verder lezenDe beschikbare videosoftware pakketten voor &os; zijn fors
in ontwikkeling. Het is goed mogelijk dat in de nabije
toekomst de meeste problemen die hier aan de kaak zijn gesteld,
zijn opgelost. Intussen kunnen zij die het hoogst haalbare uit
de A/V mogelijkheden voor &os; willen halen, dat het beste
doen door wat beschikbaar is bij elkaar te scharrelen uit de
beschikbare FAQ's and tutorials en meerdere programma's
gebruiken. Het doel van deze paragraaf is de lezer wat
richting te geven op dat vlak.De MPlayer
documentatie is technisch erg informatief. Deze
documenten kunnen het beste bekeken worden door iemand die veel
kennis wil opdoen over video in &unix;. Op de
MPlayer mailinglijst wordt het niet
op prijsgesteld als iemand de documentatie niet heeft gelezen,
dus het is verstandig RTFM in gedachten te houden alvorens
bug reports naar ze te mailen.De xine
HOWTO bevat een hoofdstuk over het verbeteren van
prestaties, dat op alle spelers van toepassing is.Tenslotte zijn er nog een aantal veelbelovende applicaties
die het proberen waard zijn:Avifile
bestaat ook als port: multimedia/avifile;Ogle
is er ook als port: multimedia/ogle;Xtheater;multimedia/dvdauthor, een open
source pakket voor authoring van DVD content.JosefEl-RayesOorspronkelijk geschreven door MarcFonvieilleVerbeterd en aangepast door TV-kaarten installerenTV-kaartenInleidingMet TV-kaarten is het mogelijk om naar (kabel)uitzendingen
te kijken op een computer. Op de meeste kaarten kan composiet
video aangeleverd worden via een RCA of S-video input en
sommige kaarten hebben ook een FM tuner.&os; biedt ondersteuning voor PCI-gebaseerde TV-kaarten met
een Brooktree Bt848/849/878/879 of een Conexant CN-878/Fusion
878a Video Capture Chip met het stuurprogramma &man.bktr.4;.
Het is van belang dat er op de kaart ook een ondersteunde
tuner zit. Hiervoor kan &man.bktr.4; geraadpleegd worden,
waarin een lijst met ondersteunde tuners staat.Stuurprogramma toevoegenVoordat de kaart gebruikt kan worden, dient het
stuurprogramma &man.bktr.4; geladen te worden. Dit kan door
de volgende regel aan /boot/loader.conf
toe te voegen:bktr_load="YES"Daarnaast is het ook mogelijk om statisch ondersteuning
voor de TV-kaart in de kernel te compileren. Dan dient de
volgende regel toegevoegd te worden aan de
kernelinstellingen:device bktr
device iicbus
device iicbb
device smbusDe extra stuurprogramma's zijn nodig omdat de
kaartcomponenten verbonden zijn via een I2C bus. Met deze
instellingen kan een nieuwe kernel gebouwd en
geïnstalleerd worden.Als een systeem eenmaal ondersteuning biedt, hoort de
TV-kaart ongeveer als volgt bij een herstart getoond te
worden:bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.Deze berichten kunnen afwijken, afhankelijk van de
gebruikte hardware. Het is van belang te controleren of de
tuner juist herkend wordt; er kunnen nog een aantal
instellingen gemaakt worden voor parameters met &man.sysctl.8;
MIB's en in het kernelinstellingenbestand. Om bijvoorbeeld het
gebruik van een Philips SECAM tuner te forceren, kan de
volgende regel aan het bestand met kernelinstellingen worden
toegevoegd:options OVERRIDE_TUNER=6Dit kan ook via een instelling van &man.sysctl.8;:&prompt.root; sysctl hw.bt848.tuner=6In &man.bktr.4; en
/usr/src/sys/conf/NOTES staan meer details
over de beschikbare opties (onder &os; 4.X dient voor
/usr/src/sys/conf/NOTES het bestand
/usr/src/sys/i386/conf/LINT gelezen te
worden).Handige programma'sOm een TV-kaart te gebruiken, dient een van de volgende
applicaties geïnstalleerd te worden:multimedia/fxtv
biedt TV-in-een-window en beeld/audio/videocapture
mogelijkheden;multimedia/xawtv
is ook een TV applicatie met dezelfde mogelijkheden als
fxtv;misc/alevt
decodeert Videotext/Teletext en kan deze weergeven;audio/xmradio, een
applicatie om de FM tuner die bij sommige TV-kaarten zit te
gebruiken;audio/wmtune, een
handige bureaubladapplicatie voor radiotuners.Er zijn nog meer applicaties beschikbaar in de
Portscollectie.Problemen oplossenBij problemen met een TV-kaart dient eerst gecontroleerd te
worden of de videocapture chip en de tuner echt ondersteund
worden door het stuurprogramma &man.bktr.4; en of de juiste
instellingen worden gebruikt. Voor meer ondersteuning en
vragen over een specifieke TV-kaart is het aan te raden de
archieven van de &a.multimedia.name; mailinglijst te
raadplegen of er contact mee op te nemen.MarcFonvieilleGeschreven door ScannersscannersInleidingIn &os; is het, net als in andere moderne
besturingssystemen, mogelijk om scanners te gebruiken.
Gestandaardiseerde toegang tot scanners is mogelijk met de
SANE (Scanner Access Now
Easy) API uit de &os; Portscollectie.
SANE gebruikt ook een aantal &os;
apparaatstuurprogramma's om toegang te krijgen tot de hardware
van de scanner.&os; ondesteunt SCSI en USB scanners. Het is van belang te
controleren of een scanner door SANE
wordt ondersteund voordat er instellingen worden gemaakt.
SANE heeft een lijst met ondersteunde
apparaten waarin gekeken kan worden of een scanner
wordt ondersteund en wat de status voor ondersteuning is. In
&man.uscanner.4; staat een lijst met ondersteunde
USB-scanners.Kernel instellenZoals hierboven al is aangegeven, worden zowel SCSI als
USB-scanners ondersteund. Afhankelijk van de gebruikte
scannerinterface zijn verschillende apparaatstuurprogramma's
nodig.USB interfaceIn de GENERIC kernel zitten
standaard de apparaatstuurprogramma's die nodig zijn voor
ondersteuning van USB-scanners. In het geval wordt besloten
tot het maken van een aangepaste kernel, dan dienen de
volgende regels in het kernelinstellingenbestand te worden
opgenomen:device usb
device uhci
device ohci
device uscannerAfhankelijk van de USB-chipset op een moederbord, is
alleen device uhci of
device ohci nodig, maar het opnemen van
beiden in het bestand met kernelinstellingen is niet
schadelijk.Als het niet wenselijk is een nieuwe kernel te bouwen en
er wordt geen GENERIC kernel gebruikt,
dan kan de apparaatstuurprogrammamodule &man.uscanner.4;
direct geladen worden met &man.kldload.8;:&prompt.root; kldload uscannerOm de module bij iedere systeemstart te laden kan de
volgende regel aan /boot/loader.conf
worden toegevoegd:uscanner_load="YES"Na een herstart met een juiste ingestelde kernel of na
het laden van de benodigde module, kan de USB-scanner
aangesloten worden. De scanner hoort ongeveer als volgt
gemeld te worden in de systeemberichtbuffer
(&man.dmesg.8;):uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2Het bovenstaande geeft aan dat de scanner de apparaatnode
/dev/uscanner0 gebruikt.Om onder &os; 4.X bepaalde USB-apparaten te zien,
moet daar de USB daemon (&man.usbd.8;) draaien. Om die in
te schakelen, dient usbd_enable="YES"
toegevoegd te worden aan /etc/rc.conf
en dient een systeem herstart te worden.SCSI interfaceAls een scanner een SCSI interface heeft, is het
belangrijk te weten welk SCSI controllerbord gebruikt gaat
worden. Afhankelijk van de gebruikte SCSI chipset, dient het
bestand met kernelinstellingen aangepast te worden. De
GENERIC kernel ondersteunt de meest
voorkomende SCSI controllers. In het bestand
NOTES (LINT onder
&os; 4.X) is de juiste instelling te vinden die
toegevoegd moet worden aan het bestand met
kernelinstellingen. Naast het toevoegen van het juiste
SCSI-adapter stuurprogramma, dienen ook de volgende regels
opgenomen te worden in het kernelinstellingenbestand:device scbus
device passAls de kernel juist gecompileerd is, horen de apparaten
zichtbaar te zijn in de systeemberichtbuffer tijdens het
opstarten:pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfersAls een scanner niet aan staat tijdens het opstarten, is
het nog mogelijk handmatig detectie te forceren door de
SCSI-bus te laten scannen met &man.camcontrol.8;:&prompt.root; camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulIn het bovenstaande geval zal de scanner ongeveer als
volgt verschijnen in de lijst met SCSI-apparaten:&prompt.root; camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Meer details over SCSI-apparaten staan in &man.scsi.4; en
&man.camcontrol.8;.SANE instellenHet SANE systeem is opgesplitst
in twee delen: de backends (graphics/sane-backends) en de
frontends (graphics/sane-frontends). Het deel
met de backends zorgt voor de toegang tot de scanner zelf. In
de lijst met door SANEondersteunde
apparaten staat welk backend welke scanner(s)
ondersteunt. Het is echt nodig het juiste backend vast te
stellen, omdat het anders bijzonder lastig wordt een scanner
aan de praat te krijgen. Het deel met frontends levert een
grafische scaninterface
(xscanimage).Als eerste dient de port of het package graphics/sane-backends
geïnstalleerd te worden. Daarna kan met het commando
sane-find-scanner gecontroleerd worden welke
scanner er door het SANE systeem is
gedetecteerd:&prompt.root; sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3In de uitvoer is te lezen welk type interface en welke
apparaatnode worden gebruikt om de scanner met een systeem te
verbinden. Het merk en het model worden wellicht niet getoond,
maar dat is ook niet echt van belang.Sommige USB-scanners verlangen dat er firmware wordt
geladen. Dit wordt uitgelegd in de hulppagina van het
backend. Het is ook van belang &man.sane-find-scanner.1; en
&man.sane.7; te lezen.Hierna kan gecontroleerd worden of de scanner ook te zien
is voor een scanner-frontend. Er zit bij de
SANE backends een standaard
hulpprogramma &man.scanimage.1;. Met dit commando kunnen de
apparaten zichtbaar gemaakt worden en kan vanaf de
commandoregel gescand worden. Met de optie
kunnen de scannerapparaten getoond worden:&prompt.root; scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerDe afwezigheid van uitvoer of een bericht dat aangeeft dat
er geen scanners zijn aangetroffen, betekent dat
&man.scanimage.1; niet in staat is een scanner te
identificeren. Als dit gebeurt, dient het instellingenbestand
voor het backend aangepast te worden en dient daar de juiste
instelling gemaakt te worden. De map /usr/local/etc/sane.d/ bevat
alle bestanden met instellingen voor de backends. Het is
bekend dat dit identificatieprobleem optreedt bij bepaalde
USB-scanners.De USB-scanner die in
wordt gebruikt, toont bijvoorbeeld de volgende informatie met
sane-find-scanner:&prompt.root; sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0De bovenstaande uitvoer geeft aan dat de scanner juist is
gedetecteerd, dat hij de USB interface gebruikt en is
aangesloten op de apparaatnode
/dev/uscanner0. Nu kan gecontroleerd
worden of de scanner juist wordt geïdentificeerd:&prompt.root; scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Omdat in het bovenstaande voorbeeld de scanner niet wordt
geïdentificeerd, dient het bestand
/usr/local/etc/sane.d/epson.conf
gewijzigd te worden. De gebruikte scanner is een
&epson.perfection; 1650, dus in dit geval dient voor de scanner
het backend epson gebruikt te worden. Het
is van belang om het commentaar in de instellingenbestanden van
de backends te lezen. Het aanpassen van regels is eenvoudig:
plaats een commentaarkarakter voor alle regels voor andere
interfaces dan die nodig zijn weg (in dit geval worden alle
regels die beginnen met het woord scsi
uitgeschakeld, omdat er een USB interface wordt gebruiken), en
dan kan onderaan het bestand een regel met de gebruikte
interface en apparaatnode geplaatst worden:usb /dev/uscanner0Het is aan te raden de opmerkingen te lezen in het bestand
met instellingen voor het backend en ook de hulppagina, omdat
daarin meer details en de correcte syntaxis te vinden zijn. Nu
kan gecontroleerd worden of de scanner wèl juist wordt
geïdentificeerd:&prompt.root; scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerIn het bovenstaande voorbeeld wordt duidelijk dat de
USB-scanner is geïdentificeerd. Het is niet belangrijk
dat het merk en model niet overeenkomen. Het belangrijkste is
het veld `epson:/dev/uscanner0', dat de
juiste benamingen voor het backend en de apparaatnode
aangeeft.Als scanimage -L in staat is een scanner
goed te zien, dan zijn de instellingen compleet. Er kan nu met
het apparaat gescand worden.Hoewel &man.scanimage.1; in staat is om vanaf de
commandoregel te scannen, is het aan te raden beelden te
scannen vanuit de grafische gebruikersinterface.
SANE heeft een eenvoudige, maar
efficiënte grafische interface:
xscanimage (graphics/sane-frontends).Xsane (graphics/xsane) is een ander
populair grafisch scanfrontend, dat geavanceerde
mogelijkheden biedt, zoals meerdere scanmodi (fotokopie, fax,
enzovoort), kleurcorrectie, batchscannen, enzovoort. Beide
applicaties zijn als plug-in voor
GIMP te gebruiken.Scannergebruik voor andere gebruikers toestaanAlle voorgaande taken zijn uitgevoerd met
root rechten, maar het is wellicht ook
nodig dat andere gebruikers de scanner kunnen gebruiken. Dan
heeft een gebruiker lees- en schrijfrechten nodig op de
apparaatnode voor een scanner. Een USB-scanner gebruikt
bijvoorbeeld apparaatnode /dev/uscanner0,
waarvan de groep operator eigenaar is.
Door gebruiker joe lid te maken van de
groep operator, kan die gebruiker de
scanner gebruiken:&prompt.root; pw groupmod operator -m joeIn &man.pw.8; staan meer details. Op de apparaatnode
/dev/uscanner0 moeten ook de juiste
rechten staan. Standaard kan de groep
operator alleen lezen op de
apparaatnode. Dit is te wijzigen door de volgende regel aan
/etc/devfs.rules toe te voegen:[system=5]
add path uscanner0 mode 660Daarna kan de volgende regel aan
/etc/rc.conf toegevoegd worden en dient
een machine herstart te worden:devfs_system_ruleset="system"Meer informatie over de bovenstaande instellingen staan in
&man.devfs.8; manual page. Onder &os; 4.X heeft de groep
operator standaard lees- en
schrijfrechten op /dev/uscanner0.Natuurlijk dient ook beveiliging een factor te zijn in de
afweging of een gebruiker lid gemaakt moet worden van een
bepaalde groep, zeker als dat om de groep
operator gaat.
diff --git a/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
index afbfb96758..9809516ed9 100644
--- a/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -1,1493 +1,1499 @@
ReneKetelaarsVertaald door SiebrandMazelandApplicaties installeren: packages en portsOverzichtportspackages&os; bevat een grote collectie aan systeemgereedschappen
als onderdeel van het basissysteem. De mogelijkheden reiken
echter niet heel ver en daarom is er snel een applicatie van een
andere partij nodig. &os; bevat twee complementaire
technologieën om andere applicaties te installeren: de &os;
Portscollectie (voor het installeren vanuit broncode) en packages
(voor het installeren vanuit voorgecompileerde binaire
bestanden). Beide systemen kunnen gebruikt worden om de nieuwste
versies van een gewenste applicatie te installeren van lokale
media of rechtstreeks van het netwerk.Na het lezen van dit hoofdstuk weet de lezer:Hoe binaire softwarepackages van derden te
installeren;Hoe software van derden vanuit de Portscollectie vanuit
broncode te installeren;Hoe eerder geïnstalleerde packages of ports te
verwijderen;Hoe standaardwaardes die door de ports worden gebruikt te
wijzigen;Hoe het juiste softwarepackage te vinden;Hoe applicaties bij te werken.Overzicht van softwareinstallatieAls de lezer eerder gebruik heeft gemaakt van een &unix;
systeem dan is het bekend dat de standaardprocedure voor het
installeren van software van derden ongeveer als volgt is:Download de software als broncode of als binair
bestand;Pak de software uit vanuit zijn originele distributietype
(meestal een tar-bestand gecomprimeerd met &man.compress.1;,
&man.gzip.1;, of &man.bzip2.1;);Zoek de documentatie (meestal een
INSTALL of README
bestand of enkele bestanden in een submap
doc/) en lees zorgvuldig hoe de software
geïnstalleerd moet worden;Als de software als broncode is gedistribueerd, moet de
broncode gecompileerd worden. Dit kan wijzigingen in een
Makefile vereisen of het draaien van een
configure script en andere
werkzaamheden;De software installeren en testen.En dat geldt alleen als alles goed gaat. Als er een
softwarepackage geïnstalleerd wordt dat niet specifiek
gemaakt is voor &os; moet mogelijkerwijs zelfs de code aangepast
worden om alles goed te laten werken.Als de gebruiker het wenst, kan hij in &os; doorgaan met het
installeren van software op de traditionele
manier. &os; levert echter twee technologieën die veel
moeite kunnen besparen: packages en ports. Op dit moment zijn zo
meer dan &os.numports; applicaties beschikbaar.Voor iedere gewenste applicatie is het &os; package voor die
applicatie één te downloaden bestand. Het package
bevat voorgecompileerde kopiën met alle commando's voor de
applicatie en alle instellingenbestanden of documentatie. Een
gedownload packagebestand kan gemanipuleerd worden met &os;
packagemanagement commando's zoals &man.pkg.add.1;,
&man.pkg.delete.1;, &man.pkg.info.1;, enzovoort. Het installeren
van een nieuwe applicatie kan met één
commando.Een &os; port van een applicatie is een groep bestanden
ontworpen om het proces van compileren van een applicatie vanuit
broncode te automatiseren.Het is te vergelijken met de stappen die normaal gevolgd
worden om een programma te compileren (downloaden, uitpakken,
aanpassen, compileren en installeren). De bestanden die samen
een port vormen bevatten alle noodzakelijke informatie om het
systeem dit te laten doen. Met een aantal eenvoudige commando's
wordt de broncode voor de applicatie automatisch gedownload,
uitgepakt, aangepast, gecompileerd en geïnstalleerd.Het portssysteem kan zelfs gebruikt worden om packages te
maken die later weer gemanipuleerd kunnen worden met
pkg_add en andere packagemanagement
commando's, waarover later meer uitleg wordt gegeven.Zowel packages als ports kennen afhankelijkheden
(dependencies). Stel dat er een applicatie
geïnstalleerd gaat worden die er vanuit gaat dat een
specifieke bibliotheek wordt geïnstalleerd. Zowel de
applicatie als de bibliotheek zijn beschikbaar als &os; ports
en packages. Als het commando pkg_add of
het portssysteem wordt gebruikt om de applicatie toe te voegen,
dan zien beiden dat de bibliotheek niet geïnstalleerd is
en wordt deze automatisch eerst geïnstalleerd.Gezien het feit dat beide technologieën vrijwel identiek
zijn, kan de vraag rijzen waarom &os; de moeite neemt om beide te
faciliteren. Packages en ports hebben ieder hun eigen kracht.
Welke gebruikt wordt hangt af van voorkeuren en
omstandigheden.Voordelen van packagesEen gecomprimeerd package tar-bestand is meestal kleiner
dan het gecomprimeerde tar-bestand met de broncode van de
applicatie;Packages vereisen geen additionele compilatie. Voor
grote applicaties als Mozilla,
KDE of
GNOME kan dit belangrijk zijn,
vooral als een systeem wat trager is;Packages vereisen geen begrip van het proces van het
compileren van software op &os;.Voordelen van portsPackages worden meestal gecompileerd met conservatieve
opties, omdat ze moeten draaien op een maximaal aantal
systemen. Bij het installeren vanuit de port kunnen de
compilatieinstellingen aangepast worden om zo bijvoorbeeld
code te maken die specifiek voor een Pentium IV of een
Athlon processor is;Sommige applicaties hebben compilatieinstellingen
gerelateerd aan wat ze wel of niet kunnen doen.
Apache kan bijvoorbeeld ingesteld
worden met een uitgebreide hoeveelheid verschillende
ingebouwde instellingen. Door vanuit de port te werken
hoeven niet alle standaardinstellingen geaccepteerd te worden
en kunnen ze ingesteld worden;In sommige gevallen zijn er meerdere packages voor
dezelfde applicatie om specifieke instellingen aan te geven.
Ghostscript is bijvoorbeeld
beschikbaar als een ghostscript package
en ghostscript-nox11 package,
afhankelijk van het al dan niet geïnstalleerd hebben van
een X11 server. Deze ruwe vorm van tweaking is mogelijk met
packages, maar dit wordt snel onmogelijk als een applicatie
meer dan één of twee verschillende
compilatieinstellingen heeft;De licentievoorwaarden van sommige softwaredistributies
verbieden binaire distributie. Ze moeten dus gedistribueerd
worden als broncode;Sommige mensen vertrouwen binaire distributies niet.
Broncode kan tenminste (in theorie) zelf doorgelezen en
gecontroleerd worden op potentiële problemen;Als er lokale modificaties zijn, is de broncode nodig om
ze toe te passen;Sommige mensen hebben graag de broncode zodat ze die
kunnen lezen als ze zich vervelen, erin kunnen hacken, code
kunnen overnemen (indien de licentie dit toestaat
natuurlijk), enzovoort.Om vernieuwingen van ports bij te houden kan een abonnement
genomen worden op de &a.ports; en/of de &a.ports-bugs;.Voordat een applicatie wordt geïnstalleerd is het aan
te raden op
na kijken of er geen beveiligingsproblemen voor de gewenste
applicatie bekend zijn.Het is ook mogelijk om security/portaudit te installeren,
dat automatisch alle geïnstalleerde applicaties
controleert op bekende fouten. Deze controle wordt ook
uitgevoerd voordat een port wordt geïnstalleerd.
Met het commando portaudit -F -a
kunnen de packages die al geïnstalleerd zijn worden
gecontroleerd.In de rest van dit hoofdstuk wordt uitgelegd hoe packages en
ports gebruikt kunnen worden om software in &os; te installeren
en te beheren.Applicaties zoekenVoordat een applicatie geïnstalleerd kan worden, moeten
de doelen bekend zijn en hoe de applicatie heet.De lijst met voor &os; beschikbare applicaties groeit
continu. Gelukkig zijn er een aantal manieren om te
zoeken:Op de &os; website staat een recente doorzoekbare lijst
met alle beschikbare applicaties: http://www.FreeBSD.org/ports/.
De ports zijn onderverdeeld in categorieën. Er kan naar
een applicatie gezocht worden op naam (als die bekend is) of
alle applicaties in een categorie kunnen bekeken
worden.FreshPortsDan Langille onderhoudt FreshPorts op . FreshPorts
volgt veranderingen in applicaties in de ports en biedt de
mogelijkheid om of meer ports te volgen. Er wordt dan een
e-mail gestuurd als de port is bijgewerkt.FreshMeatAls de naam van de gewenst applicatie niet bekend is, is
het wellicht mogelijk deze te achterhalen via een website als
FreshMeat ()
en kan daarna op de &os; site gecontroleerd worden of de
applicatie al geschikt gemaakt is voor gebruik met
&os;.Als de precieze naam van de port bekend is, maar niet
bekend is in welke categorie deze staat, kan dit achterhaald
worden met &man.whereis.1;. Door simpelweg whereis
bestand in te geven,
waar bestand het te instelleren
programma is. Als het op het systeem staat, wordt dat als
volgt aangegeven:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofDit geeft aan dat lsof (een
systeemhulpprogramma) in de map
/usr/ports/sysutils/lsof staat.Een andere manier om een port op te sporen is door het
ingebouwde zoekmechanisme van de Portscollectie te
gebruiken. Hiervoor moet het huidige pad de map
/usr/ports zijn. Vanuit die map kan
make search
name=programmanaam
uitgevoerd worden, waar
programmanaam de naam is van het
programma dat wordt gezocht. Als bijvoorbeeld
lsof wordt gezocht:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps:Het belangrijkste onderdeel van de uitvoer is in dit geval
de regel waarop Path: staat, omdat die aangeeft
waar de port staat. De andere informatie is niet nodig voor de
installatie van de port en wordt hier niet behandeld.Voor nog dieper zoeken kan ook make
search key=string
gebruikt worden waar string tekst is
waarnaar gezocht moet worden. Hiermee wordt naar namen van
ports, commentaar, beschrijvingen en afhankelijkheden gezocht
en dit kan gebruikt worden om ports te vinden die te maken
hebben met een bepaald onderwerp als onbekend is hoe het
gezochte programma heet.In beide gevallen is de zoekstring niet
hoofdlettergevoelig. Zoeken naar LSOF geeft
hetzelfde resultaat als zoeken naar lsof.ChernLeeBijgedragen door Het packagessysteem gebruikenPackages installerenpackagesinstallerenpkg_addMet &man.pkg.add.1; kan een &os; softwarepackage
geïnstalleerd worden vanaf een lokaal bestand of vanaf een
server op het netwerk.Handmatig packages downloaden en lokaal
installeren&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp3.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzAls er lokaal geen bron is voor packages (zoals de &os;
cd-rom set) dan is het waarschijnlijk makkelijker om de
optie te gebruiken met &man.pkg.add.1;.
Deze optie zorgt er voor dat het hulpprogramma automatisch het
correcte formaat en de juiste versie bepaalt en die daarna
binnenhaalt en installeert vanaf een FTP site.pkg_add&prompt.root; pkg_add -r lsofHet voorbeeld hierboven haalt het correcte package binnen
en installeert het zonder dat de gebruiker iets hoeft te doen.
Het is mogelijk een alternatieve &os; packagessite aan te geven
in plaats van de hoofddistributiesite. Dan moet
PACKAGESITE ingesteld worden om de
standaardinstellingen aan te passen. &man.pkg.add.1; gebruikt
&man.fetch.3; om de bestanden binnen te halen, dat gebruik
maakt van diverse omgevingsvariabelen zoals
FTP_PASSIVE_MODE, FTP_PROXY, en
FTP_PASSWORD. Mogelijk moeten ook
één of meer van deze variabelen gebruikt worden
als een machine achter een firewall staat of als gebruik
gemaakt moet worden van een FTP/HTTP proxy. In &man.fetch.3;
staat de complete lijst. In het voorbeeld hierboven is gebruik
gemaakt van lsof in plaats van
lsof-4.56.4. Als het package wordt
binnengehaald met behulp van de bovenstaande instellingen, dan
moet het versienummer van het package niet gebruikt worden.
&man.pkg.add.1; haalt automatisch de laatste versie van de
applicatie binnen.&man.pkg.add.1; downloadt de meest recente versie van een
applicatie als &os.current; of &os.stable;. Als een
-RELEASE versie wordt gebruikt, wordt het package dat bij die
release hoort gebruikt. Het is mogelijk dit gedrag te
veranderen door de omgevingsvariabele
PACKAGESITE te wijzigen. Als bijvoorbeeld
&os; 5.4-RELEASE op een systeem draait, dan haalt
&man.pkg.add.1; standaard de packages uit
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/.
Om &man.pkg.add.1; de &os; 5-STABLE packages te laten
downloaden kan PACKAGESITE ingesteld worden op
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/.Packagebestanden worden gedistribueerd in de formaten
.tgz en .tbz. Ze
zijn te vinden op
of op de &os; cd-rom distributie. Iedere cd-rom in de
&os; 4-cd-rom set (en de PowerPak, enzovoort) bevat
packages in de map /packages. De opbouw
van de packages is ongeveer gelijk aan die van
/usr/ports. Iedere categorie heeft zijn
eigen map en ieder package staat ook in de map
All.De mappenstructuur van het packagesysteem is gelijk aan die
van het portssysteem. Samen vormen ze het
package/portssysteem.Packages beherenpackagesbeheren&man.pkg.info.1; is een hulpprogramma dat de diverse
geïnstalleerde packages toont en beschrijft.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...&man.pkg.version.1; is een hulpprogramma dat een
samenvatting van de versie van alle geïnstalleerde
packages geeft. Het vergelijkt de versie van het package met
de huidige versie in de Portscollectie.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...De symbolen in de tweede kolom geven aan hoe de
geïnstalleerde versie staat ten opzichte van de versie die
beschikbaar is in de lokale Portscollectie.SymboolBetekenis=De versie van het geïnstalleerde package komt
overeen met die in de lokale Portscollectie.<De geïnstalleerde versie is ouder dan die
beschikbaar is in de ports.>De geïnstalleerde versie is nieuwer dan die
in de lokale Portscollectie. De lokale Portscollectie
is waarschijnlijk verouderd.?Het geïnstalleerde package kan niet gevonden
worden in index van de Portscollectie. Dit kan
bijvoorbeeld gebeuren als een geïnstalleerde port
uit de Portscollectie wordt verwijderd of
hernoemd.*Er zijn meerdere versies van het package.Packages verwijderenpkg_deletepackagesdeletingVoor het verwijderen van een geïnstalleerd package
wordt het hulpprogramma &man.pkg.delete.1; gebruikt.&prompt.root; pkg_delete xchat-1.7.1DiversenAlle informatie over packages wordt opgeslagen in de map
/var/db/pkg. De lijst met
geïnstalleerde bestanden en beschrijvingen van ieder
package staat in de bestanden in deze map.De Portscollectie gebruikenIn de volgende paragrafen worden basisinstructies gegeven
over het gebruik van de Portscollectie om programma's op een
systeem te installeren of ervan te verwijderen. Een
gedetailleerde beschrijving van de make-doelen
en omgevingsvariabelen staat in &man.ports.7;.De PortscollectieVoordat ports geïnstalleerd kunnen worden moet eerst
de Portscollectie op een systeem staan, die in essentie een set
van Makefiles, patches en bestanden met
beschrijvingen is in /usr/ports.Tijdens het installeren van een &os; systeem, vraagt
sysinstall of de Portscollectie
geïnstalleerd moet worden. Als daar NO is
aangegeven, dan kan met behulp van de volgende instructies
alsnog de Portscollectie op een systeem gezet worden:Met CVSupDit is een snelle methode voor het verkrijgen en
bijhouden van een kopie van Portscollectie met behulp van
CVSup. Meer informatie over
CVSup staat in CVSup gebruiken.Installeer het package net/cvsup-without-gui:&prompt.root; pkg_add -r cvsup-without-guiMeer details staan in CVSup Installatie ();Draai cvsup:&prompt.root; cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfileWijzig cvsup.FreeBSD.org
in een CVSup server in de buurt.
In CVSup Mirrors
() staat een complete lijst
van mirrorsites;Het kan wenselijk zijn een aangepaste
ports-supfile te gebruiken,
bijvoorbeeld om een CVSup
server niet mee te hoeven geven op de
commandoregel.Kopieer in dit geval, als
root,
/usr/share/examples/cvsup/ports-supfile
naar een nieuwe locatie, zoals /root of een
thuismap.Wijzig ports-supfile.Wijzig
CHANGE_THIS.FreeBSD.org in
een CVSup server in de
buurt. In CVSup
Mirrors ()
staat een volledige lijst met mirrorsites.Roep nu als volgt cvsup
aan:&prompt.root; cvsup -L 2 /root/ports-supfileAls dit commando later wordt herhaald, dan worden alle
recente veranderingen binnengehaald. De ports die al
geïnstalleerd zijn worden niet opnieuw gebouwd!Met Portsnap
- &man.portsnap.8; is een alternatief systeem voor het
+ Portsnap is een alternatief systeem voor het
distribueren van de Portscollectie dat voor het eerst
beschikbaar was in &os; 6.0. Op oudere systemen is het
- te installeren uit de port sysutils/portsnap:&prompt.root; pkg_add -r portsnapIn Portsnap gebruiken
staat een gedetailleerde beschrijving van alle mogelijkheden
van Portsnap.
- Maak een lege map /usr/ports als die nog niet
- bestaat.
+ Sinds &os;- 6.1-RELEASE en met recente versies van
+ de Portsnap port of package kan
+ de volgende stap worden overgeslagen. De /usr/ports wordt automatisch
+ gemaakt bij het eerste gebruik van het &man.portsnap.8;
+ commando. Met eerdere versies van
+ Portsnap moet de /usr/ports directory eerst
+ gemaakt worden als deze nog niet bestaat:&prompt.root; mkdir /usr/portsDownload een gecomprimeerd snapshot van de
Portscollectie naar /var/db/portsnap. Na deze
stap kan eventueel de verbinding met internet verbroken
worden.&prompt.root; portsnap fetchAls Portsnap voor de eerste
keer draait, pak het snapshot dan uit in /usr/ports:
&prompt.root; portsnap extractAls /usr/ports
al gevuld is en er alleen wordt bijgewerkt, voer dan het
volgende commando uit in plaats van het
bovenstaande:&prompt.root; portsnap updateMet sysinstallBij deze methode wordt
sysinstall gebruikt om de
Portscollectie van installatiemedia te installeren. Hier
wordt wel de Portscollectie op het moment dat de release
gemaakt is geïnstalleerd. Bij toegang tot internet is
het advies altijd een andere methode te gebruiken.Draai als rootsysinstall
(/stand/sysinstall in &os;
versies ouder dan 5.2) zoals hieronder aangegeven:&prompt.root; sysinstallScroll naar beneden en selecteer
Configure, druk op
Enter.Scroll naar beneden en selecteer
Distributions, druk op
Enter.Scroll naar ports, druk op
Space.Scroll naar boven naarExit,
druk op Enter.Selecteer de gewenste installatiemedia, zoals CD-ROM,
FTP, enzovoort.Scroll omhoog naar Exit en
druk op Enter.Druk op X om
sysinstall af te sluiten.Ports installerenportsinstallerenHet eerste wat uitleg behoeft als het over de
Portscollectie gaat is de term skelet
(skeleton). In een notendop is een portskelet
een minimaal aantal bestanden dat &os; aangeeft hoe een
programma gecompileerd en geïnstalleerd kan worden. Ieder
portskelet bevat:Een Makefile. De
Makefile bevat verschillende
definities die aangeven hoe de applicatie gecompileerd moet
worden en waar die op een systeem geïnstalleerd moet
worden;Een bestand distinfo. Dit bestand
bevat informatie over de bestanden die gedownload moeten
worden om de port te bouwen en hun checksums, om met
&man.md5.1; vast te stellen dat de bestanden niet corrupt
zijn geraakt tijdens de download.;Een map files. Deze map bevat
patches om het programma op een &os; systeem te laten
compileren en installeren. Patches zijn in essentie kleine
bestanden waarin kleine veranderingen aan andere,
specifieke, bestanden staan aangegeven. Ze zijn opgesteld
in platte tekst en er staan dingen in als Verwijder
regel 10 of Wijzig regel 26 in
.... Patches staan ook wel bekend als
diffs omdat ze gemaakt worden met het
programma &man.diff.1;.Deze map kan ook andere bestanden bevatten die gebruikt
worden om de port te bouwen;Een bestand pkg-descr. Dit is een
meer gedetailleerde beschijving van het programma, vaak in
één regel;Een bestand pkg-plist. Dit is een
lijst met alle bestanden die door de port
geïnstalleerd worden. Het geeft het portssysteem ook
aan welke bestanden bij het verwijderen van de port weer
verwijderd kunnen worden.Sommige ports bevatten nog andere bestanden, zoals
pkg-message. Het portssysteem gebruikt
die bestanden voor het afhandelen van bijzondere situaties.
Meer details over die bestanden en over ports in het algemeen
zijn na te lezen in het &os; Handboek
voor Porters.De port bevat instructies over hoe de broncode gebouwd moet
worden, maar de broncode zelf is er geen onderdeel van. De
broncode staat op een cd-rom of op internet. De broncode
wordt verspreid op de wijze waarop de auteur dat wenst. Vaak
is dat als een tar of gzip bestand, maar het kan ook ingepakt
zijn met een ander programma of helemaal niet ingepakt zijn.
De broncode van een programma, in welke vorm dan ook, heet een
distfile. De twee methoden om een &os; port te
installeren worden hieronder beschreven.Ports installeren dient als root te
gebeuren.Voordat een port wordt geïnstalleerd is het aan
te raden op
na kijken of er geen beveiligingsproblemen voor de
gewenste applicatie bekend zijn.Het is ook mogelijk om security/portaudit te
installeren. Hiermee wordt die controle automatisch
uitgevoerd voordat een port wordt geïnstalleerd. Met
het commando portaudit -F kan de
meest recente versie van de database met
beveiligingsproblemen opgehaald worden. Door deze port wordt
dagelijks een beveiligingsaudit gedaan en wordt ook dagelijks
de database bijgewerkt. Meer informatie is te vinden in
&man.portaudit.1; en &man.periodic.8;.Een criterium voor gebruik van de Portscollectie is een
werkende internetverbinding. Als die niet aanwezig is, zet dan
handmatig een kopie van de benodigde distfile(s) in
/usr/ports/distfiles.Ga om te beginnen naar de juiste map voor een port:&prompt.root; cd /usr/ports/sysutils/lsofEenmaal in de map lsof is het skelet
van de port te zien. In de volgende stap wordt de broncode
voor de port gecompileerd of gebouwd. Dit
wordt gedaan door op het prompt make in te
voeren. Dat levert iets als het volgende op:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===> Extracting for lsof-4.57
...
[uitvoer van uitpakken verwijderd]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[uitvoer van configure verwijderd]
...
===> Building for lsof-4.57
...
[uitvoer van compileren verwijderd]
...
&prompt.root;Als het compileren is afgerond is het prompt weer
zichtbaar. In de volgende stap wordt de port
geïnstalleerd. Om dat te bewerkstelligen wordt het woord
install aan make
toegevoegd:&prompt.root; make install
===> Installing for lsof-4.57
...
[uitvoer installatie verwijderd]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Als het prompt weer beschikbaar is, is de applicatie
klaar voor gebruik. Omdat lsof met
verhoogde rechten wordt uitgevoerd, wordt er een
waarschuwing getoond. Tijdens het bouwen en installeren van
ports zijn de getoonde waarschuwingen van belang.Het is verstandig om de submap die als werkmap wordt
gebruikt te verwijderen. Hierin staan alle tijdelijke
bestanden die tijdens het compileren worden gebruikt. Die
bestanden gebruiken niet alleen waardevolle schijfruimte, maar
ze kunnen later ook problemen veroorzaken als de port wordt
bijgewerkt.&prompt.root; make clean
===> Cleaning for lsof-4.57
&prompt.root;
- Het is mogelijk een stap minder te gebruiken door
+ Het is mogelijk twee stappen minder te gebruiken door
make install clean uit te voeren in plaats
van make, make install
en make clean als drie afzonderlijke
stappen.Sommige shells houden een cache bij van de commando's
die in de mappen uit de omgevingsvariabele
PATH staan om het opzoeken van een uitvoerbaar
bestand te versnellen. Als zo'n shell wordt gebruikt, moet
er na de installatie van een port het commando
rehash worden uitgevoerd voordat zojuist
geïnstalleerde commando's kunnen worden gebruikt. Dit
commando werkt voor shells zoals tcsh.
Gebruik voor shells als shhash
-r. In de documentatie van een shell staat meer
informatie.Sommige DVD-ROM-producten van andere partijen, zoals de
&os; Toolkit van de FreeBSD Mall
bevatten disfiles. Die kunnen met de Portscollectie gebruikt
worden. Mount de DVD-ROM op /cdrom. Stel
bij gebruik van een ander mountpunt de make variabele
CD_MOUNTPTS in. De benodigde distfiles
worden automatisch gebruikt als ze op de schijf aanwezig
zijn.Licenties van sommige ports staan niet toe dat de code
wordt opgenomen in een cd-rom. Dit kan komen doordat er een
formulier ingevuld moet worden voor een download of doordat
herdistributie niet is toegestaan of om een andere reden.
Om een port te installeren die niet op de cd-rom staat moet
de computer waarop de port geïnstalleerd wordt een
internetverbinding hebben.Het portssysteem gebruikt &man.fetch.1; om bestanden te
downloaden. Dat programma maakt gebruik van een aantal
omgevingsvariabelen, waaronder FTP_PASSIVE_MODE,
FTP_PROXY, en FTP_PASSWORD. Als
een systeem achter een firewall staat, is het wellicht
noodzakelijk om een of meer van deze omgevingsvriabelen in te
stellen of om gebruik te maken van een FTP/HTTP proxy. In
&man.fetch.3; staat een complete lijst.Als er geen continue internetverbinding is, kan gebruik
gemaakt worden van make
fetch. Door dit commando
in de map /usr/ports uit te voeren worden
alle benodigde bestanden gedownload. Dit
commando werkt ook op een lager niveau als
/usr/ports/net of
/usr/ports/net/xmule. Als een port
afhankelijk is van bibliotheken of andere ports dan worden de
distfiles van die ports niet opgehaald.
Om dat de bereiken dient fetch
vervangen te worden door
fetch-recursive.Het is mogelijk alle ports in een categorie te bouwen
door make in een hogere map uit te voeren,
naar analogie van het voorbeeld voor make
fetch. Dit is wel gevaarlijk,
omdat sommige ports niet tegelijk met andere
geïnstalleerd kunnen zijn. In andere gevallen
installeren twee ports hetzelfde bestand met een andere
inhoud.In zeldzame gevallen willen of moeten gebruikers de
tar-bestanden van een andere site dan de
MASTER_SITES halen (de locatie waar de
bestanden vandaan komen). Dat is mogelijk met de optie
MASTER_SITES met een volgend
commando:&prompt.root; cd /usr/ports/directory
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchIn het voorgaande voorbeeld is de optie
MASTER_SITES gewijzigd naar ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.Sommige ports staan toe (of schrijven zelfs voor) dat er
een aantal instellingen worden meegegeven die bepaalde
onderdelen (niet gebruikt, beveiligingsinstellingen en andere
aanpassingen) van de applicatie in- of uitschakelen.
Voorbeelden van ports waarbij dat het geval is zijn www/mozilla, security/gpgme en mail/sylpheed-claws. Er wordt
een bericht getoond als dit soort instellingen beschikbaar
zijn.Standaardmappen voor ports wijzigenSoms is het handig (of verplicht) om een andere map voor
- distfiles of ports te gebruiken. Met de variabelen
- PORTSDIR en PREFIX
+ werk of ports te gebruiken. Met de variabelen
+ WRKDIRPREFIX en PREFIX
kunnen de standaardmappen veranderd worden:
- &prompt.root; make PORTSDIR=/usr/home/example/ports install
+ &prompt.root; make WRKDIRPREFIX=/usr/home/example/ports installHet voorbeeld hierboven compileert de port in
/usr/home/example/ports en installeert
alles in /usr/local.&prompt.root; make PREFIX=/usr/home/example/local installHet voorbeeld hierboven compileert in
/usr/ports en installeert in
/usr/home/example/local.
- &prompt.root; make PORTSDIR=../ports PREFIX=../local install
+ &prompt.root; make WRKDIRPREFIX=../ports PREFIX=../local installHet voorbeeld hierboven combineert de twee instellingen.
Het gaat te ver om dit volledig in het handboek te
beschrijven, maar hier krijgt de lezer een idee van de
mogelijkheden.Het is ook mogelijk de bovenstaande variabelen als deel
van de omgeving in te stellen. In de hulppagina's van de
gebruikte shell staat hoe dat mogelijk is.Omgaan met imakeEr zijn ports die imake gebruiken
(een onderdeel van het X Window systeem) die niet goed werken
met PREFIX en erop staan te installeren in
/usr/X11R6. Er zijn ook een aantal Perl
ports die PREFIX negeren en in de Perl
hiërarchie installeren. Deze ports op de
PREFIX locatie laten installeren is
meestal erg moeilijk of onmogelijk.Geïnstalleerde ports verwijderenportsverwijderenIn deze paragraaf wordt het verwijderen van ports
behandeld. Dat kan nodig zijn als een port niet langer wordt
gebruikt of als de verkeerde ports is geïnstalleerd. Dit
wordt geïllustreerd door de port uit het vorige voorbeeld
te verwijderen (lsof). Ports worden op
precies dezelfde manier verwijderd als packages met het
commando &man.pkg.delete.1; (zoals beschreven in het onderdeel
Packages):&prompt.root; pkg_delete lsof-4.57Ports bijwerkenportsbijwerkenStel als eerste een lijst samen met ports waarvoor een
nieuwere versie beschikbaar is in de Portscollectie met het
commando &man.pkg.version.1;:&prompt.root; pkg_version -vAls de Portscollectie eenmaal is bijgewerkt
vóór het bijwerken van ports, is het verstandig
het bestand /usr/ports/UPDATING te
raadplegen. In dat bestand staan aanwijzingen en wijzigingen
voor gebruikers die van belang zijn bij het bijwerken van
ports.Ports bijwerken met portupgradeportupgradeHet hulpprogramma portupgrade
is ontworpen als instrument om eenvoudig ports bij te werken.
Het is beschikbaar via de port sysutils/portupgrade. Installeer
het net als iedere andere port met het commando make
install clean:&prompt.root; cd /usr/ports/sysutils/portupgrade
&prompt.root; make install cleanScan de lijst met geïnstalleerde ports met het
commando pkgdb -F en corrigeer alle
gerapporteerde inconsistenties. Het is verstandig dit
regelmatig te doen, voor iedere keer bijwerken.Door het draaien van portupgrade -a
zal portupgrade beginnen met het
bijwerken van alle geïnstalleerde ports op een systeem
waarvoor een nieuwere versie beschikbaar ius. Met de vlag
is het mogelijk in te stellen dat voor
iedere bij te werken port om bevestiging wordt
gevraagd.&prompt.root; portupgrade -aiGebruik om alleen een specifieke applicatie bij te werken
en niet alle beschikbare ports portupgrade
pkgname. Gebruik de
vlag om
portupgrade eerst alle ports bij
te laten werken die voor een bij te werken toepassing
benodigd zijn.&prompt.root; portupgrade -R firefoxGebruik de vlag om bij installatie
van packages in plaats van ports gebruik te maken. Met deze
optie zoekt portupgrade in de
lokale mappen uit PKG_PATH of haalt de
packages via het netwerk op als ze lokaal niet worden
aangetroffen. Als een package niet lokaal en niet via het
netwerk wordt gevonden, dan gebruikt
portupgrade ports. Om het gebruik
van ports te voorkomen kan gebruik gemaakt worden van de
optie :&prompt.root; portupgrade -PR gnome2Om alleen de distfiles op te halen (of packages als
is opgegeven), zonder bouwen of
installeren, is beschikbaar. Meer
informatie staat in &man.portupgrade.1;.Ports bijwerken met portmanagerportmanagerPortmanager is een ander
hulpprogramma voor het eenvoudig bijwerken van
geïnstalleerde ports. Het is beschikbaar via de port
sysutils/portmanager:&prompt.root; cd /usr/ports/sysutils/portmanager
&prompt.root; make install cleanAlle geïnstalleerde ports kunnen bijgewerkt worden
met het volgende eenvoudige commando:&prompt.root; portmanager -uMet de vlag kan ingesteld worden dat
voor iedere stap die Portmanager
wil uitvoeren vooraf toestemming moet worden gegeven.
Portmanager kan ook nieuwe ports
op een systeem installeren. Anders dan met het bekende
commando make install clean worden alle
afhankelijkheden bijgewerkt voordat de geselecteerde port
wordt gebouwd en geïnstalleerd:&prompt.root; portmanager x11/gnome2Als er problemen zijn ten aanzien van de afhankelijkheden
voor een geselecteerde port, dan kan
Portmanager ze allemaal herbouwen
in de juiste volgorde. Als dat is afgerond, wordt daarna
ook de port die problemen opleverde opnieuw gebouwd:&prompt.root; portmanager graphics/gimp -fMeer informatie staat in de handleiding voor
Portmanager.Ports en schijfruimteportsdisk-spaceWerken met de Portscollectie kan in de loop der tijd veel
schijfruimte gebruiken. Na het bouwen en installeren van
software uit de ports, is het van belang altijd de tijdelijke
mappen work op te ruimen
met het commando make
clean. De complete
Portscollectie kan geschoond worden met het volgende
commando:&prompt.root; portsclean -CIn de loop der tijd komen ook veel oude bestanden met
broncode in de map distfiles te staan. Die kunnen
handmatig verwijderd worden of met het volgende commando dat
alle distfiles waarnaar in de huidige ports geen verwijzingen
meer staan verwijdert:&prompt.root; portsclean -DHet hulpprogramma portsclean is
onderdeel van de suite
portupgrade.Vergeet niet ports die niet langer gebruikt worden te
verwijderen. Een handig hulpmiddel hiervoor kan de port
sysutils/pkg_cutleaves
zijn.Activiteiten na het installerenNa het installeren van een nieuwe applicatie is het meestal
verstandig om de documentatie te lezen die bij een applicatie
zit, bestanden met instellingen die vereist zijn aan te passen,
ervoor te zorgen dat de applicatie start na het booten (als het
een daemon is), enzovoort.De exacte stappen om een applicatie in te stellen zijn
natuurlijk voor iedere applicatie anders. Maar als er net een
nieuwe applicatie is geïnstalleerd en het is niet
vanzelfsprekend hoe verder te gaan, dan kunnen de volgende tips
helpen:Met &man.pkg.info.1; kan uitgevonden worden welke
bestanden geïnstalleerd zijn en waar. Om bijvoorbeeld
uit te vinden welke bestanden door FooPackage versie 1.0.0
zijn geïnstalleerd:&prompt.root; pkg_info -L foopackage-1.0.0 | lessBestanden in mapnamen met man/
zijn hulppagina's, etc/ bevat bestanden
met instellingen en doc/ bevat
uitgebreidere documentatie.Als niet helemaal duidelijk is welke versie van het
programma is geïnstalleerd, kan een commando als volgt
gebruikt worden:&prompt.root; pkg_info | grep -i foopackageHiermee worden alle packages getoond waar
foopackage in de packagenaam
voorkomt.Als de hulppagina's zijn gevonden, kunnen die bekeken
worden met &man.man.1;. Zo kan er ook in de bestanden met
voorbeeldinstellingen gekeken worden en naar aanvullende
documentatie, als die is bijgeleverd.Als er een website is voor de applicatie staat daar
vaak ook aanvullende documentatie, veelgestelde vragen,
enzovoort. Als het webadres niet bekend is, kan dat nog
staan in de uitvoer van het volgende commando:&prompt.root; pkg_info foopackage-1.0.0Als er een regel met WWW: in staat, is
dat de URL naar de website voor de applicatie.Ports die na het booten moeten starten (zoals internet
diensten) hebben meestal een voorbeeldscript in
/usr/local/etc/rc.d. Dit script kan
bekeken, aangepast en hernoemd worden waar nodig. Meer
informatie staat in Diensten
Starten.Omgaan met kapotte portsAls een port niet werkt, zijn er een aantal mogelijke
manieren om verder te komen:Zoek uit of er een oplossing voor de port staat te
wachten in de Problem Report
database. Als dat zo is kan wellicht de
voorgestelde reparatie gebruikt worden.Vraag de beheerder van de port om hulp. Voor het
e-mailadres van de beheerder kan make
maintainer ingegeven worden of het kan in de
Makefile staan. Zet in de mail in ieder
geval de naam en versie van de port (de regel met
$&os;: in de
Makefile) en de uitvoer tot en met de
foutmelding.Sommige ports worden niet beheerd door een individu
maar in plaats daarvan door een mailinglijst.
Veel, maar niet alle, van deze adressen zien eruit als
freebsd-listname@FreeBSD.org.
Houd hier alstublieft rekening mee bij het formuleren van
vragen.In het bijzonder worden ports die geregistreerd staan
als onderhouden door freebsd-ports@FreeBSD.org helemaal
niet onderhouden. Reparaties en ondersteuning, als die al
beschikbaar is, komt vanuit de gemeenschap die is
geabonneerd op die mailinglijst. Meer vrijwilligers zijn
altijd nodig!Als er geen antwoord komt, stuur dan met &man.send-pr.1;
een foutrapport in. Zie Writing
&os; Problem Reports).Repareren! In het Handboek
voor de Porter is gedetailleerde informatie te
vinden over de infrastructuur van de Ports,
zodat een kapotte port gemaakt kan worden of er zelfs een
nieuwe port ingestuurd kan worden.Zoek een package van een FTP site in de buurt. De
master packagecollectie staat op ftp.FreeBSD.org in de map
packages, maar het is van belang dat er
eerstin de buurt
wordt gekeken! Dat het package werkt is waarschijnlijker dan
wanneer uit de broncode wordt gecompileerd en het is nog
sneller ook. Een package kan met &man.pkg.add.1;
geïnstalleerd worden.
diff --git a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml
index 4ed7615d8b..44bdb39f6f 100644
--- a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml
@@ -1,1950 +1,1822 @@
KenTomGeupdate voor X.Org's X11 server door MarcFonvieilleErikRadderVertaald door Het X Window systeemOverzicht&os; gebruikt X11 om gebruikers een krachtige grafische
gebruikersschil te bieden. X11 is een open-source
implementatie van het X Window System dat zowel
&xorg; als
&xfree86; bevat. &os; versies tot en
met &os; 4.11-RELEASE en &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.In dit hoofdstuk wordt de installatie en instelling van X11
behandeld met de nadruk op
&xorg;.Meer informatie over de videohardware die X11 ondersteunt
kan gevonden worden op &xorg; of &xfree86;
websites.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
().In dit hoofdstuk wordt het installeren en instellen van de
&xorg; en
&xfree86; X11 servers behandeld. De
bestanden met instellingen, commando's en syntaxis is
overwegend hetzelfde. Waar dat anders is wordt het
aangegeven.X begrijpenX 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 modelX 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,
enzovoort. Iedere X applicatie (zoals
XTerm, of
&netscape;) is een
client. Een client 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.&xorg;, zit vanaf
&os; 5.3-RELEASE als standaard X server bij &os; en is
gratis onder een gelijksoortig licentie als de &os; licentie.
Er zijn ook commerciële X servers voor &os;
verkrijgbaar.De window managerDe 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 gelijksoortigs. 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.FocusbeleidDe 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.WidgetsDe 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 enigzins op de &unix; desktop, wat het makkelijker
maakt voor de beginnende gebruiker.X11 installerenZowel &xorg; als
&xfree86; kan op &os;
geïnstalleerd worden. Vanaf &os; 5.3-RELEASE is
&xorg; 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 X.Org Foundation heeft X11R6.7 uitgebracht in april
2004 en X11R6.8.2 in februari 2005. De laatstgenoemde versie
is beschikbaar via de &os; Portscollectie.Om &xorg; vanuit de
Portscollectie te bouwen en te installeren:&prompt.root; cd /usr/ports/x11/xorg
&prompt.root; make install cleanOm &xorg; compleet te
bouwen is tenminste 4 GB vrije schijfruimte nodig.Om &xfree86; vanuit de
Portscollectie te bouwen en te installeren:&prompt.root; cd /usr/ports/x11/XFree86-4
&prompt.root; make install cleanX11 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 xorgHet &xfree86; 4.X package kan
geïnstalleerd worden met:&prompt.root; pkg_add -r XFree86Het voorbeeld hierboven installeert de complete X11
distributie inclusief de servers, clients, lettertypen enz. Er
zijn ook afzondelijke 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.Van &xfree86; naar
&xorg;Zoals voor iedere port, moet
/usr/ports/UPDATING bekeken worden voor
de wijzigingen. In dit bestand staan instructies die
nodig zijn om een systeem te migreren van
&xfree86; naar
&xorg;.CVSup kan gebruikt worden om
de ports tree bij te werken voordat er wordt begonnen met een
migratie. Naast deze maatregel moet ook sysutils/portupgrade
geïnstalleerd worden voor de migratie van een X11
systeem.In /etc/make.conf kan de variabele
X_WINDOW_SYSTEM=xorg ingesteld worden.
Hierdoor is het zeker dat een systeem weet welke X11 er wordt
gebruikt. De oude variabele XFREE86_VERSION
is komen te vervallen en vervangen door de variabele
X_WINDOW_SYSTEM.Dan kunnen de volgende commando's uitgevoerd worden:&prompt.root; pkg_delete -f /var/db/pkg/imake-4* /var/db/pkg/XFree86-*
&prompt.root; cd /usr/ports/x11/xorg
&prompt.root; make install clean
&prompt.root; pkgdb -F&man.pkgdb.1; is onderdeel van de
portupgrade software en kan packages
inclusief afhankelijkheden bijwerken.Om &xorg; compleet te bouwen
is tenminste 4 GB vrije schijfruimte nodig.ChristopherShumwayGeschreven door X11 instellen&xfree86; 4.X&xfree86;&xorg;X11VoorbereidingVoordat er wordt begonnen met het instellen van X11 is de
volgende informatie van de te installeren machine nodig:Monitor specificatiesChipset van de videokaartGeheugen van de videokaarthorizontale scansnelheidverticale scansnelheidDe 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 vertikale syncronisatiesnelheid (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 instellenHet instellen van X11 bestaat uit meerdere stappen. De
eerste stap is het bouwen van een instellingenbestand. Dit kan
met:&prompt.root; Xorg -configureIn het geval van &xfree86; is
dat:&prompt.root; XFree86 -configureDit genereert een kaal X11 instellingbestand 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. Dit kan met:&prompt.root; Xorg -config xorg.conf.newVoor &xfree86;
gebruikers:&prompt.root; XFree86 -xf86config XF86Config.newAls er een zwart/grijs rooster en een X muis cursor
verschijnen was de instelling successvol. Om de test te
stoppen dient gelijktijdig op CtrlAltBackspace gedrukt te
worden.Als de muis niet werkt, dan moet deze eerst ingesteld
worden. Zie in het &os; installatie
hoofdstuk.X11 optimaliserenNu moet xorg.conf.new (of
XF86Config.new als
&xfree86; wordt gebruikt) 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 vertikale 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
EndSectionIn 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 vertikale
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
time-outs 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.confXF86ConfigAls het instellingenbestand
xorg.conf.new (of
XF86Config.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
EndSectionHet sleutelwoord DefaultDepth beschrijft
de kleurdiepte die standaard wordt gebruikt. Met de
commandoregeloptie van &man.Xorg.1; (of
&man.XFree86.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 standaardkleurdiepte 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
(namen van &xfree86;
logboekbestanden hebben de vorm
XFree86.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; (of &man.XFree86.1;) het
kan vinden. Dit is meestal
/etc/X11/xorg.conf of
/usr/X11R6/etc/X11/xorg.conf (voor
&xfree86; heet het
/etc/X11/XF86Config of
/usr/X11R6/etc/X11/XF86Config):&prompt.root; cp xorg.conf.new /etc/X11/xorg.confVoor &xfree86;:&prompt.root; cp XF86Config.new /etc/X11/XF86ConfigHet instellen van X11 is nu gereed. Om
&xfree86; 4.X te kunnen starten
met &man.startx.1; dient de x11/wrapper port geïnstalleert
te worden. &xorg; heeft wrappercode
en heeft geen extra wrapper nodig. De X11 server kan ook
gestart worden met &man.xdm.1;.Er zit ook een grafisch instellingenprogramma bij de
X11 distributie: &man.xorgcfg.1; (man.xf86cfg.1; voor
&xfree86;). Hiermee kunnen de
instellingen en stuurprogramma's interactief gekozen worden.
Dit kan ook op het console gebruikt worden:
xorgcfg -textmode. Meer details zijn
te vinden in &man.xorgcfg.1; en &man.xf86cfg.1;.Er is ook nog het hulpprogramma &man.xorgconfig.1;
(&man.xf86config.1; voor
&xfree86;). Dit programma is
op het console te gebruiken en is veel minder
gebruikersvriendelijk, maar het zou wel kunnen werken in
gevallen waarin andere hulpprogramma's dat niet doen.Bijzondere instellingenInstellen met de &intel; i810 graphische
chipsetIntel i810 grafische
chipsetInstellen met &intel; i810 integrated chipsets vereist de
agpgart AGP programmeringsinterface
voor X11 om de kaart aan te sturen. Het &man.agp.4;
stuurprogramma zit in de GENERIC kernel
sinds 4.8-RELEASE en 5.0-RELEASE. Bij eerdere versies dient
het volgende toegevoegd te worden aan het bestand met
kernelinstellingen:device agpHierna dient een nieuwe kernel gebouwd te worden. In
plaats hiervan, kan de kernelmodule
agp.ko automatisch geladen worden met
&man.loader.8; tijdens het opstarten. Hiervoor moet het
volgende in /boot/loader.conf
staan:agp_load="YES"Als gebruik wordt gemaakt van &os; 4.X of recenter,
dan moet een apparaatnode gemaakt worden voor de
programmainterface. Om deze AGP apparaatnode te maken, dient
&man.MAKEDEV.8; gestart te worden in de map
/dev:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV agpgart&os; 5.X of later gebruikt &man.devfs.5; om
apparaatnodes transparant te verwerken, dan is de
stap met &man.MAKEDEV.8; niet meer nodig.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.Als &xfree86; 4.1.0 (of
later) gebruikt wordt en er verschijnen berichten over
unresolved symbols zoals
fbPictureInit, dan kan het toevoegen van
de regel aan het
&xfree86; instellingenbestand na
Driver "i810" de oplossing zijn:Option "NoDDC"MurrayStokelyBijgedragen door Lettertypen gebruiken in X11Type1 lettertypenDe 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 cleanDat 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 in
XF86Config (in /etc/
voor &xfree86; versie 3 of in
/etc/X11/ voor versie 4):FontPath "/usr/X11R6/lib/X11/fonts/URW/"Ook kan op de commando regel in de X sessie het volgende
gestart worden:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW
&prompt.user; xset fp rehashDit 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/X11R6/etc/fonts/local.conf: zie
hiervoor de paragraaf over over Anti-aliasing.&truetype; lettertypenTrueType lettertypenlettertypenTrueType&xfree86; 4.X en
&xorg; hebben 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 of
/etc/X11/XF86Config.Load "freetype"Voor &xfree86; 3.3.X is een
aparte &truetype; lettertypeserver nodig. Meestal wordt
Xfstt gebruikt. Om
Xfstt te installeren hoeft alleen
de port x11-servers/Xfstt
geïnstalleerd te worden.Hierna dient een map voor de &truetype; lettertypen gemaakt
te worden (bijvoorbeeld
/usr/X11R6/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/X11R6/lib/X11/fonts/TrueType
&prompt.root; ttmkfdir > fonts.dirNu moet de &truetype; map toe aan het lettertypepad
toegevoegd worden. Dit gebeurt op dezelde wijze als boven is
beschreven voor Type1
lettertypen:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
&prompt.user; xset fp rehashof door een FontPath regel toe te voegen
aan xorg.conf (of
XF86Config).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 MarcusClarkeBijgewerkt door Anti-alias lettertypenanti-alias lettertypenlettertypenanti-aliasAnti-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/X11R6/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/X11R6/etc/fonts/local.conf gemaakt
of gewijzigd worden. In dit bestand kunnen speciale
eigenschappen van het Xft lettertypesysteem aangepast worden.
Deze paragraaf beschijft wat eenvoudige mogelijkheden.
Meer details staan in &man.fonts-conf.5;.XMLDit 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/X11R6/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/X11R6/etc/fonts/local.conf toegevoegd
te worden:<dir>/path/to/my/fonts</dir>Na het toevoegen van nieuwe lettertypen en zeker nieuwe
lettertypemappen dienen de lettertypecaches opnieuw opgebouwd
worden met:&prompt.root; fc-cache -fAnti-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>lettertypenspacingSpatië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 vertikaal 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/X11R6/etc/fonts/local.conf aan als
het nog niet bestaat. Als het al wel bestaat maakt de port
/usr/X11R6/etc/fonts/local.conf-vera aan.
De inhoud van dit bestand dient in
/usr/X11R6/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 screenlettertypenLCD screenNog 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.Mozillaanti-aliasing lettertypen uitschakelenAnti-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 (zie
- over KDE). GTK+ en
+ 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.SethKingsleyBijgedragen door De X beeldschermmanagerOverzichtX beeldschermmanagerDe 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
authorisatie informatie (gebruikersnaam en wachtwoord)
af.XDM levert de gebruiker dezelfde
funtionaliteit 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 gebruikenDe XDM daemon staat in
/usr/X11R6/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 deamon
XDM op een virtuele terminal te
draaien:ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureStandaard 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 instellenDe map met instellingen voor XDM
is /usr/X11R6/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:BestandOmschrijvingXaccessRegels voor client authorisatie.XresourcesStandaard waarden voor X bronnen.XserversLijst met op afstand en lokaal te beheren schermen.XsessionStandaard sessie script voor logins.Xsetup_*Script die applicaties start voordat de login
interface start.xdm-configAlgehele instellingen voor alle schermen op
deze machine.xdm-errorsErrors die gegenereerd zijn door het server programma.xdm-pidHet 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.XaccessOm 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.XresourcesDit 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.XserversDit is een lijst met netwerkschermen waaruit gekozen kan
worden.XsessionDit 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-configDit bevat de instellingen die toegepast worden op ieder
scherm die deze installatie aanstuurt. De indeling is
hetzelfde als van app-defaults.xdm-errorsHierin 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 gebruikenOm 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: 0Hierna 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
toegangcontrole aan te scherpen. Hiervoor staan
voorbeeldregels in Xaccess en
&man.xdm.1;.Alternatieven voor XDMEr bestaan diverse alternatieven voor
XDM programma.
kdm (wordt geleverd bij
KDE) wordt later in dit hoofstuk
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.ValentinoVaschettoBijgedragen door BureaubladomgevingenDeze 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.GNOMEOver GNOMEGNOMEGNOME 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 installerenDe makkelijkste manier om
GNOME te installeren is door
middel van het Desktop Configuration menu
tijdens de &os; installatie zoals beschreven in . Het kan ook makkelijk
geïnstalleerd worden van een package of uit de
Portscollectie:Om het GNOME package te
installeren:&prompt.root; pkg_add -r gnome2Om GNOME vanuit de
Portscollectie te installeren:&prompt.root; cd /usr/ports/x11/gnome2
&prompt.root; make install cleanZodra 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/X11R6/bin/gnome-session
start. Als er niets speciaals met dit instellingenbestand is
gedaan:&prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrcNu 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/X11R6/bin/gnome-session:&prompt.user; echo "#!/bin/sh" > ~/.xsession
&prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession
&prompt.user; chmod +x ~/.xsessionHet is ook mogelijk de beeldschermanager 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 GNOMEGNOMEanti-alias lettertypenX11 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
bureaublagomgeving mogelijk. In ApplicationsDesktop
PreferencesFont kan gekozen wordne 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.KDEKDEOver KDEKDE 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 vraag en antwoord gestuurde
bureaubladinstelling;Een grote hoeveelheid bruikbare
KDE applicaties;
- KDE heeft een office
- applicatie suite die gebaseerd is op
- KDE's
- KParts technologie en bestaat uit een
- spread-sheet, een presentatieprogramma, een organizer, een
- nieuwsclient en meer. KDE heeft
- ook de webbrowser Konqueror die
+ 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 &os;-KDE team
website.KDE installerenNet als bij GNOME of iedere
andere bureaubladomgeving is de makkelijkste manier om
KDE te installeren door middel van
het Desktop Configuration menu in het &os;
installatie proces. Dat wordt beschreven in . Ook nu geldt weer dat de
software eenvoudig geïnstalleerd met een package of uit
de Portscollectie:Om KDE van een package te
installeren:&prompt.root; pkg_add -r kde&man.pkg.add.1; haalt automatisch de laatste versie van
de applicatie op.Om KDE vanuit de
Portscollectie te bouwen en te installeren:&prompt.root; cd /usr/ports/x11/kde3
&prompt.root; make install cleanNadat 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:&prompt.user; echo "exec startkde" > ~/.xinitrcAls 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 detailsNadat 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
applicatie's en uitgebreide documentatie. De volgende
paragrafen beschrijven de technische zaken die moeilijk
proefondervindelijk te achterhalen zijn.De KDE beeldschermmanagerKDEbeeldschermmanagerEen 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 te beginnen dient het KDE
- beheerpaneel kcontrol door
- root uitgevoerd te worden. Er wordt in
- het algemeen vanuit gegaan dat het niet veilig is om als
- root de X omgeving te gebruiken. In
- plaats daarvan wordt de window manager als normale gebruiker
- gestart en in een terminalvenster (zoals
- xterm of
- KDE's
- konsole) wordt root
- met su aangemeld. De gebruiker moet
- hiervoor wel in de groep wheel
- in /etc/group staan). In het
- terminalvenster kan dan kcontrol
- ingegeven worden.
-
- Eerst dient geklikt te worden op het linker icoon
- System, daarna op Login
- manager. Rechts staan nu verschillende opties
- om in te stellen die de KDE
- handleiding uitgebreid behandelt. Klik op
- sessions aan de rechterzijde. Klik
- New type om de verschillende window
- managers en bureaubladomgevingen toe te voegen. Dit zijn
- alleen de labels, hierop staat dan
- KDE en
- GNOME in plaats van
- startkde of
- gnome-session. Er dient ook nog
- een label failsafe gemaakt te
- worden.
-
- Er wordt aangeraden ook met de andere menu's te spelen.
- Die zijn hoofdzakeklijk voor cosmetische zaken en spreken
- voor zich. Als de instellingen gemaakt zijn kan onderaan op
- Apply geklikt worden en kan het
- beheerprogramma verlaten worden.
-
- Om te zorgen kdm begrijpt
- wat de labels (KDE en
- GNOME etc) betekenen, dienen de
- bestanden die XDM gebruikt
- gewijzigd te worden.
-
-
- In KDE 2.2 is dit veranderd:
- kdm gebruikt nu zijn eigen
- instellingenbestanden. In de
- KDE 2.2 documentatie staan
- meer details.
-
-
- Als root, in een terminal venster,
- dient /usr/X11R6/lib/X11/xdm/Xsession
- gewijzigd te worden. In het midden van het bestand is een
- onderdeel dat er als volgt uitziet:
-
- case $# in
-1)
- case $1 in
- failsafe)
- exec xterm -geometry 80x24-0-0
- ;;
- esac
-esac
-
- Er moeten een aantal regels toegevoegd worden aan dit
- onderdeel. Aangenomen dat de gebruikte labels
- KDE en GNOME waren, dient
- dat het volgende de worden:
-
- case $# in
-1)
- case $1 in
- kde)
- exec /usr/local/bin/startkde
- ;;
- GNOME)
- exec /usr/X11R6/bin/gnome-session
- ;;
- failsafe)
- exec xterm -geometry 80x24-0-0
- ;;
- esac
-esac
-
- Om bij het aanmelden de KDE
- bureaubladachtergrond hetzelfde te laten zijn als na het
- aanmelden, dient de volgende regel toegevoegd worden aan
- /usr/X11R6/lib/X11/xdm/Xsetup_0:
-
- /usr/local/bin/krootimage
-
- Nu moet kdm voorkomen in
- /etc/ttys en starten bij de volgende
- herstart. Om dit te doen kunnen de instructies uit XDM gebruikt worden en kan
- /usr/X11R6/bin/xdm vervangen worden
- in /usr/local/bin/kdm.
-
-
-
- Anti-alias lettertypen
-
-
- KDE
-
- anti-alias lettertypen
-
+ Om kdm te starten, moet de
+ ttyv8 regel in
+ /etc/ttys worden aangepast. De regel
+ moet er als volgend uitzien:
- X11 ondersteunt anti-aliasing door de toevoeging de
- RENDER toevoeging en vanaf
- Qt versie 2.3 ondersteunt Qt (de toolkit die bij
- KDE zit) deze toevoeging. Het
- instellen hiervan is beschreven in
- over anti-aliasing X11 lettertypen. Dus met up-to-date
- software is anti-aliasing mogelijk op een
- KDE bureaublad. In het
- KDE menu moet in
- PreferencesLook and
- FeelFonts
- het vinkvakje Gebruik
- Anti-aliasing voor Lettertypen en Iconen
- aangevinkt worden. Voor Qt applicaties die geen onderdeel
- zijn van KDE moet de
- omgevingsvariabele QT_XFT op
- true gezet worden voordat het programma
- wordt gestart.
+ ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secureXFceOver XFceXFce 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 efficient
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
applicatiesGeïntegreerde window manager, bestandsmanager,
geluidsmanager, GNOME
compliance module en andere zaken;Thema's (sinds het gebruik van GTK+);Snel, licht en efficient: ideaal voor de oudere
of langzamere machines of machines met beperkte
hoeveelheid geheugen;Meer informatie over XFce
staat op de XFce
website.Installeren van XFceXFce is met een package
te installeren:&prompt.root; pkg_add -r xfce4Of vanuit de Portscollectie:&prompt.root; cd /usr/ports/x11-wm/xfce4
&prompt.root; make install cleanNu moet de X server weten dat
XFce gestart moet worden als X de
volgende keer start:&prompt.user; echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrcDe 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/X11R6/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.