Index: head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml (revision 47321)
+++ head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml (revision 47322)
@@ -1,2766 +1,2764 @@
Grundlagen des UNIX BetriebssystemsChrisShumwayUmgeschrieben von UwePierauÜbersetzt von ÜbersichtDieses Kapitel umfasst die grundlegenden Kommandos
und Funktionsweisen des &os;-Betriebssystems. Viel von diesem
Material gilt auch für jedes andere &unix;-artige System.
Neue Benutzer von &os; sollten dieses Kapitel aufmerksam
lesen.Dieser Abschnitt behandelt die folgenden Themen:virtuelle Konsolen,Zugriffsrechte unter &unix; sowie Datei-Flags unter &os;,Zugriffskontrolllisten für Dateisysteme,die Verzeichnisstruktur von &os;,Organisation von Dateisystemen unter &os;,Ein- und Abhängen von Dateisystemen,Prozesse, Dämonen und Signale,Shells und die Login-Umgebung,Texteditoren,Geräte und Gerätedateien,Binärformate unter &os; undwie Sie in den Manualpages nach weiteren Informationen
suchen können.Virtuelle Konsolen und Terminalsvirtuelle KonsoleTerminalsSie können &os; mit einem Terminal benutzen, der nur Text
darstellen kann. Wenn Sie FreeBSD auf diese Weise benutzen, stehen
Ihnen alle Möglichkeiten eines &unix; Betriebssystems zur
Verfügung. Dieser Abschnitt beschreibt was Terminals und
Konsolen sind und wie sie unter &os; eingesetzt werden.Die KonsoleKonsoleWenn das &os;-System so konfiguriert wurde, dass es ohne
eine grafische Benutzeroberfläche startet, wird das System
nach dem Start einen Anmeldeprompt ausgeben, wie in diesem
Beispiel zu sehen:FreeBSD/amd64 (pc3.example.org) (ttyv0)
login:Die erste Zeile enthält einige Informationen über das
System. amd64 zeigt an, dass auf dem
System in diesem Beispiel eine 64-Bit Version von &os;
läuft. Der Hostname ist
pc3.example.org und
ttyv0 gibt an, dass dies die
Systemkonsole ist.Die zweite Zeile zeigt den Anmeldeprompt. Im nächsten
Abschnitt wird beschrieben, wie Sie sich an diesem Prompt
anmelden.Der Anmeldevorgang&os; ist ein Mehrbenutzersystem, das Multitasking
unterstützt. Das heißt mehrere Benutzer können
gleichzeitig viele Programme auf einem System laufen lassen.Jedes Mehrbenutzersystem muss die Benutzer voneinander
unterscheiden können. Bei &os; und allen anderen
&unix;-artigen
Betriebssystemen wird dies dadurch erreicht, dass sich die
Benutzer anmelden müssen, bevor sie Programme laufen lassen
können. Jeder Benutzer besitzt einen eindeutigen Namen (den
Account) und ein dazugehörendes Passwort. &os; wird beides
abfragen, bevor es dem Benutzer ermöglicht Programme laufen zu
lassen.StartskriptenWenn ein &os;-System startet, werden automatisch
Startskripte ausgeführt, um das System vorzubereiten und
entsprechend konfigurierte Dienste zu starten. Nachdem das
System die Startskripte abgearbeitet hat, wird es einen
Anmeldeprompt präsentieren:login:Geben Sie den Benutzernamen ein, der während der
Systeminstallation
konfiguriert wurde und drücken Sie Enter.
Geben Sie dann das zum Benutzernamen zugeordnete Passwort ein
und drücken Enter. Das Passwort wird aus
Sicherheitsgründen
nicht angezeigt.Sobald das richtige Passwort eingegeben wird, wird die
Nachricht des Tages (MOTD) gefolgt von
einer Eingabeaufforderung (dem Zeichen #,
$ oder %) angezeigt.
Sie sind nun an der &os;-Systemkonsole angemeldet und bereit,
alle verfügbaren Kommandos zu probieren.Virtuelle Konsolen&os; kann so konfiguriert werden, dass viele virtuelle
Konsolen zur Eingabe von Befehlen zur Verfügung stehen. Jede
virtuelle Konsole verfügt über einen eigenen Anmeldeprompt und
Ausgabekanal, und &os; kümmert sich um die ordnungsgemäße
Umleitung von Tastatureingaben und Monitorausgaben, wenn Sie
zwischen den virtuellen Konsolen umschalten.Zum Umschalten der Konsolen stellt &os; spezielle
Tastenkombinationen bereitLesen Sie &man.syscons.4;, &man.atkbd.4;,
&man.vidcontrol.1; und &man.kbdcontrol.1; für eine recht
technische Beschreibung der &os;-Konsole und der
Tastatur-Treiber.. Benutzen Sie
AltF1,
AltF2
bis
AltF8,
um zwischen den verschiedenen virtuellen Konsolen
umzuschalten.Wird von einer Konsole zur nächsten gewechselt, sichert
&os; den Bildschirminhalt und gibt den Bildschirminhalt der
neuen Konsole aus. Dies erzeugt die Illusion mehrerer
Bildschirme und Tastaturen, an denen Kommandos abgesetzt
werden können. Wenn eine Konsole nicht sichtbar ist, weil
ein Benutzer auf eine andere Konsole gewechselt hat, laufen
die dort abgesetzten Kommandos trotzdem weiter./etc/ttysIn der Voreinstellung startet &os; acht virtuelle
Konsolen, deren Anzahl Sie leicht erhöhen
oder verringern können. Die Anzahl und Art der Konsolen wird
in /etc/ttys eingestellt.Jede Zeile in /etc/ttys, die nicht
mit # anfängt, konfiguriert einen Terminal
oder eine virtuelle Konsole. In der Voreinstellung werden
neun virtuelle Konsolen definiert, von denen acht aktiviert
sind. Die Zeilen, die mit ttyv beginnen,
kennzeichnen die Konsolen:# name getty type status comments
#
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 secureDie Manualpage &man.ttys.5; enthält eine ausführliche
Beschreibung der Spalten dieser Datei und der verfügbaren
Optionen für virtuelle Konsolen.Die Konsole im Single-User-ModusEine eingehende Beschreibung des Single-User-Modus findet sich
in . Im Single-User-Modus steht
nur eine Konsole zur Verfügung.
Die Einstellungen dieser Konsole befinden sich in diesem
Abschnitt von /etc/ttys:# name getty type status comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secureIn der Zeile, die mit console beginnt,
kann secure durch
insecure ersetzt werden. Wenn danach in
den Single-User-Modus gebootet wird, verlangt das System die
Eingabe des root-Passworts. In der
Standardeinstellung wird beim Betreten des Single-User-Modus
kein Passwort verlangt.Setzen Sie insecure nicht
leichtfertig ein. Wenn Sie das
root-Passwort
vergessen, wird es schwierig, in den
Single-User-Modus zu gelangen, wenn man den Bootprozess von
&os; nicht genau versteht.Den Videomodus der Konsole anpassenDer Standard-Videomodus der &os;-Konsole kann auf jeden
Modus eingestellt werden, der von der Grafikkarte und dem
Monitor unterstützt wird (beispielsweise 1024x768 oder
1280x1024). Um eine andere Einstellung zu verwenden, muss
das VESA-Modul geladen werden:&prompt.root; kldload vesaUm festzustellen, welche Video-Modi von der Hardware
unterstützt werden, nutzen Sie &man.vidcontrol.1;. Um eine
Liste aller unterstützten Modi zu sehen, verwenden Sie diesen
Befehl:&prompt.root; vidcontrol -i modeDie Ausgabe dieses Befehls listet alle Videomodi, die von
der Hardware unterstützt werden. Um einen neuen Video-Modi zu
wählen, wird der entsprechende Modus als
root-Benutzer an
&man.vidcontrol.1; übergeben:&prompt.root; vidcontrol MODE_279Um diese Einstellung dauerhaft zu speichern, muss
folgende Zeile in /etc/rc.conf
hinzugefügt werden:allscreens_flags="MODE_279"ZugriffsrechteUNIX&os;, das ein direkter Abkömmling von BSD &unix; ist,
stützt sich auf mehrere Grundkonzepte von &unix; Systemen.
Das erste und ausgeprägteste: &os; ist
ein Mehrbenutzer-Betriebssystem, das es ermöglicht,
dass mehrere Benutzer gleichzeitig an völlig verschiedenen
und unabhängigen Aufgaben arbeiten können. Es ist
verantwortlich für eine gerechte Auf- und Zuteilung von
Anfragen nach Hardware- und Peripheriegeräten, Speicher
und CPU-Zeit unter den Benutzern.Da das System mehrere Benutzer unterstützt, hat alles,
was das System verwaltet, einen Satz von Rechten, die bestimmen,
wer die jeweilige Ressource lesen, schreiben oder ausführen
darf. Diese Zugriffsrechte stehen in drei Achtergruppen, die in
drei Teile unterteilt sind: einen für den Besitzer der
Datei, einen für die Gruppe, zu der die Datei gehört
und einen für alle anderen. Die numerische Darstellung
sieht wie folgt aus:ZugriffsrechteDateizugriffsrechteWertZugriffsrechteAuflistung im Verzeichnis0Kein Lesen, Kein Schreiben, Kein Ausführen---1Kein Lesen, Kein Schreiben, Ausführen--x2Kein Lesen, Schreiben, Kein Ausführen-w-3Kein Lesen, Schreiben, Ausführen-wx4Lesen, Kein Schreiben, Kein Ausführenr--5Lesen, Kein Schreiben, Ausführenr-x6Lesen, Schreiben, Kein Ausführenrw-7Lesen, Schreiben, AusführenrwxlsVerzeichnisseBenutzen Sie das Argument mit
&man.ls.1;, um eine ausführliche Verzeichnisauflistung
zu sehen, die in einer Spalte die Zugriffsrechte für den
Besitzer, die Gruppe und alle anderen enthält.
Die Ausgabe von ls -l könnte
wie folgt aussehen:&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.txtDas erste Zeichen (ganz links) der ersten Spalte zeigt an,
ob es sich um eine normale Datei, ein Verzeichnis, ein
zeichenorientiertes Gerät, ein Socket oder irgendeine andere
Pseudo-Datei handelt. In diesem Beispiel zeigt - eine
normale Datei an. Die nächsten drei Zeichen,
dargestellt als rw-, ergeben die Rechte
für den Datei-Besitzer. Die drei Zeichen danach
r-- die Rechte der Gruppe, zu der die Datei
gehört. Die letzten drei Zeichen, r--,
geben die Rechte für den Rest der Welt an. Ein Minus
bedeutet, dass das Recht nicht gegeben ist. In diesem Beispiel
sind die Zugriffsrechte also: der Eigentümer kann die Datei
lesen und schreiben, die Gruppe kann lesen und alle anderen
können auch nur lesen. Entsprechend obiger Tabelle
wären die Zugriffsrechte für diese Datei
644, worin jede Ziffer die drei Teile der
Zugriffsrechte dieser Datei verkörpert.Wie kontrolliert das System die Rechte von Hardware-Geräten?
&os; behandelt die meisten Hardware-Geräte als Dateien, welche
Programme öffnen, lesen und mit Daten beschreiben können. Diese
speziellen Gerätedateien sind in /dev
gespeichert.Verzeichnisse werden ebenfalls wie Dateien behandelt. Sie
haben Lese-, Schreib- und Ausführ-Rechte. Das
Ausführungs-Bit hat eine etwas andere Bedeutung für
ein Verzeichnis als für eine Datei. Die Ausführbarkeit
eines Verzeichnisses bedeutet, dass in das Verzeichnis,
zum Beispiel mit cd, gewechselt werden kann.
Das bedeutet auch, dass in dem Verzeichnis auf Dateien, deren
Namen bekannt sind, zugegriffen werden kann, vorausgesetzt die
Zugriffsrechte der Dateien lassen dies zu.Das Leserecht auf einem Verzeichnis erlaubt es, sich den Inhalt
des Verzeichnisses anzeigen zu lassen. Um eine Datei mit bekanntem
Namen in einem Verzeichnis zu löschen, müssen auf dem
Verzeichnis Schreib- und Ausführ-Rechte
gesetzt sein.Es gibt noch mehr Rechte, aber die werden vor allem in
speziellen Umständen benutzt, wie zum Beispiel bei
SetUID-Binaries und Verzeichnissen mit gesetztem Sticky-Bit.
Mehr über Zugriffsrechte von Dateien und wie sie gesetzt werden,
finden Sie in &man.chmod.1;.Symbolische ZugriffsrechteTomRhodesBeigesteuert von ZugriffsrechtesymbolischeSymbolische Zugriffsrechte verwenden Zeichen anstelle von
oktalen Werten, um die Berechtigungen für Dateien oder
Verzeichnisse festzulegen. Zugriffsrechte verwenden die
Syntax Wer,
Aktion und
Berechtigung. Die folgenden
Werte stehen zur Auswahl:OptionSymbolBedeutungWeruBenutzer (user)WergGruppe (group)WeroAndere (other)WeraAlleAktion+Berechtigungen hinzufügenAktion-Berechtigungen entziehenAktion=Berechtigungen explizit setzenBerechtigungrlesen (read)Berechtigungwschreiben (write)Berechtigungxausführen
(execute)BerechtigungtSticky-BitBerechtigungsSet-UID oder Set-GIDDiese symbolischen Werte werden zusammen mit &man.chmod.1;
verwendet. Beispielsweise würde der folgende Befehl den Zugriff
auf FILE für alle anderen Benutzer
verbieten:&prompt.user; chmod go= FILEWenn Sie mehr als eine Änderung der Rechte einer
Datei vornehmen wollen, können Sie eine durch Kommata
getrennte Liste der Rechte angeben. Das folgende Beispiel
entzieht der Gruppe und der Welt die Schreibberechtigung auf
FILE und fügt für jeden
Ausführungsrechte hinzu:&prompt.user; chmod go-w,a+x FILE&os; Datei-FlagsTomRhodesBeigetragen von Zusätzlich zu den Zugriffsrechten
unterstützt &os; auch die Nutzung von
Datei-Flags. Diese erhöhen die Sicherheit
Ihres Systems, indem sie eine verbesserte Kontrolle von
Dateien erlauben. Verzeichnisse werden allerdings nicht
unterstützt. Mit dem Einsatz von Datei-Flags kann sogar
root daran gehindert
werden, Dateien zu löschen oder zu verändern.Datei-Flags werden mit &man.chflags.1; verändert. Um
beispielsweise auf der Datei file1 das
unlöschbar-Flag zu aktivieren, geben Sie
folgenden Befehl ein:&prompt.root; chflags sunlink file1Um dieses Flag zu deaktivieren, setzen Sie ein
no vor :&prompt.root; chflags nosunlink file1Um die Flags einer Datei anzuzeigen, verwenden Sie
&man.ls.1; zusammen mit :&prompt.root; ls -lo file1-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1Einige Datei-Flags können nur vom
root-Benutzer
gesetzt oder gelöscht werden. Andere wiederum können
auch vom Eigentümer der Datei gesetzt werden. Weitere
Informationen hierzu finden sich in &man.chflags.1; und
&man.chflags.2;.Die Berechtigungen setuid,
setgid, und
stickyTomRhodesBeigetragen von Anders als die Berechtigungen, die bereits angesprochen wurden,
existieren drei weitere Einstellungen, über die alle
Administratoren Bescheid wissen sollten. Dies sind die Berechtigungen
setuid, setgid und
sticky.Diese Einstellungen sind wichtig für manche &unix;-Operationen,
da sie Funktionalitäten zur Verfügung stellen, die
normalerweise nicht an gewöhnliche Anwender vergeben wird.
Um diese zu verstehen, muss der Unterschied zwischen der realen
und der effektiven Benutzer-ID erwähnt werden.Die reale Benutzer-ID ist die UID, welche den
Prozess besitzt oder gestartet hat. Die effektive
UID ist diejenige, als die der Prozess läuft.
Beispielsweise wird &man.passwd.1; mit der realen ID des Benutzers
ausgeführt, der sein Passwort ändert. Um jedoch die
Passwortdatenbank zu bearbeiten, wird es effektiv als
root-Benutzer ausgeführt. Das
ermöglicht es normalen Benutzern, ihr Passwort zu ändern, ohne
einen Permission Denied-Fehler angezeigt zu
bekommen.Die setuid-Berechtigung kann durch das Voranstellen bei einer
Berechtigungsgruppe mit der Nummer Vier (4) gesetzt werden, wie im
folgenden Beispiel gezeigt wird:&prompt.root; chmod 4755 suidexample.shDie Berechtigungen auf suidexample.sh
sehen jetzt wie folgt aus:-rwsr-xr-x 1 trhodes trhodes 63 Aug 29 06:36 suidexample.shBeachten Sie, dass ein s jetzt Teil der
Berechtigungen des Dateibesitzers geworden ist, welches
das Ausführen-Bit ersetzt. Dies ermöglicht es Werkzeugen
mit erhöhten Berechtigungen zu laufen, wie z.B.
passwd.Die nosuid &man.mount.8;-Option
bewirkt, dass solche Anwendungen stillschweigend scheitern,
ohne den Anwender darüber zu informieren. Diese Option ist
nicht völlig zuverlässig, da ein
nosuid-Wrapper in der Lage wäre, dies zu
umgehen.Um dies in Echtzeit zu beobachten, öffnen Sie zwei Terminals.
Starten Sie auf einem den passwd-Prozess als normaler
Benutzer. Während es auf die Passworteingabe wartet,
überprüfen Sie die Prozesstabelle und sehen Sie sich die
Informationen für passwd an.Im Terminal A:Changing local password for trhodes
Old Password:Im Terminal B:&prompt.root; ps aux | grep passwdtrhodes 5232 0.0 0.2 3420 1608 0 R+ 2:10AM 0:00.00 grep passwd
root 5211 0.0 0.2 3620 1724 2 I+ 2:09AM 0:00.01 passwdWie oben erwähnt, wird passwd von einem
normalen Benutzer ausgeführt, benutzt aber die effektive
UID von root.Die setgid-Berechtigung führt die gleiche
Aktion wie die setuid-Berechtigung durch, allerdings
verändert sie die Gruppenberechtigungen. Wenn eine Anwendung
oder ein Werkzeug mit dieser Berechtigung ausgeführt wird,
erhält es die Berechtigungen basierend auf der Gruppe, welche die
Datei besitzt und nicht die des Benutzers, der den Prozess gestartet
hat.Um die setgid-Berechtigung auf einer Datei zu
setzen, geben Sie chmod eine
führende Zwei (2) mit:&prompt.root; chmod 2755 sgidexample.shBeachten Sie in der folgenden Auflistung,
dass das s sich jetzt in dem Feld befindet, das
für die Berechtigungen der Gruppe bestimmt ist:-rwxr-sr-x 1 trhodes trhodes 44 Aug 31 01:49 sgidexample.shObwohl es sich bei dem in diesen Beispielen gezeigten Shellskript
um eine ausführbare Datei handelt, wird es nicht mit einer
anderen EUID oder effektiven Benutzer-ID
ausgeführt. Das ist so, weil Shellskripte keinen Zugriff auf
&man.setuid.2;-Systemaufrufe erhalten.Die setuid und
setgid Berechtigungs-Bits können die
Systemsicherheit verringern, da sie erhöhte Rechte
ermöglichen. Das dritte Berechtigungs-Bit, das
sticky bit kann die Sicherheit eines
Systems erhöhen.Wenn das sticky bit auf einem
Verzeichnis angewendet wird, erlaubt es das Löschen von
Dateien nur durch den Besitzer der Datei. Dies ist nützlich,
um die Löschung von Dateien in öffentlichen Verzeichnissen wie
/tmp, durch Benutzer denen diese Dateien
nicht gehören, zu verhindern. Um diese Berechtigung
anzuwenden, stellen Sie der Berechtigung eine Eins (1)
voran:&prompt.root; chmod 1777 /tmpDas sticky bit kann anhand des
t ganz am Ende der Berechtigungen abgelesen
werden.&prompt.root; ls -al / | grep tmpdrwxrwxrwt 10 root wheel 512 Aug 31 01:49 tmpVerzeichnis-StrukturenVerzeichnis HierarchienDie &os;-Verzeichnishierarchie ist die Grundlage, um
ein umfassendes Verständnis des Systems zu erlangen.
Das wichtigste Verzeichnis ist das Root-Verzeichnis
/. Dieses Verzeichnis ist das
erste, das während des Bootens eingehangen wird. Es
enthält das notwendige Basissystem, um das Betriebssystem in den
Mehrbenutzerbetrieb zu bringen. Das Root-Verzeichnis enthält
auch die Mountpunkte für Dateisysteme, die beim Wechsel in
den Multiuser-Modus eingehängt werden.Ein Mountpunkt ist ein Verzeichnis, in das zusätzliche
Dateisysteme (in der Regel unterhalb des Wurzelverzeichnisses)
eingehängt werden können. Dieser Vorgang wird in
ausführlich beschrieben.
Standard-Mountpunkte sind /usr,
/var, /tmp,
/mnt sowie /cdrom.
Auf diese Verzeichnisse verweisen üblicherweise Einträge
in /etc/fstab. Diese Datei ist
eine Tabelle mit verschiedenen Dateisystemen und Mountpunkten,
vom System gelesen werden. Die meisten der Dateisysteme in
/etc/fstab werden beim Booten automatisch
durch das Skript &man.rc.8; gemountet, wenn die zugehörigen
Einträge nicht mit
versehen sind. Weitere Informationen zu diesem Thema finden Sie
im .Eine vollständige Beschreibung der Dateisystem-Hierarchie
finden Sie in &man.hier.7;. Die folgende Aufstellung gibt einen
kurzen Überblick über die am häufigsten verwendeten
Verzeichnisse:VerzeichnisBeschreibung/Wurzelverzeichnis des Dateisystems./bin/Grundlegende Werkzeuge für den Single-User-Modus
sowie den Mehrbenutzerbetrieb./boot/Programme und Konfigurationsdateien, die während
des Bootens benutzt werden./boot/defaults/Vorgaben für die Boot-Konfiguration. Weitere
Details finden Sie in &man.loader.conf.5;./dev/Gerätedateien. Weitere Details finden Sie in
&man.intro.4;./etc/Konfigurationsdateien und Skripten des Systems./etc/defaults/Vorgaben für die System Konfigurationsdateien.
Weitere Details finden Sie in &man.rc.8;./etc/mail/Konfigurationsdateien von MTAs wie
&man.sendmail.8;./etc/namedb/Konfigurationsdateien von
named. Weitere Details finden Sie
in &man.named.8;./etc/periodic/Täglich, wöchentlich oder monatlich laufende
Skripte, die von &man.cron.8; gestartet werden.
Weitere Details finden Sie in
&man.periodic.8;./etc/ppp/Konfigurationsdateien von ppp,
wie in &man.ppp.8; beschrieben./mnt/Ein leeres Verzeichnis, das von Systemadministratoren
häufig als temporärer Mountpunkt genutzt wird./proc/Prozess Dateisystem. Weitere Details finden Sie
in &man.procfs.5; und &man.mount.procfs.8;./rescue/Statisch gelinkte Programme zur Wiederherstellung
des Systems, wie in &man.rescue.8;
beschrieben./root/Home Verzeichnis von root./sbin/Systemprogramme und administrative Werkzeuge, die
grundlegend für den Single-User-Modus und den
Mehrbenutzerbetrieb sind./tmp/Temporäre Dateien, die für gewöhnlich
bei einem Neustart des Systems verloren gehen.
Häufig wird ein speicherbasiertes Dateisystem unter
/tmp
eingehängt. Dieser Vorgang kann automatisiert werden,
wenn tmpmfs-bezogene Variablen von &man.rc.conf.5;
verwendet werden, oder ein entsprechender
Eintrag in /etc/fstab existiert.
Weitere Informationen finden Sie in
&man.mdmfs.8;./usr/Der Großteil der Benutzerprogramme und
Anwendungen./usr/bin/Gebräuchliche Werkzeuge, Programmierhilfen und
Anwendungen./usr/include/Standard C include-Dateien./usr/lib/Bibliotheken./usr/libdata/Daten verschiedener Werkzeuge./usr/libexec/System-Dämonen und System-Werkzeuge, die von
anderen Programmen ausgeführt werden./usr/local/Lokale Programme und Bibliotheken. Die
Ports-Sammlung von &os; benutzt dieses Verzeichnis
als Zielverzeichnis für Anwendungen. Innerhalb von
/usr/local sollte das von
&man.hier.7; beschriebene Layout für
/usr benutzt werden. Das
man Verzeichnis wird direkt unter
/usr/local anstelle unter
/usr/local/share angelegt. Die
Dokumentation der Ports findet sich in
share/doc/port.
/usr/obj/Von der Architektur abhängiger Verzeichnisbaum,
der durch das Bauen von /usr/src
entsteht./usr/ports/Die &os;-Ports-Sammlung (optional)./usr/sbin/System-Dämonen und System-Werkzeuge, die von
Benutzern ausgeführt werden./usr/share/Von der Architektur unabhängige Dateien./usr/src/Quelldateien von BSD und/oder lokalen
Ergänzungen./var/Wird für mehrere Zwecke genutzt und enthält
Logdateien, temporäre Daten und Spooldateien.
Manchmal wird ein speicherbasiertes Dateisystem unter
/var
eingehängt. Dieser Vorgang kann automatisiert werden,
wenn die varmfs-bezogenen Variablen von
&man.rc.conf.5; verwendet werden, oder ein
entsprechender Eintrag in
/etc/fstab existiert. Weitere
Informationen finden Sie in &man.mdmfs.8;./var/log/Verschiedene Logdateien des Systems./var/mail/Postfächer der Benutzer./var/spool/Verschiedene Spool-Verzeichnisse der Drucker- und
Mailsysteme./var/tmp/Temporäre Dateien, die in der Regel auch bei
einem Neustart des Systems erhalten bleiben, es sei
denn, bei
/var handelt es
sich um ein speicherbasiertes Dateisystem./var/yp/NIS maps.Festplatten, Slices und Partitionen&os; identifiziert Dateien anhand eines Dateinamens.
In Dateinamen wird zwischen Groß- und Kleinschreibung
unterschieden: readme.txt und
README.TXT bezeichnen daher zwei
verschiedene Dateien. &os; benutzt keine Dateiendungen,
um den Typ der Datei zu bestimmen, egal ob es sich um ein
Programm, ein Dokument oder um andere Daten handelt.Dateien werden in Verzeichnissen gespeichert. In einem
Verzeichnis können sich keine oder hunderte Dateien
befinden. Ein Verzeichnis kann auch andere Verzeichnisse
enthalten und so eine Hierarchie von Verzeichnissen aufbauen,
die die Ablage von Daten erleichtert.In Dateinamen werden Verzeichnisse durch einen
Schrägstrich (/,
Slash) getrennt. Wenn z.B.
das Verzeichnis foo
ein Verzeichnis bar
enthält, in dem sich die Datei readme.txt
befindet, lautet der vollständige Name der Datei (oder der
Pfad zur Datei)
foo/bar/readme.txt. Beachten Sie, dass
sich dies von &windows; unterscheidet, wo der
\ (Backslash
für die Trennung von Datei- und Verzeichnisnamen
verwendet wird. &os; benutzt keine Laufwerkbuchstaben oder
Laufwerknamen im Pfad. Beispielsweise würde man unter
&os; nicht c:/foo/bar/readme.txt
eingeben.Verzeichnisse und Dateien werden in einem Dateisystem
gespeichert. Jedes Dateisystem besitzt genau ein
Wurzelverzeichnis, das so genannte
Root-Directory. Dieses
Wurzelverzeichnis kann weitere Verzeichnisse enthalten.
Ein Dateisystem wird als Wurzeldateisystem festgelegt, und
jedes weitere Dateisystem wird unter dem Wurzeldateisystem
eingehangen. Daher scheint jedes
Verzeichnis, unabhängig von der Anzahl der Platten, auf der
selben Platte zu liegen.Angenommen, Sie haben drei Dateisysteme A,
B und C. Jedes
Dateisystem besitzt ein eigenes Wurzelverzeichnis, das
zwei andere Verzeichnisse enthält:
A1,
A2,
B1,
B2,
C1 und
C2.Das Wurzeldateisystem soll A sein.
ls zeigt darin
die beiden Verzeichnisse A1
und A2 an.
Der Verzeichnisbaum sieht wie folgt aus: /
|
+--- A1
|
`--- A2Ein Dateisystem wird in einem Verzeichnis eines anderen
Dateisystems eingehangen. Wir hängen nun das Dateisystem
B in das Verzeichnis
A1 ein. Das
Wurzelverzeichnis von B ersetzt nun
das Verzeichnis A1 und
die Verzeichnisse des Dateisystems B
werden sichtbar: /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2Jede Datei in den Verzeichnissen
B1 oder
B2 kann
über den Pfad /A1/B1
oder /A1/B2
erreicht werden. Dateien aus dem Verzeichnis
/A1 sind jetzt
verborgen. Wenn das Dateisystem B
wieder abgehangen wird
(umount), erscheinen
die verborgenen Dateien wieder.Wenn das Dateisystem B unter dem
Verzeichnis A2
eingehangen würde, sähe der Verzeichnisbaum
so aus: /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2Die Dateien des Dateisystems B wären
unter den Pfaden /A2/B1 und
/A2/B2 erreichbar.Dateisysteme können übereinander eingehangen
werden. Der folgende Baum entsteht, wenn im letzten
Beispiel das Dateisystem C in das Verzeichnis
B1 des Dateisystems
B eingehangen wird: /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2C könnte auch im Verzeichnis
A1 eingehangen
werden: /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2Der &ms-dos;-Befehl join kann Ähnliches
bewirken.Normalerweise müssen Sie sich nicht mit Dateisystemen
beschäftigen. Während der Installation von &os; werden
die Dateisysteme und die Stellen, in der sie eingehangen werden,
festgelegt. Dateisysteme müssen erst wieder angelegt werden,
wenn Sie eine neue Platte hinzufügen.Sie können sogar mit nur einem großen
Dateisystem auskommen. Dies hat mehrere Nachteile
und einen Vorteil.Vorteile mehrerer DateisystemeDie Dateisysteme können mit unterschiedlichen
Optionen (mount options)
eingehangen werden. Beispielsweise kann das
Wurzeldateisystem schreibgeschützt eingehangen werden,
sodass es für Benutzer nicht möglich ist, versehentlich
kritische Dateien zu editieren oder zu löschen.
Von Benutzern beschreibbare Dateisysteme
wie /home
können Sie mit der Option nosuid
einhängen, wenn sie von anderen Dateisystemen getrennt
sind. Die SUID- und
GUID-Bits verlieren auf solchen
Dateisystemen ihre Wirkung und die Sicherheit des
Systems kann dadurch erhöht werden.Die Lage von Dateien im Dateisystem wird, abhängig
vom Gebrauch des Dateisystems, automatisch von &os;
optimiert. Ein Dateisystem mit vielen kleinen Dateien,
die häufig geschrieben werden, wird anders behandelt
als ein Dateisystem mit wenigen großen Dateien.
Mit nur einem Dateisystem ist diese Optimierung
unmöglich.In der Regel übersteht ein &os;-Dateisystem auch
einen Stromausfall. Allerdings kann ein Stromausfall zu
einem kritischen Zeitpunkt das Dateisystem beschädigen.
Wenn die Daten über mehrere Dateisysteme verteilt
sind, lässt sich das System mit hoher
Wahrscheinlichkeit noch starten. Dies erleichtert
das Zurückspielen von Datensicherungen.Vorteil eines einzelnen DateisystemsDateisysteme haben eine festgelegte Größe.
Es kann passieren, dass Sie eine Partition
vergrößern müssen. Dies ist nicht leicht:
Sie müssen die Daten sichern, das Dateisystem
vergrößert anlegen und die gesicherten
Daten zurückspielen.&os; kennt den Befehl &man.growfs.8;, mit dem man
Dateisysteme im laufenden Betrieb
vergrößern kann.Dateisysteme befinden sich in Partitionen (damit sind
nicht die normalen &ms-dos;-Partitionen gemeint). Jede Partition
wird mit einem Buchstaben von a bis
h bezeichnet und kann nur ein Dateisystem
enthalten. Dateisysteme können daher über ihren
Mount-Point, den Punkt an dem sie eingehangen sind, oder
den Buchstaben der Partition, in der sie liegen, identifiziert
werden.&os; benutzt einen Teil der Platte für den
Swap-Bereich, um
virtuellen Speicher zur Verfügung zu
stellen. Dadurch kann der Rechner Anwendungen mehr Speicher
zur Verfügung stellen als tatsächlich eingebaut
ist. Wenn der Speicher knapp wird, kann &os; nicht benutzte
Daten in den Swap-Bereich auslagern. Die ausgelagerten
Daten können später wieder in den Speicher
geholt werden (dafür werden dann andere Daten
ausgelagert).Für einige Partitionen gelten besondere
Konventionen:PartitionKonventionaEnthält normalerweise
das Wurzeldateisystem.bEnthält normalerweise
den Swap-Bereich.cIst normalerweise genauso groß wie
die Slice in der die Partition liegt. Werkzeuge,
die auf der kompletten Slice arbeiten, wie ein
Bad-Block-Scanner, können so die
c-Partition benutzen.
Für gewöhnlich legen Sie in dieser
Partition kein Dateisystem an.dFrüher hatte die d-Partition
eine besondere Bedeutung. Heute ist dies nicht mehr der
Fall und die Partition d kann wie
jede andere Partition auch verwendet werden.Jede Partition, die ein Dateisystem enthält,
wird in einer Slice angelegt.
Slice ist der Begriff, den &os; für &ms-dos;-Partitionen
verwendet. Slices werden von eins bis vier durchnummeriert.SlicesPartitionendangerously dedicatedDie Slice-Nummern werden mit vorgestelltem
s hinter den Gerätenamen gestellt:
da0s1
ist die erste Slice auf dem ersten SCSI-Laufwerk. Auf einer
Festplatte gibt es höchstens vier Slices. In einer
Slice des passenden Typs kann es weitere logische Slices
geben. Diese erweiterten Slices werden ab fünf durchnummeriert:
ad0s5 ist
die erste erweiterte Slice auf einer IDE-Platte. Diese
Geräte werden von Dateisystemen benutzt, die sich in
einer kompletten Slice befinden müssen.Slices, dangerously dedicated-Festplatten
und andere Platten enthalten Partitionen, die mit Buchstaben
von a bis h bezeichnet
werden. Der Buchstabe wird an den Gerätenamen
gehangen: da0a
ist die a-Partition des ersten
da-Laufwerks. Dieses Laufwerk ist
dangerously dedicated.
ad1s3e ist
die fünfte Partition in der dritten Slice der zweiten
IDE-Platte.Schließlich wird noch jede Festplatte des Systems
eindeutig bezeichnet. Der Name einer Festplatte beginnt mit
einem Code, der den Typ der Platte bezeichnet. Es folgt eine
Nummer, die angibt, um welche Festplatte es sich handelt.
Anders als bei Slices werden Festplatten von Null beginnend
durchnummeriert. Gängige Festplatten-Namen sind in
zusammengestellt.Wenn Sie eine Partition angeben, beinhaltet das den
Plattennamen, s, die Slice-Nummer und den
Buchstaben der Partition.
Einige Beispiele finden Sie in
.Der Aufbau einer Festplatte wird in
dargestellt.Bei der Installation von &os; legen Sie Slices auf der
Festplatte an, erstellen Partitionen für &os; innerhalb der
Slice, erstellen ein Dateisystem oder Auslagerungsbereiche und
entscheiden, welche Dateisysteme wo eingehangen werden.
Namen von Platten, Slices und PartitionenNameBedeutungad0s1aDie erste Partition (a)
in der ersten Slice (s1) der
ersten IDE-Festplatte (ad0).da1s2eDie fünfte Partition (e)
der zweiten Slice (s2) auf
der zweiten SCSI-Festplatte
(da1).Aufteilung einer FestplatteDas folgende Diagramm zeigt die Sicht von &os; auf die
erste IDE-Festplatte des Systems. Die Platte soll
4 GB groß sein und zwei Slices (&ms-dos;-Partitionen)
mit je 2 GB besitzen. Die erste Slice enthält
ein &ms-dos;-Laufwerk (C:), die zweite
Slice wird von &os; benutzt. Die &os;-Installation in
diesem Beispiel verwendet drei Datenpartitionen und einen
Auslagerungsbereich.Jede der drei Partitionen enthält ein Dateisystem.
Das Wurzeldateisystem ist die a-Partition.
In der e-Partition befindet sich
der /var-Verzeichnisbaum
und in der f-Partition befindet sich
der Verzeichnisbaum unterhalb von
/usr..-----------------. --.
| | |
| DOS / Windows | |
: : > First slice, ad0s1
: : |
| | |
:=================: ==: --.
| | | Partition a, mounted as / |
| | > referred to as ad0s2a |
| | | |
:-----------------: ==: |
| | | Partition b, used as swap |
| | > referred to as ad0s2b |
| | | |
:-----------------: ==: | Partition c, no
| | | Partition e, used as /var > file system, all
| | > referred to as ad0s2e | of FreeBSD slice,
| | | | ad0s2c
:-----------------: ==: |
| | | |
: : | Partition f, used as /usr |
: : > referred to as ad0s2f |
: : | |
| | | |
| | --' |
`-----------------' --'Anhängen und Abhängen von DateisystemenEin Dateisystem wird am besten als ein Baum mit der
Wurzel / veranschaulicht.
/dev, /usr, und
die anderen Verzeichnisse im Rootverzeichnis sind Zweige,
die wiederum eigene Zweige wie /usr/local
haben können.Root-DateisystemEs gibt verschiedene Gründe, bestimmte dieser Verzeichnisse
auf eigenen Dateisystemen anzulegen. /var
enthält log/, spool/
sowie verschiedene andere temporäre
Dateien und kann sich daher schnell füllen. Es empfiehlt sich,
/var von / zu trennen,
da es schlecht ist, wenn das Root-Dateisystem voll
läuft.Ein weiterer Grund bestimmte Verzeichnisbäume auf
andere Dateisysteme zu legen, ist gegeben, wenn sich die
Verzeichnisbäume auf gesonderten physikalischen oder
virtuellen Platten, wie
Network File System
oder CD-ROM-Laufwerken, befinden.Die fstab DateiDateisystemefstabWährend des Boot-Prozesses
werden in /etc/fstab aufgeführte
Verzeichnisse, sofern sie nicht mit der Option
versehen sind, automatisch angehangen. Diese Datei enthält
Einträge in folgendem Format:device/mount-pointfstypeoptionsdumpfreqpassnodeviceEin existierender Gerätename
wie in beschrieben.mount-pointEin existierendes Verzeichnis, auf dem
das Dateisystem gemountet wird.fstypeDer Typ des Dateisystems,
der an &man.mount.8; weitergegeben wird. &os;s
Standarddateisystem ist ufs.optionsEntweder
für beschreibbare Dateisysteme oder
für schreibgeschützte Dateisysteme, gefolgt von
weiteren benötigten Optionen. Eine häufig verwendete
Option ist für Dateisysteme,
die während der normalen Bootsequenz nicht angehangen
werden sollen. Weitere Optionen finden sich
in &man.mount.8;.dumpfreqWird von &man.dump.8; benutzt, um bestimmen
zu können, welche Dateisysteme gesichert werden müssen.
Fehlt der Wert, wird 0
angenommen.passnoBestimmt die Reihenfolge, in der die Dateisysteme
überprüft werden sollen. Für Dateisysteme,
die übersprungen werden sollen, ist
passno auf 0 zu setzen. Für das
Root-Dateisystem, das vor allen anderen überprüft
werden muss, sollte der Wert von
passno1 betragen. Allen anderen
Dateisystemen sollten Werte größer 1 zugewiesen
werden. Wenn mehrere Dateisysteme den gleichen Wert
besitzen, wird &man.fsck.8; versuchen, diese parallel zu
überprüfen.Lesen Sie &man.fstab.5; für weitere Informationen über das
Format von /etc/fstab und dessen
Optionen.Das mount KommandoDateisystemeanhängenDateisysteme werden mit &man.mount.8; eingehängt. In der
grundlegenden Form wird es wie folgt benutzt:&prompt.root; mount devicemountpointDieser Befehl bietet viele Optionen, die in &man.mount.8;
beschrieben werden. Die am häufigsten verwendeten Optionen
sind:Optionen von mountHängt alle Dateisysteme aus
/etc/fstab an. Davon ausgenommen
sind Dateisysteme, die mit noauto markiert
sind, die mit der Option ausgeschlossen
wurden und Dateisysteme, die schon angehangen sind.Führt alles bis auf den
mount-Systemaufruf aus.
Nützlich ist diese Option in Verbindung
mit . Damit wird angezeigt, was
&man.mount.8; tatsächlich versuchen
würde, um das Dateisystem anzuhängen.Erzwingt das Anhängen eines unsauberen Dateisystems
(riskant) oder die Rücknahme des Schreibzugriffs, wenn
der Status des Dateisystems von beschreibbar auf
schreibgeschützt geändert wird.Hängt das Dateisystem schreibgeschützt ein. Dies
kann auch durch Angabe von
erreicht werden.fstypeHängt das Dateisystem mit dem angegebenen Typ an,
oder hängt nur Dateisysteme mit dem angegebenen Typ
an, wenn angegeben wurde.
ufs ist das Standarddateisystem.Aktualisiert die Mountoptionen des Dateisystems.Geschwätzig sein.Hängt das Dateisystem beschreibbar an.Die folgenden Optionen können durch eine Kommata
separierte Liste an übergeben
werden:noexecVerbietet das Ausführen von binären
Dateien auf dem Dateisystem. Dies ist eine
nützliche Sicherheitsfunktion.nosuidSetUID und SetGID Bits werden auf dem Dateisystem
nicht beachtet. Dies ist eine nützliche
Sicherheitsfunktion.Das umount KommandoDateisystemeabhängen&man.umount.8; hängt ein Dateisysstem ab. Dieser Befehl
akzeptiert als Parameter entweder
einen Mountpoint, einen Gerätenamen,
oder .Jede Form akzeptiert , um das
Abhängen zu erzwingen, und , um
etwas geschwätziger zu sein. Seien Sie bitte vorsichtig mit
, da der Computer abstürzen kann oder es
können Daten auf dem Dateisystem beschädigt werden.Um alle Dateisysteme abzuhängen, oder nur diejenigen, die
mit gelistet werden, wird
oder benutzt.
Beachten Sie, dass das Root-Dateisystem
nicht aushängt.Prozesse&os; ist ein Multitasking-Betriebssystem. Jedes
Programm, das zu irgendeiner Zeit läuft wird als
Prozess bezeichnet. Jedes laufende
Kommando startet mindestens einen neuen Prozess. Dazu gibt
es eine Reihe von Systemprozessen, die von &os; ausgeführt
werden.Jeder Prozess wird durch eine eindeutige Nummer identifiziert,
die Prozess-ID
(PID) genannt wird. Prozesse haben ebenso
wie Dateien einen Besitzer und eine Gruppe, die festlegen, welche
Dateien und Geräte der Prozess benutzen kann. Die meisten
Prozesse haben auch einen Elternprozess, der sie gestartet hat.
Beispielsweise ist die Shell ein Prozess. Jedes in Shell
gestartete Kommando ist dann ein neuer Prozess, der die Shell
als Elternprozess besitzt. Die Ausnahme hiervon ist ein
spezieller Prozess namens &man.init.8;, der beim booten immer
als erstes gestartet wird und der immer die PID 1 hat.Um die Prozesse auf dem System zu sehen, benutzen Sie
&man.ps.1; und &man.top.1;. Eine statische Liste der laufenden
Prozesse, deren PID, Speicherverbauch und die Kommandozeile, mit
der sie gestartet wurden, erhalten Sie mit &man.ps.1;. Um alle
laufenden Prozesse in einer Anzeige zu sehen, die alle paar
Sekunden aktualisiert wird, so dass Sie interaktiv sehen können
was der Computer macht, benutzen Sie &man.top.1;.Normal zeigt ps nur die laufenden
Prozesse, die dem Benutzer gehören. Zum Beispiel:&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
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/sawfishDie Ausgabe von &man.ps.1; ist in einer Anzahl von Spalten
organisiert. Die PID Splate zeigt die
Prozess-ID. PIDs werden von 1 beginnend bis 99999 zugewiesen und
fangen wieder von vorne an. Ist eine PID breits vergeben, wird
diese allerdings nicht erneut vergeben.
Die Spalte TT zeigt den Terminal, auf dem das
Programm läuft. STAT zeigt den Status
des Programms an und kann für die Zwecke dieser Diskussion ebenso
wie TT ignoriert werden. TIME
gibt die Zeit an, die das Programm auf der CPU gelaufen ist.
Dies ist nicht unbedingt die Zeit, die seit dem Start des Programms
vergangen ist, da die meisten Programme hauptsächlich auf
bestimmte Dinge warten, bevor sie wirklich CPU-Zeit verbrauchen.
Unter der Spalte COMMAND finden Sie schließlich
die Kommandozeile, mit der das Programm gestartet wurde.&man.ps.1; besitzt viele Optionen, um die angezeigten Informationen
zu beeinflussen. Eine nützliche Kombination ist
auxww. zeigt Information
über alle laufenden Prozesse aller Benutzer. Der Name des
Besitzers des Prozesses, sowie Informationen
über den Speicherverbrauch werden mit
angezeigt. zeigt auch Dämonen-Prozesse an,
und veranlasst &man.ps.1; die komplette
Kommandozeile für jeden Befehl anzuzeigen, anstatt sie
abzuschneiden, wenn sie zu lang für die Bildschirmausgabe
wird.Die Ausgabe von &man.top.1; sieht ähnlich aus:&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
...Die Ausgabe ist in zwei Abschnitte geteilt. In den ersten
fünf Kopfzeilen finden sich die zuletzt zugeteilte PID, die
Systemauslastung (engl. load average),
die Systemlaufzeit (die Zeit seit dem letzten Reboot) und die
momentane Zeit. Die weiteren Zahlen im Kopf beschreiben wie viele
Prozesse momentan laufen (im Beispiel 47), wie viel Speicher
und Swap verbraucht wurde und wie viel Zeit das System in den
verschiedenen CPU-Modi verbringt.Darunter befinden sich einige Spalten mit ähnlichen
Informationen wie in der Ausgabe von &man.ps.1;, wie
beispielsweise die PID, den Besitzer, die verbrauchte
CPU-Zeit und das Kommando, das den Prozess gestartet hat.
&man.top.1; zeigt auch den Speicherverbrauch des Prozesses an,
der in zwei Spalten aufgeteilt ist. Die erste Spalte gibt den
gesamten Speicherverbrauch des Prozesses an, in der zweiten
Spalte wird der aktuelle Verbrauch angegeben.
- &netscape; hat im gezeigten
- Beispiel insgesamt 30 MB Speicher verbraucht. Momentan benutzt
- es allerdings nur 9 MB.
+ mutt hat im gezeigten
+ Beispiel insgesamt 8 MB Speicher verbraucht. Momentan benutzt
+ es allerdings nur 5 MB.
Die Anzeige wird von &man.top.1; automatisch alle zwei
Sekunden aktualisiert. Ein anderer Intervall kann mit
spezifiziert werden.Dämonen, Signale und Stoppen von ProzessenWenn Sie einen Editor benutzen, können Sie ihn leicht
bedienen und Dateien laden, weil der Editor dafür Vorsorge
getroffen hat und auf einem Terminal
läuft. Manche Programme erwarten keine Eingaben von einem
Benutzer und lösen sich bei erster Gelegenheit von ihrem
Terminal. Ein Webserver zum Beispiel antwortet auf
Web-Anfragen und nicht auf Benutzereingaben. Mail-Server sind
ein weiteres Beispiel für diesen Typ von Anwendungen.Diese Programme sind als Dämonen
bekannt. Der Begriff Dämon stammt aus der griechischen
Mythologie und bezeichnet ein Wesen, das weder gut noch böse ist
und welches unsichtbar nützliche Aufgaben verrichtet. Deshalb
ist das BSD Maskottchen dieser fröhlich aussehende Dämon mit
Turnschuhen und Dreizack.Programme, die als Dämon laufen, werden entsprechend einer
Konvention mit einem d am Ende benannt.
BIND steht beispielsweise für
Berkeley Internet Name Domain, das tatsächlich laufende Programm
heißt aber named. Der
Apache Webserver wird
httpd genannt und der Druckerspool-Dämon
heißt lpd. Dies ist allerdings nur eine
Konvention. Der Dämon der Anwendung
sendmail heißt beispielsweise
sendmail und nicht
maild.Eine Möglichkeit mit einem Dämon oder einem laufenden
Prozess zu kommunizieren, ist über das Versenden von
Signalen mittels &man.kill.1;. Es gibt
eine Reihe von verschiedenen Signalen. Manche haben eine feste
Bedeutung, während andere in der Dokumentation der Anwendung
beschrieben sind. Ein Benutzer kann ein Signal nur an einen
Prozess senden, welcher ihm gehört. Wird versucht ein Signal
an einen Prozess eines anderen Benutzers zu senden, resultiert
dies in einem Zugriffsfehler mangels fehlender Berechtigungen.
Die Ausnahme ist der
root-Benutzer, welcher
jedem Prozess Signale senden kann.&os; kann auch ein Signal an einen Prozess senden. Wenn
eine Anwendung schlecht geschrieben ist und auf Speicher
zugreift, auf den sie nicht zugreifen soll, so sendet &os; dem
Prozess das Segmentation Violation Signal
(SIGSEGV). Wenn eine Anwendung den &man.alarm.3;
Systemaufruf benutzt hat, um nach einiger Zeit benachrichtigt zu
werden, bekommt sie das Alarm Signal (SIGALRM)
gesendet.Zwei Signale können benutzt werden, um einen Prozess zu stoppen:
SIGTERM und SIGKILL.
SIGTERM fordert den Prozess höflich zum
Beenden auf. Der Prozess kann das Signal abfangen und hat dann
Gelegenheit Logdateien zu schließen und die Aktion, die er
durchführte, abzuschließen. In manchen Situationen kann der
Prozess SIGTERM ignorieren, wenn er eine
Aktion durchführt, die nicht unterbrochen werden darf.SIGKILL kann von keinem Prozess ignoriert
werden. Das Signal lässt sich mit Mich interessiert
nicht, was du gerade machst, hör sofort auf damit!
umschreiben. Wird einem Prozess SIGKILL
geschickt, dann wird &os; diesen sofort beendenEs gibt Fälle, in denen ein Prozess nicht unterbrochen
werden kann. Wenn ein Prozess zum Beispiel eine Datei von
einem anderen Rechner auf dem Netzwerk liest und dieser
Rechner nicht erreichbar ist, dann ist der Prozess nicht zu
unterbrechen. Wenn der Prozess den Lesezugriff nach einem
Timeout von typischerweise zwei Minuten aufgibt, dann wird
er beendet..Andere häufig verwendete Signale sind
SIGHUP, SIGUSR1 und
SIGUSR2. Diese Signale sind für allgemeine
Zwecke vorgesehen und verschiedene Anwendungen werden
unterschiedlich auf diese Signale reagieren.Ändern Sie beispielsweise die Konfiguration eines
Webservers, so muss dieser angewiesen werden, seine
Konfiguration neu zu lesen. Ein Neustart von
httpd würde dazu führen, dass der Server für
kurze Zeit nicht erreichbar ist. Senden Sie dem Dämon
stattdessen das SIGHUP-Signal. Es sei
erwähnt, dass verschiedene Dämonen sich anders verhalten. Lesen
Sie bitte die Dokumentation des entsprechenden Dämonen um zu
überprüfen, ob der Dämon bei einem SIGHUP die
gewünschten Ergebnisse erzielt.Verschicken von SignalenDas folgende Beispiel zeigt, wie Sie &man.inetd.8; ein
Signal schicken. Die Konfigurationsdatei von
inetd ist /etc/inetd.conf.
Diese Konfigurationsdatei liest inetd ein,
wenn er SIGHUP empfängt.Suchen Sie mit &man.pgrep.1; die Prozess-ID des
Prozesses, dem Sie ein Signal schicken wollen. In diesem
Beispiel ist die PID von &man.inetd.8; 198:&prompt.user; pgrep -l inetd
198 inetd -wWBenutzen Sie &man.kill.1;, um ein Signal zu senden. Da
&man.inetd.8; dem Benutzer root gehört, müssen
Sie zuerst mit &man.su.1;
root
werden:&prompt.user; suPassword:
&prompt.root; /bin/kill -s HUP 198&man.kill.1; wird, wie andere &unix; Kommandos auch,
keine Ausgabe erzeugen, wenn das Kommando erfolgreich war.
Wenn Sie versuchen, einem Prozess, der nicht Ihnen gehört,
ein Signal zu senden, dann werden Sie die Meldung
kill: PID: Operation
not permitted sehen. Ein Tippfehler bei der
Eingabe der PID führt dazu, dass das Signal an einen
falschen Prozess gesendet wird, was zu negativen Ergebnissen
führen kann, oder das Signal wird an eine PID gesendet die
derzeit nicht in Gebrauch ist, was zu dem Fehler
kill: PID: No such
process führt.Warum sollte man /bin/kill
benutzen?Viele Shells stellen kill als internes
Kommando zur Verfügung, das heißt die Shell sendet
das Signal direkt, anstatt /bin/kill
zu starten. Beachten Sie, dass die unterschiedlichen
Shells eine andere Syntax benutzen, um die Namen der
Signale anzugeben. Anstatt jede Syntax zu
lernen, kann es einfacher sein, /bin/kill
... direkt
aufzurufen.Beim Versenden von anderen Signalen, ersetzen
Sie TERM oder KILL in der
Kommandozeile mit dem entsprechenden Signal.Das zufällige Beenden eines Prozesses kann gravierende
Auswirkungen haben. Insbesondere &man.init.8;, mit der PID 1,
ist ein Spezialfall. /bin/kill -s KILL 1
ist ein schneller, jedoch nicht empfohlener Weg, das System
herunterzufahren.
Überprüfen Sie die Argumente von &man.kill.1;
immer zweimal bevor
Sie Return drücken.ShellsShellsKommandozeile&os; stellt mit der Shell eine Kommandozeilen-Schnittstelle
zur Verfügung. Eine Shell empfängt Befehle von einem
Eingabekanal und führt diese aus. Viele Shells bieten bieten
eingebaute Funktionen, die die tägliche Arbeit erleichtern,
beispielsweise eine Dateiverwaltung, die Vervollständigung von
Dateinamen (Globbing), Kommandozeilen-Editor, sowie Makros und
Umgebungsvariablen. &os; enthält die Shells
sh (Bourne Shell) und tcsh
(verbesserte C-Shell) im Basissystem. Weitere Shells, wie
zsh oder bash, befinden
sich in der Ports-Sammlung.Die verwendete Shell ist letztlich eine Frage des
Geschmacks. Ein C-Programmierer, findet vielleicht eine
C-artige Shell wie tcsh angenehmer. Ein
Linux-Benutzer bevorzugt vielleicht bash.
Jede Shell hat ihre speziellen Eigenschaften, die mit der
bevorzugten Arbeitsumgebung des Benutzers harmonieren kann oder
nicht. Deshalb stehen mehrere Shells zur Auswahl.Ein verbreitetes Merkmal in Shells ist die
Dateinamen-Vervollständigung. Nachdem der Benutzer einige
Buchstaben eines Kommandos oder eines Dateinamen eingeben hat,
vervollständigt die Shell den Rest automatisch durch
drücken der Tab-Taste. Angenommen, Sie
haben zwei Dateien foobar und
foo.bar. Um foo.bar
zu löschen, geben Sie folgendes ein:
rm fo[Tab].[Tab]Die Shell sollte dann rm
foo[BEEP].bar ausgeben.[BEEP] meint den Rechner-Piepser, den die Shell ausgibt um
anzuzeigen, dass es den Dateinamen nicht vervollständigen
konnte, da es mehrere Möglichkeiten gibt. Beide Dateien
foobar und foo.bar
beginnen mit fo. Nach der Eingabe von
. und erneutem drücken der
Tab-Taste, war die Shell in der Lage den Rest
auszufüllen.UmgebungsvariablenEin weiteres Merkmal der Shell ist der Gebrauch von
Umgebungsvariablen. Dies sind veränderbare Schlüsselpaare
im Umgebungsraum der Shell, die jedes von der Shell aufgerufene
Programm lesen kann. Daher enthält der Umgebungsraum viele
Konfigurationsdaten für Programme. Die folgende Liste zeigt
verbreitete Umgebungsvariablen und deren Bedeutung:VariableBeschreibungUSERName des angemeldeten Benutzers.PATHListe mit Verzeichnissen (getrennt durch Doppelpunkt)
zum Suchen nach Programmen.DISPLAYDer Name des
Xorg-Bildschirms, auf dem
Ausgaben erfolgen sollen.SHELLDie aktuelle Shell.TERMName des Terminaltyps des Benutzers. Benutzt, um die
Fähigkeiten des Terminals zu bestimmen.TERMCAPDatenbankeintrag der Terminal Escape Codes,
benötigt um verschieden Terminalfunktionen
auszuführen.OSTYPETyp des Betriebssystems.MACHTYPEDie CPU-Architektur des Systems.EDITORVom Benutzer bevorzugter Text-Editor.PAGERVom Benutzer bevorzugter Text-Betrachter.MANPATHListe mit Verzeichnissen (getrennt durch Doppelpunkt)
zum Suchen nach Manualpages.ShellsBourne ShellDas Setzen von Umgebungsvariablen unterscheidet sich
von Shell zu Shell. In tcsh und
csh wird dazu setenv
benutzt. sh und bash
benutzen export um Umgebungsvariablen zu
setzen. Dieses Beispiel für die tcsh-Shell
setzt die Variable EDITOR auf
/usr/local/bin/emacs:&prompt.user; setenv EDITOR /usr/local/bin/emacsDer entsprechende Befehl für bash
wäre:&prompt.user; export EDITOR="/usr/local/bin/emacs"Um eine Umgebungsvariable zu expandieren, geben Sie in der
Kommandozeile das Zeichen $ vor dessen Namen
ein. Zum Beispiel gibt echo $TERM den
aktuellen Wert von$TERM aus.Shells behandeln Spezialzeichen, so genannte
Metazeichen, als besondere Darstellungen für Daten.
Das häufigste Zeichen ist *, das eine
beliebige Anzahl Zeichen in einem Dateinamen repräsentiert.
Metazeichen können zur Vervollständigung von
Dateinamen (Globbing) benutzt werden. Beispielsweise liefert
echo * nahezu das gleiche wie
ls, da die Shell alle
Dateinamen die mit * übereinstimmen, an
echo weitergibt.Um zu verhindern, dass die Shell ein Sonderzeichen
interpretiert, schützt man es, indem man einen
Backslash (\) voranstellt. Zum Beispiel
zeigt echo $TERM die Einstellung des
Terminals an, wohingegen echo \$TERM einfach
die Zeichenfolge $TERM ausgibt.Ändern der ShellDer einfachste Weg die Standard Shell zu ändern, ist
chsh zu benutzen.
chsh startet den Editor, welcher durch
die Umgebungsvariable EDITOR gesetzt ist.
Standardmäßig ist dies vi.
Tragen Sie in die Zeile die mit Shell: beginnt,
den absoluten Pfad der neuen Shell ein.Alternativ setzt chsh -s die Shell,
ohne dabei einen Editor aufzurufen. Um die Shell
zum Beispiel auf bash zu ändern, geben Sie
folgenden Befehl ein:&prompt.user; chsh -s /usr/local/bin/bashDie neue Shell muss in
/etc/shells aufgeführt sein. Wurde die
Shell aus der Ports-Sammlung
installiert, sollte sie automatisch zu dieser Datei
hinzugefügt worden sein. Wenn der Eintrag fehlt, nutzen Sie
folgenden Befehl, und ersetzen Sie den Pfad mit dem Pfad zur
gewünschten Shell:&prompt.root; echo "/usr/local/bin/bash" >> /etc/shellsDanach können Sie chsh aufrufen.Text-EditorenText EditorenEditorenDie meiste Konfiguration unter &os; wird durch
das Editieren von Textdateien erledigt. Deshalb ist es eine
gute Idee, mit einem Texteditor vertraut zu werden. &os; hat
ein paar davon im Basissystem und sehr viel mehr in der
Ports-Sammlung.eeText EditoreneeEin einfach zu erlernender Editor ist
ee, was für
easy editor steht.
Um diesen Editor zu starten, gibt man in der
Kommandozeile ee filename ein, wobei
filename den Namen der zu editierenden
Datei darstellt. Einmal im Editor, finden sich alle Editor-Funktionen oben im
Display aufgelistet. Das Einschaltungszeichen
^ steht für die Ctrl (oder
Strg) Taste, mit ^e ist also die
Tastenkombination Ctrle
gemeint. Um ee zu verlassen, drücken
Sie Esc und wählen dann im Hauptmenü aus. Der Editor fragt nach, ob Sie speichern
möchten, wenn die Datei verändert wurde.viText EditorenviemacsText Editorenemacs&os; verfügt über leistungsfähigere
Editoren wie vi als Teil des
Basissystems. Andere Editoren wie emacs
und vim sind Teil der Ports-Sammlung.
Diese Editoren bieten höhere Funktionalität, jedoch auf Kosten einer etwas
schwierigeren Erlernbarkeit. Das Erlernen eines
leistungsfähigeren Editors, wie vim
oder Emacs, kann auf lange Sicht Zeit
einsparen.Viele Anwendungen, die Dateien verändern oder Texteingabe
erwarten, werden automatisch einen Texteditor öffnen. Um den
Standardeditor zu ändern, wird die Umgebungsvariable
EDITOR gesetzt, wie im Abschnitt
Shells beschrieben.Geräte und GerätedateienDer Begriff Gerät wird meist in Verbindung mit Hardware
wie Laufwerken, Druckern, Grafikkarten oder Tastaturen gebraucht.
Der Großteil der Meldungen, die beim Booten von &os; angezeigt
werden, beziehen sich auf gefundene Geräte. Eine Kopie dieser
Bootmeldungen wird in /var/run/dmesg.boot
gespeichert.Jedes Gerät verfügt über einen Gerätenamen und Gerätenummer.
Zum Beispiel steht acd0 für das erste
IDE CD-ROM Laufwerk, während kbd0 die
Tastatur repräsentiert.Auf die meisten Geräte wird unter &os; über spezielle
Gerätedateien im /dev Verzeichnis
zugegriffen.Anlegen von GerätedateienWenn sie ein neues Gerät zu Ihrem System hinzufügen,
oder die Unterstützung für zusätzliche Geräte
kompilieren, müssen ein oder mehrere Gerätedateien
erstellt werden.DEVFS (Gerätedateisystem)Das Gerätedateisystem DEVFS
ermöglicht durch den
Namensraum des Dateisystems Zugriff auf den Namensraum der
Geräte im Kernel. Damit müssen Gerätedateien
nicht mehr extra angelegt werden, sondern werden von
DEVFS automatisch verwaltet. Weitere
Informationen finden Sie in &man.devfs.5;.BinärformateUm zu verstehen, warum &os; das Format
&man.elf.5; benutzt, müssen zunächst die drei gegenwärtig
dominanten ausführbaren Formate
für &unix; beschrieben werden:&man.a.out.5;Das älteste und klassische
Objektformat von &unix; Systemen. Es benutzt einen kurzen,
kompakten Header mit einer
&man.magic.5; number am
Anfang, die oft benutzt wird, um das Format zu
charakterisieren. Es enthält drei geladene Segmente: .text,
.data und .bss, sowie eine Symboltabelle und eine
Stringtabelle.COFFDas Objektformat von SVR3. Der Header
enthält eine Sectiontable, die mehr enthalten
kann als nur .text, .data und .bss Sektionen..&man.elf.5;Der Nachfolger von COFF.
Kennzeichnend sind mehrere Sections und mögliche
32-Bit- oder 64-Bit-Werte. Ein wesentlicher Nachteil ist,
dass ELF unter der Annahme entworfen
wurde, dass es nur eine ABI (Application Binary Interface)
pro Systemarchitektur geben wird. Tatsächlich ist diese
Annahme falsch, denn nicht einmal für die kommerzielle
SYSV-Welt (in der es mindestens drei ABIs gibt: SVR4,
Solaris, SCO) trifft sie zu.&os; versucht dieses Problem zu umgehen, indem
ein Werkzeug bereitgestellt wird, um ausführbare
Dateien im ELF-Format mit
Informationen über die ABI zu versehen, zu der
sie passen. Weitere Informationen finden Sie in
&man.brandelf.1;.&os; kommt aus dem klassischen Lager
und verwendete traditionell das Format &man.a.out.5;, eine
Technik, die bereits über viele BSD-Releases
hinweg eingesetzt und geprüft worden ist. Obwohl es
bereits seit einiger Zeit möglich war, auf einem
&os;-System auch Binaries (und Kernel) im
ELF-Format zu erstellen und
auszuführen, widersetzte &os; sich anfangs dem
Druck, auf ELF als
Standardformat umzusteigen. Warum? Nun, als
Linux die schmerzhafte Umstellung auf
ELF durchführte, weil der
unflexible, auf Sprungtabellen basierte Mechanismus
für Shared-Libraries der die Konstruktion von
Shared-Libraries für Hersteller und Entwickler kompliziert
machte. Da die verfügbaren ELF-Werkzeuge
eine Lösung für das Problem mit den Shared-Libraries
anboten und generell als ein Schritt
vorwärts angesehen wurden, wurde der Aufwand
für die Umstellung als notwendig akzeptiert und die
Umstellung wurde durchgeführt. Unter &os; ist der
Mechanismus von Shared-Libraries enger an den Stil des
Shared-Library-Mechanismus von &sunos;
angelehnt und einfacher zu verwenden.Ja, aber warum gibt es so viele unterschiedliche Formate?
Damals zu Zeiten der PDP-11, als simple Hardware ein einfaches,
kleines System unterstützte, war a.out
absolut passend für die Aufgabe, Binaries darzustellen. Als
&unix; portiert wurde, wurde auch das
a.out-Format beibehalten, weil es für die
frühen Portierungen auf Architekturen wie den Motorola 68k oder
die VAX ausreichte.Dann dachte sich ein schlauer Hardware-Ingenieur,
dass, wenn er Software zwingen könnte, einige
Tricks anzustellen, es ihm möglich wäre, ein
paar Gatter im Design zu sparen, und die CPU
schneller zu machen. a.out war für diese
neue Art von Hardware, bekannt als RISC,
schlecht geeignet. Viele neue Formate wurden entwickelt, um
eine bessere Leistung auf dieser Hardware zu erreichen, als mit
dem begrenzten, simplen a.out-Format.
COFF, ECOFF und
einige andere wurden erdacht und ihre Grenzen
untersucht, bevor man sich auf ELF
festgelegt hat.Hinzu kam, dass die Größe von
Programmen gewaltig wurde und Festplatten sowie
physikalischer Speicher immer noch relativ klein waren.
Also wurde das Konzept von Shared-Libraries geboren. Die
virtuelle Speicherverwaltung wurde auch immer fortgeschrittener.
Obwohl bei jedem dieser Fortschritte das
a.out-Format benutzt worden ist,
wurde sein Nutzen mit jedem neuen Merkmal mehr gedehnt.
Zusätzlich wollte man Dinge dynamisch zur
Ausführungszeit laden, oder Teile eines Programms
nach der Initialisierung wegwerfen, um Hauptspeicher
oder Swap-Speicher zu sparen. Programmiersprachen
wurden immer fortschrittlicher und man wollte, dass
Code automatisch vor der main-Funktion aufgerufen wird.
Das a.out-Format wurde oft
überarbeitet, um alle diese Dinge zu ermöglichen
und sie funktionierten auch für einige Zeit.
a.out konnte diese Probleme nicht
ohne ein ständiges Ansteigen eines Overheads im Code
und in der Komplexität handhaben. Obwohl
ELF viele dieser Probleme löste,
wäre es sehr aufwändig, ein System umzustellen, das
im Grunde genommen funktionierte. Also musste
ELF warten, bis es aufwändiger war, bei
a.out zu bleiben, als zu
ELF überzugehen.Im Laufe der Zeit haben sich die Erstellungswerkzeuge,
von denen &os; seine Erstellungswerkzeuge abgeleitet
hat, speziell der Assembler und der Loader, in zwei
parallele Zweige entwickelt. Im &os;-Zweig wurden
Shared-Libraries hinzugefügt und einige Fehler
behoben. Das GNU-Team, das diese Programme
ursprünglich geschrieben hat, hat sie umgeschrieben
und eine simplere Unterstützung zur Erstellung von
Cross-Compilern durch beliebiges Einschalten verschiedener
Formate hinzugefügt. Viele Leute wollten
Cross-Compiler für &os; erstellen, aber sie hatten
kein Glück, denn &os;'s ältere Sourcen
für as und ld
waren hierzu nicht geeignet. Die neuen
GNU-Werkzeuge (binutils) unterstützen
Cross-Compilierung, ELF, Shared-Libraries und
C++-Erweiterungen. Weiterhin geben viele
Hersteller ELF-Binaries heraus und &os;
sollte in der Lage sein, diese ausführen.ELF ist ausdrucksfähiger als
a.out und gestattet eine bessere Erweiterbarkeit
des Basissystems. Die ELF-Werkzeuge werden
besser gewartet und bieten Unterstützung für Cross-Compilierung.
ELF mag etwas langsamer sein, als
a.out, aber zu versuchen, das zu messen,
könnte schwierig werden. Es gibt unzählige Details, in
denen sich die beiden Formate unterscheiden, wie sie Pages
abbilden, oder Initialisierungscode handhaben. Irgendwann
wird die Unterstützung für Programme im
a.out-Format aus dem
GENERIC-Kernel entfernt werden.
Wenn es dann keinen oder kaum noch
Bedarf für die Unterstützung dieses Formates
gibt, werden die entsprechenden Routinen ganz entfernt
werden.Weitere InformationenManualpagesManualpagesDie umfassendste Dokumentation rund um &os; gibt es in
Form von Manualpages. Annähernd jedes Programm im System
bringt eine kurze Referenzdokumentation mit, die die
grundsätzliche Funktion und verschiedene Parameter
erklärt. Diese Manuals können mit man
eingesehen werden:&prompt.user; man KommandoKommando ist der Name des Kommandos,
über das Sie etwas erfahren wollen. Um beispielsweise
mehr über das Kommando ls zu lernen,
geben Sie ein:&prompt.user; man lsDie Online-Manuals sind in nummerierte Sektionen
unterteilt:Benutzerkommandos.Systemaufrufe und Fehlernummern.Funktionen der C Bibliothek.Gerätetreiber.Dateiformate.Spiele und andere Unterhaltung.Verschiedene Informationen.Systemverwaltung und -Kommandos.Kernel Entwickler.In einigen Fällen kann dasselbe Thema in mehreren
Sektionen auftauchen. Es gibt zum Beispiel ein chmod
Benutzerkommando und einen chmod()
Systemaufruf. Sie können man
sagen, aus welcher Sektion Sie die Information erhalten
möchten, indem Sie die Sektionsnummer mit angeben:&prompt.user; man 1 chmodDies wird Ihnen die Manualpage für das Benutzerkommando
chmod zeigen. Verweise auf eine Sektion
der Manualpages werden traditionell in Klammern
gesetzt. So bezieht sich &man.chmod.1; auf das
Benutzerkommando chmod und mit
&man.chmod.2; ist der Systemaufruf gemeint.Wenn Sie den Namen des Kommandos kennen, benutzen Sie
man -k, um nach Schlüsselbegriffen in den
Kommandobeschreibungen zu suchen:&prompt.user; man -k mailDieser Befehl zeigt eine Liste von Kommandos, deren
Beschreibung das Schlüsselwort
mail enthält. Die gleiche Funktionalität
erhalten Sie auch, wenn Sie &man.apropos.1;
benutzen.Um herauszufinden, was die Kommandos in
/usr/bin tun, geben Sie ein:&prompt.user; cd /usr/bin
&prompt.user; man -f *Dasselbe erreichen Sie durch Eingabe von:&prompt.user; cd /usr/bin
&prompt.user; whatis *GNU Info Dateien&os; enthält viele Anwendungen und Utilities
der Free Software Foundation (FSF). Zusätzlich zu den
Manualpages können diese Programme Hypertext-Dokumente
enthalten, die info-Seiten genannt werden.
Diese Dokumente können mit info
ansehen kann. Wenn Sie editors/emacs
installiert haben, können Sie auch den info-Modus von
emacs benutzen.Um &man.info.1; zu benutzen, geben Sie ein:&prompt.user; infoEine kurze Einführung gibt es mit
h; eine Befehlsreferenz erhalten Sie durch
Eingabe von: ?.
Index: head/de_DE.ISO8859-1/books/handbook/book.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/book.xml (revision 47321)
+++ head/de_DE.ISO8859-1/books/handbook/book.xml (revision 47322)
@@ -1,326 +1,325 @@
%chapters;
%txtfiles;
]>
Das &os;-HandbuchThe FreeBSD German Documentation Project$FreeBSD$$FreeBSD$199519961997199819992000200120022003200420052006200720082009201020112012201320142015The FreeBSD German Documentation Project
&legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.google;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.microsoft;
- &tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Willkommen bei &os;! Dieses Handbuch beschreibt die
Installation und den täglichen Umgang mit &os;
&rel3.current;-RELEASE,
&rel2.current;-RELEASE und &os;
&rel.current;-RELEASE. Das Handbuch ist
jederzeit unter Bearbeitung und das
Ergebnis der Arbeit vieler Einzelpersonen. Dies kann dazu
führen, dass bestimmte Bereiche nicht mehr aktuell sind und
auf den neuesten Stand gebracht werden müssen. Bei
Unklarheiten empfiehlt es sich daher stets, die
englische Originalversion des Handbuchs zu
lesen.Wenn Sie bei der Übersetzung des Handbuchs mithelfen
möchten, senden Sie bitte eine E-Mail an die Mailingliste
&a.de.translators;.Die aktuelle Version des Handbuchs ist immer auf dem &os;-Webserver
verfügbar und kann in verschiedenen Formaten und in
komprimierter Form vom &os;
FTP-Server oder einem der vielen Spiegel herunter geladen werden
(ältere Versionen finden Sie hingegen unter http://docs.FreeBSD.org/doc/).
Vielleicht möchten Sie das Handbuch aber auch durchsuchen.
&chap.preface;
Erste SchritteDieser Teil des &os;-Handbuchs richtet sich an Benutzer
und Administratoren für die &os; neu ist. Diese
Kapitelgeben Ihnen eine Einführung in &os;,geleiten Sie durch den Installationsprozess,erklären Ihnen die Grundlagen
von &unix; Systemen,zeigen Ihnen, wie Sie die Fülle der erhältlichen
Anwendungen Dritter installieren undführen Sie in X, der Benutzeroberfläche
von &unix; Systemen ein. Es wird gezeigt, wie Sie den
Desktop konfigurieren, um effektiver arbeiten
zu können.Wir haben uns bemüht, Referenzen auf weiter vorne liegende
Textteile auf ein Minimum zu beschränken, so dass Sie
diesen Teil des Handbuchs ohne viel Blättern durcharbeiten
können.
&chap.introduction;
&chap.install;
&chap.bsdinstall;
&chap.basics;
&chap.ports;
&chap.x11;
Oft benutzte FunktionenNach den Grundlagen beschäftigt sich das
&os;-Handbuch mit oft benutzten Funktionen von
&os;. Die Kapitel behandeln die nachstehenden
Themen:Zeigen Ihnen beliebte und nützliche
Werkzeuge wie Browser, Büroanwendungen und
Programme zum Anzeigen von Dokumenten.Zeigen Ihnen Multimedia-Werkzeuge für
&os;.Erklären den Bau eines angepassten &os;-Kernels,
der die Systemfunktionen erweitert.Beschreiben ausführlich das Drucksystem,
sowohl für direkt angeschlossene Drucker als
auch für Netzwerkdrucker.Erläutern, wie Sie Linux-Anwendungen auf einem
&os;-System laufen lassen.Damit Sie einige Kapitel verstehen, sollten Sie vorher
andere Kapitel gelesen haben. Die Übersicht zu jedem
Kapitel zählt die Voraussetzungen für das
erolgreiche Durcharbeiten des Kapitels auf.
&chap.desktop;
&chap.multimedia;
&chap.kernelconfig;
&chap.printing;
&chap.linuxemu;
SystemadministrationDie restlichen Kapitel behandeln alle Aspekte der &os;
Systemadministration. Am Anfang jedes Kapitels finden Sie
eine Zusammenfassung, die beschreibt, was Sie nach dem
Durcharbeiten des Kapitels gelernt haben. Weiterhin werden
die Voraussetzungen beschrieben, die für das Durcharbeiten des
Kapitels erforderlich sind.Diese Kapitel sollten Sie lesen, wenn Sie die
Informationen darin benötigen. Sie brauchen Sie nicht in
einer bestimmten Reihenfolge zu lesen, noch müssen Sie die
Kapitel lesen, bevor Sie anfangen, &os; zu benutzen.
&chap.config;
&chap.boot;
&chap.users;
&chap.security;
&chap.jails;
&chap.mac;
&chap.audit;
&chap.disks;
&chap.geom;
&chap.zfs;
&chap.filesystems;
&chap.virtualization;
&chap.l10n;
&chap.cutting-edge;
&chap.dtrace;
Netzwerke&os; ist eins der meist benutzten Betriebssysteme
für leistungsfähige Netzwerkserver. Die
Kapitel in diesem Teil behandeln die nachstehenden
Themen:Serielle DatenübertragungPPP und PPP over EthernetElectronic-MailDen Betrieb von NetzwerkdienstenFirewallsWeiterführende NetzwerkthemenDiese Kapitel sollten Sie lesen, wenn Sie die
Informationen darin benötigen. Sie brauchen Sie nicht
in einer bestimmten Reihenfolge zu lesen, noch müssen Sie die
Kapitel lesen, bevor Sie anfangen, &os; zu benutzen.
&chap.serialcomms;
&chap.ppp-and-slip;
&chap.mail;
&chap.network-servers;
&chap.firewalls;
&chap.advanced-networking;
Anhang
&chap.mirrors;
&chap.bibliography;
&chap.eresources;
&chap.pgpkeys;
&chap.freebsd-glossary;
&chap.index;
&chap.colophon;
Index: head/de_DE.ISO8859-1/books/handbook/x11/chapter.xml
===================================================================
--- head/de_DE.ISO8859-1/books/handbook/x11/chapter.xml (revision 47321)
+++ head/de_DE.ISO8859-1/books/handbook/x11/chapter.xml (revision 47322)
@@ -1,1789 +1,1789 @@
Das X-Window-SystemKenTomErweitert um X.Orgs X11-Server von MarcFonvieilleMartinHeinenÜbersetzt von ÜbersichtMit X11 steht unter &os; eine leistungsfähige
frei verfügbare grafische Benutzeroberfläche zur
Verfügung, die in &xorg;
(sowie in weiteren, hier nicht diskutierten Varianten)
implementiert wurde. &xorg;
von der X.Org Foundation ist der voreingestellte
Standard-X11-Server, der unter einer Lizenz ähnlich der von
&os; steht.Auskunft über von X11 unterstützte
Video-Hardware gibt die Webseite
&xorg;.Nachdem Sie dieses Kapitel gelesen haben, werden Siedie Komponenten des X-Window-Systems und ihr
Zusammenspiel kennen.Wissen, wie X11 installiert und konfiguriert wird.Wissen, wie Sie verschiedene Window-Manager installieren und
benutzen.Wissen, wie &truetype;-Schriftarten mit
X11 benutzt werden.Wissen, wie Sie die grafische Anmeldung
(XDM) einrichten.Bevor Sie dieses Kapitel lesen, sollten Siewissen, wie Sie Software Dritter installieren
().X-GrundlagenAnwendern anderer grafischer Benutzeroberflächen, wie
µsoft.windows; oder &macos;, kommt X beim ersten Mal oft
befremdlich vor.Man braucht kein weitreichendes Verständnis der
X-Komponenten und Ihres Zusammenspiels, um X anzuwenden. Um die
Stärken von X auszunutzen, sollten Sie allerdings die Grundlagen
verstehen.Warum heißt es X?X ist nicht die erste grafische Benutzeroberfläche,
die für &unix; geschrieben wurde. Die Entwickler von
X arbeiteten vorher an einem anderen System, das W (von engl.
window: Fenster) hieß.
X ist schlicht der nächste Buchstabe im Alphabet.X wird X, X-Window-System
oder X11 genannt. Sagen Sie bitte nicht
X-Windows: das kommt bei einigen Leuten schlecht an
(die Hilfeseite &man.X.7; führt dies näher aus).Das Client/Server-Modell von XX wurde von Anfang an netzwerktransparent entworfen und
verwendet ein Client-Server-Modell. In diesem Modell läuft
der Server auf dem Rechner, an dem die Tastatur, der Bildschirm
und die Maus angeschlossen ist. Der Server ist für Dinge
wie die Verwaltung des Bildschirms und die Verarbeitung von
Tastatur- und Maus-Eingaben sowie anderer Ein- und
Ausgabegeräte (beispielsweise könnte ein
Tablet zur Eingabe oder ein Videoprojektor
zur Ausgabe verwendet werden) verantwortlich. Jede X-Anwendung,
beispielsweise ein XTerm oder
Firefox ist ein Client. Der Client
sendet dem Server Nachrichten wie Zeichne an diesen
Koordinaten ein Fenster und der Server sendet dem Client
Nachrichten der Art Der Benutzer hat gerade den Ok-Knopf
gedrückt.In kleinen Umgebungen laufen der X-Server und die X-Clients auf
demselben Rechner. Es ist aber durchaus möglich, den X-Server
auf einem weniger leistungsfähigen Arbeitsplatzrechner laufen
zu lassen und die X-Anwendungen (die Clients) auf dem
leistungsfähigen und teuren Server der Arbeitsgruppe
zu betreiben. In diesem Fall kommunizieren der X-Server und die
X-Clients über das Netz.Dieses Modell verwirrt viele Leute, die erwarten, dass der
X-Server der dicke Rechner im Maschinenraum und der X-Client ihr
Arbeitsplatzrechner ist.Merken Sie sich einfach, dass der X-Server der Rechner mit dem
Bildschirm und der Maus ist und die X-Clients Programme sind, die
in den Fenstern laufen.Das X-Protokoll ist unabhängig vom verwendeten
Betriebssystem und Rechnertyp. Ein X-Server kann durchaus auch
unter µsoft.windows; oder Apples &macos; betrieben werden,
wie viele kostenlose und kommerzielle Anwendungen zeigen.Der Window-ManagerDie X-Philosophie Werkzeuge statt Richtlinien
ist wie die UNIX-Philosophie. Es wird nicht vorgeschrieben, wie
eine Aufgabe zu lösen ist, stattdessen erhält der
Benutzer Werkzeuge, über die er frei verfügen
kann.Dies geht so weit, dass X nicht bestimmt, wie Fenster auf dem
Bildschirm auszusehen haben, wie sie mit der Maus zu verschieben
sind, welche Tastenkombination benutzt werden muss, um zwischen
den Fenstern zu wechseln (z.B.
AltTab unter µsoft.windows;), oder ob die
Fensterrahmen Schaltflächen zum Schließen haben.X gibt die Verantwortung für all diese Sachen an eine
Anwendung ab, die Window-Manager genannt
wird. Unter X gibt es zahlreiche Window-Manager.
Jeder dieser Window-Manager sieht anders aus: Manche stellen
virtuelle Bildschirme zur Verfügung, in anderen lassen sich
die Tastenkombinationen zur Verwaltung des Bildschirms anpassen,
einige besitzen eine Startleiste
oder etwas Ähnliches und in manchen lässt sich das
Aussehen und Verhalten über die Anwendung von
Themes beliebig einstellen.
Window-Manager finden Sie in der
Kategorie x11-wm der Ports-Sammlung.Die grafischen Benutzeroberflächen
KDE und
GNOME besitzen eigene Window-Manager,
die in den grafischen Arbeitsplatz integriert sind.Die Window-Manager werden unterschiedlich konfiguriert. Einige
erwarten eine manuell erstellte Konfigurationsdatei, andere bieten
grafische Werkzeuge für die meisten Konfigurationsarbeiten
an. Die Konfigurationsdatei von Sawfish
ist sogar in einem Lisp-Dialekt geschrieben.FokusDer Window-Manager ist für die Methode, mit
der ein Fenster den Fokus bekommt, verantwortlich. Jedes System,
das Fenster verwendet, muss entscheiden, wie ein Fenster
aktiviert wird, damit es Eingaben empfangen kann. Das aktive
Fenster sollte zudem sichtbar gekennzeichnet werden.Eine geläufige Methode, den Fokus zu wechseln,
wird click-to-focus genannt. Die Methode wird
in µsoft.windows; benutzt: Ein Fenster wird aktiv, wenn
es mit der Maus angeklickt wird.X legt nicht fest, wie der Fokus einzustellen ist,
stattdessen bestimmt der Window-Manager welches Fenster den Fokus
zu einem gegebenen Zeitpunkt erhält. Alle Window-Manager
stellen die Methode click-to-focus bereit, die
meisten stellen auch noch andere Methoden bereit.Verbreitete Methoden, den Fokus einzustellen, sind:focus-follows-mouseDen Fokus hat das Fenster, unter dem sich der
Mauszeiger befindet. Das muss nicht unbedingt das Fenster,
sein, das sich vorne befindet. Wird der Mauszeiger in ein
anderes Fenster bewegt, so erhält dieses Fenster den
Fokus, ohne das es angeklickt werden muss.sloppy-focusDiese Methode erweitert die Methode
focus-follows-mouse. Wenn die Maus mit
focus-follows-mouse aus dem Fenster auf die
Oberfläche bewegt wird, verliert das aktive Fenster
den Fokus. Da dann kein Fenster mehr den Fokus hat,
gehen alle Eingaben verloren. Die Methode
sloppy-focus wechselt
den Fokus nur, wenn sich der Mauszeiger in ein neues
Fenster bewegt und nicht, wenn er das aktive Fenster
verlässt.click-to-focusDas aktive Fenster wird durch einen Mausklick
festgelegt (dabei kann das Fenster vor alle anderen
Fenster gesetzt werden).
Alle Eingaben werden dann, unabhängig von der Position
des Mauszeigers, dem aktiven Fenster zugeordnet.Viele Window-Manager unterstützen noch andere Methoden,
so wie Abwandlungen der hier vorgestellten Methoden. Schauen Sie
sich dazu bitte die Hilfeseiten Ihres Window-Managers an.WidgetsDie X-Philosophie dehnt sich auch auf die Widgets aus, die von
den Anwendungen benutzt werden.Ein Widget bezeichnet Objekte, die
manipuliert werden können, wie
buttons (Schaltflächen),
check buttons (Mehrfachauswahlknopf),
radio buttons (Einfachauswahlknopf),
Icons und Auswahllisten. Unter µsoft.windows; werden Widgets
Controls genannt.µsoft.windows; und Apples &macos; geben strenge
Richtlinien für Widgets vor: Von den Entwicklern wird erwartet,
dass Sie Anwendungen mit einheitlichem Aussehen und einheitlicher
Bedienung (look and feel) entwickeln.
X gibt weder einen Stil noch Widgets vor, die benutzt werden
müssen.Erwarten Sie daher nicht, dass alle X-Anwendungen gleich
aussehen oder sich gleich bedienen lassen. Es gibt mehrere
verbreitete Widget-Sammlungen, einschließlich Qt, das von
KDE benutzt wird, und GTK+, das von
GNOME benutzt wird. Damit wird
eine gewisse Einheitlichkeit in Bedienung und Aussehen des
&unix;-Desktops erreicht, die sicher neuen Benutzern die
Arbeit erleichtert.X11 installieren&xorg; ist der X-Server unter
&os;. &xorg; ist der von der
X.Org Foundation herausgegebene X-Server des Open-Source
X Window Systems. &xorg;
beruht auf &xfree86; 4.4RC2 und
X11R6.6. Derzeit ist die Version &xorg.version; von
&xorg; in der Ports-Sammlung
vorhanden.Die nachstehenden Kommandos bauen und installieren
&xorg; aus der
Ports-Sammlung:&prompt.root; cd /usr/ports/x11/xorg
&prompt.root; make install cleanDer komplette Bau von &xorg;
benötigt mindestens 4 GB freien Plattenplatz.Mit &man.pkg.add.1; können Sie X11 direkt von
fertigen Paketen installieren. Wenn &man.pkg.add.1;
die Pakete herunterlädt, lassen Sie die Versionsnummer
aus. &man.pkg.add.1; holt automatisch die aktuelle
Version eines Pakets.Das &xorg;-Paket holen und
installieren Sie wie folgt:&prompt.root; pkg_add -r xorgDie obigen Beispiele installieren die vollständige
X11-Distribution, die unter anderem Server, Clients
und Fonts enthält. Für die einzelnen Teile
der Distribution gibt es ebenfalls separate Pakete.Alternativ können Sie x11/xorg-minimal verwenden, um eine minimale
X11-Distribution zu installieren.Der Rest dieses Kapitels erklärt, wie Sie
X11 konfigurieren und sich eine Arbeitsumgebung einrichten.X11 konfigurierenChristopherShumwayBeigetragen von &xorg;X11VorarbeitenIn den meisten Fällen ist X11 selbstkonfigurierend.
Für diejenigen, die ältere oder ungewöhnliche Hardware
besitzen, kann es vor Beginn der Konfiguration hilfreich
sein, einige Informationen zur Hardware zu sammeln.die Monitor-Synchronisationsfrequenzenden Grafikkarten-Chipsatzdie Speichergröße der Grafikkartehorizontale Synchronisationsfrequenzhorizontale Abtastratehorizontale SynchronisationsfrequenzWiederholratevertikale SynchronisationsfrequenzWiederholratevertikale AbtastrateWiederholrateBildschrimauflösung und Bildwiederholfrequenz werden durch
die horizontale und vertikale Synchronisationsfrquenz des
Monitors bestimmt. Fast alle Monitore unterstüzten die
automatische Erkennung dieser Werte. Einige Monitore stellen
keine Werte bereit, die Spezifikationen müssen aus dem
Handbuch oder von der Hersteller-Webseite ermittelt
werden.Der Chipsatz der Grafikkarte wird ebenfalls automatisch
erkannt, um den richtigen Grafiktreiber zu bestimmen. Dennoch
ist es für den Benutzer vorteilhaft, den installierten
Chipsatz zu kennen, falls die automatische Erkennung nicht die
gewünschten Ergebnisse liefert.Die Größe des Grafikspeichers bestimmt die maximale
Auflösung und Farbtiefe, die angezeigt werden kann.X11 konfigurieren&xorg; verwendet
HAL, um Tastaturen und Mäuse automatisch
zu erkennen. Die Ports sysutils/hal und devel/dbus werden als
Abhängigkeiten von x11/xorg installiert,
müssen aber durch die folgenden Einträge in
/etc/rc.conf aktiviert werden:hald_enable="YES"
dbus_enable="YES"Diese Dienste sollten (entweder manuell oder durch einen Neustart)
gestartet werden, bevor mit der weiteren Konfiguration oder
Verwendung von &xorg; begonnen
wird.&xorg; kann oft schon ohne
weitere Konfigurationsschritte laufen, indem am Prompt
folgendes eingegeben wird:&prompt.user; startxDie automatische Konfiguration kann mit bestimmter Hardware
fehlschlagen oder gewisse Dinge nicht so einrichten, wie
gewünscht. In diesen Fällen ist eine manuelle
Konfiguration notwendig.Grafische Oberflächen wie GNOME,
KDE oder Xfce
besitzen eigene Werkzeuge, die es dem Benutzer erlauben, auf einfache
Art und Weise die Bildschirmparameter wie die Auflösung zu
ändern. Falls die Standardkonfiguration für Sie nicht
akzeptabel ist und die Installation einer grafischen Oberfläche
geplant ist, fahren Sie damit fort und benutzen Sie dann das
entsprechende Werkzeug für die Bildschirmeinstellungen.Die X11 Konfiguration spielt sich in mehreren Schritten ab. Dazu
erstellen Sie als erstes eine Vorgabe für die Konfigurationsdatei.
Setzen Sie dazu als root den folgenden Befehl
ab:&prompt.root; Xorg -configureDie Vorgabe-Konfiguration wird dann unter dem Namen
xorg.conf.new im Verzeichnis
/root gespeichert (das verwendete
Verzeichnis wird durch die Umgebungsvariable $HOME
bestimmt und hängt davon ab, wie Sie zu
root gewechselt sind).
X11 hat in diesem Schritt versucht, die Grafik-Hardware
des Systems zu erkennen und eine Konfigurationsdatei
ausgeschrieben, die zur Hardware passende Treiber lädt.Im nächsten Schritt wird geprüft, ob
&xorg; die Grafik-Hardware
des Systems verwenden kann. Setzen Sie dazu den folgenden
Befehl ab:&prompt.root; Xorg -config xorg.conf.new -retroWenn jetzt ein graues Raster und der X-Mauszeiger erscheinen,
war die Konfiguration erfolgreich. Beenden Sie den Test, indem Sie
auf die virtuelle Konsole wechseln, die Sie verwendet haben, um
den Test zu starten, durch gleichzeitiges drücken von
CtrlAltFn (F1 für die erste virtuelle
Konsole) und drücken anschliessend
CtrlC.Die Tastenkombination
CtrlAltBackspace
kann verwendet werden, um &xorg; zu
beenden. Um diese zu aktivieren, fügen geben Sie entweder
den folgenden Befehl von einem X-Terminalemulator ein:&prompt.user; setxkbmap -option terminate:ctrl_alt_bkspoder erstellen Sie eine Tastaturkonfigurationsdatei für
hald, x11-input.fdi
genannt, und legen Sie diese im Verzeichnis /usr/local/etc/hal/fdi/policy ab. Diese
Datei sollte die folgenden Zeilen enthalten:<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
</match>
</device>
</deviceinfo>Sie müssen anschliessend ihren Computer neu starten, um
hald zu zwingen, diese Datei
einzulesen.Die folgende Zeile muss ebenfalls zu
xorg.conf.new hinzugefügt werden,
entweder in den Abschnitt ServerLayout oder
ServerFlags:Option "DontZap" "off"Wenn die Maus nicht funktioniert, prüfen Sie, ob die Maus
konfiguriert wurde. Die Mauskonfiguration wird in im &os;-Installationskapitel beschrieben.
In neueren &xorg;-Versionen werden die
InputDevice-Abschnitte in
xorg.conf ignoriert, um stattdessen die
automatisch erkannten Geräte zu verwenden. Um das alte
Verhalten wiederherzustellen, fügen Sie die folgende Zeile zum
ServerLayout- oder dem
ServerFlags-Abschnitt dieser Datei hinzu:Option "AutoAddDevices" "false"Eingabegeräte können dann wie in den vorherigen
Versionen konfiguriert werden, zusammen mit anderen benötigen
Optionen (z.B. wechseln des Tastaturlayouts).Wie zuvor erwähnt, wird standardmässig der
hald-Dienst automatisch Ihre Tastatur
erkennen. Es kann passieren, dass ihr Tastaturlayout oder das
Modell nicht korrekt erkannt wird. Grafische Oberflächen
wie GNOME,
KDE oder
Xfce
stellen Werkzeuge für die Konfiguration der Tastatur
bereit. Es ist allerdings auch möglich, die
Tastatureigenschaften direkt zu setzen, entweder mit Hilfe von
&man.setxkbmap.1; oder mit einer Konfigurationsregel von
hald.Wenn Sie zum Beispiel eine PC 102-Tasten Tastatur mit
französischem Layout verwenden möchten, mössen Sie
eine Tastaturkonfigurationsdatei für
hald, genannt
x11-input.fdi, im Verzeichnis /usr/local/etc/hal/fdi/policy ablegen.
Diese Datei sollte die folgenden Zeilen enthalten:<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_options.XkbModel" type="string">pc102</merge>
<merge key="input.x11_options.XkbLayout" type="string">fr</merge>
</match>
</device>
</deviceinfo>Wenn diese Datei bereits existiert, kopieren Sie nur die Zeilen
in diese Datei, welche die Tastaturkonfiguration betreffen.Sie mössen Ihren Computer neu starten, um
hald zu zwingen, diese Datei
einzulesen.Es ist möglich, die gleiche Konfiguration von einem
X-Terminal oder einem Skript über den folgenden Befehl
heraus zu tätigen:&prompt.user; setxkbmap -model pc102 -layout frDie Datei
/usr/local/share/X11/xkb/rules/base.lst
listet die verschiedenen Tastatur- und Layoutoptionen auf, die
Ihnen zur Verfügung stehen.X11 anpassenDie Konfigurationsdatei xorg.conf.new
kann nun an bestimmte Bedürfnisse angepasst werden. Öffnen
Sie die Datei in einem Editor, wie &man.emacs.1; oder
&man.ee.1;. Falls der Monitor ein älteres oder ungewöhnliches
Modell ist und keine automatische Erkennung unterstützt,
können die Synchronisationsfrequenzen im Abschnitt
"Monitor" der
xorg.conf.new eingetragen werden.Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSectionDie meisten Monitore unterstützen die automatische
Erkennung der Synchronisationsfrequenzen, so dass eine
manuelle Eingabe der Werte nicht erforderlich ist. Für die
wenigen Monitore, die keine automatische Erkennung
unterstützen, sollten nur Werte eingegeben werden, die
durch den Hersteller zur Verfügung gestellt werden, um
einen möglichen Schaden zu vermeiden.X unterstützt die Energiesparfunktionen (DPMS,
Energy Star) Ihres Monitors. Mit &man.xset.1; können Sie
Zeitschranken für die DPMS-Modi standby,
suspend, off vorgeben, oder diese
zwingend aktivieren. Die DPMS-Funktionen können Sie mit der
nachstehenden Zeile im "Monitor"-Abschnitt
aktivieren:Option "DPMS"xorg.confDie gewünschte Auflösung und Farbtiefe stellen Sie im
Abschnitt "Screen" ein:Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1024x768"
EndSubSection
EndSectionMit DefaultDepth wird die
Farbtiefe des X-Servers vorgegeben. Mit der Option
-depth von &man.Xorg.1;
lässt sich die vorgegebene
Farbtiefe überschreiben. Modes
gibt die Auflösung für die angegebene
Farbtiefe an. Die Farbtiefe im Beispiel beträgt
24 Bits pro Pixel, die zugehörige Auflösung
ist 1024x768 Pixel. Beachten Sie, dass in der
Voreinstellung nur Standard-VESA-Modi der Grafikkarte
angegeben werden können.Sichern Sie die Konfigurationsdatei und testen Sie
die Konfiguration wie oben beschrieben.Bei der Fehlersuche sind Ihnen die Protokolle des
X11-Servers behilflich. In den Protokollen wird die
gefundene Graphik-Hardware protokolliert.
Die Protokolle von &xorg; heißen
/var/log/Xorg.0.log.
Die Dateinamen enthalten eine laufende Nummer,
der Name variiert daher von Xorg.0.log
zu Xorg.8.log.Wenn alles funktioniert hat, installieren Sie
die Datei an einen Ort, an dem &man.Xorg.1; sie findet.
Normalerweise wird die Konfigurationsdatei unter
/etc/X11/xorg.conf oder
/usr/local/etc/X11/xorg.conf
gespeichert:&prompt.root; cp xorg.conf.new /etc/X11/xorg.confDamit ist die X11-Konfiguration beendet und
&xorg; kann nun mithilfe
von &man.startx.1; gestartet werden. Alternativ
können Sie X11 auch mit &man.xdm.1; starten.Spezielle KonfigurationenKonfiguration des &intel; i810
Graphics ChipsetsIntel i810 ChipsetDer &intel; i810-Chipset benötigt den Treiber
agpgart, die AGP-Schnittstelle
von X11. Weitere Informationen finden sich in
&man.agp.4;.Ab jetzt kann die Hardware wie jede andere Grafikkarte auch
konfiguriert werden. Der Treiber &man.agp.4; kann nicht
nachträglich mit &man.kldload.8; in einen laufenden
Kernel geladen werden. Er muss entweder fest im Kernel
eingebunden sein oder beim Systemstart über
/boot/loader.conf geladen werden.Einen Widescreen-Monitor einsetzenWidescreen-Monitor, KonfigurationDieser Abschnitt geht über die normalen
Konfigurationsarbeiten hinaus und setzt einiges an Vorwissen
voraus. Selbst wenn die Standardwerkzeuge zur X-Konfiguration
bei diesen Geräten nicht zum Erfolg führen, sollten
sich in den Logdateien genug Informationen finden, mit denen
Sie letztlich doch einen funktionierenden X-Server
konfigurieren können. Alles, was Sie dazu noch
benötigen, ist ein Texteditor.Aktuelle Widescreen-Formate (wie WSXGA, WSXGA+, WUXGA,
WXGA, WXGA+, und andere mehr) unterstützen
Seitenverhältnisse wie 16:10 oder 10:9, die unter X
Probleme verursachen können. Bei einem
Seitenverhältnis von 16:10 sind beispielsweise
folgende Auflösungen möglich:2560x16001920x12001680x10501440x9001280x800Diese Konfiguration könnte so einfach sein
wie das zusätzliche Anlegen eines Eintrags
einer dieser Auflösungen als ein möglicher
Mode in
Section "Screen":Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1680x1050"
EndSubSection
EndSection&xorg; ist normalerweise
intelligent genug, um die Informationen zu den erlaubten
Auflösungen über I2C/DDC zu beziehen, und
weiß daher, welche Auflösungen und Frequenzen
Ihr Widescreen-Monitor unterstützt.Wenn diese ModeLines in den
Treiberdateien nicht vorhanden sind, kann es sein, dass
Sie &xorg; beim Finden der
korrekten Werte unterstützen müssen. Dazu
extrahieren Sie die benötigten Informationen aus der
Datei /var/log/Xorg.0.log und
erzeugen daraus eine funktionierende
ModeLine. Dazu suchen Sie in dieser
Datei nach Zeilen ähnlich den folgenden:(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm
(II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHzDiese Informationen werden auch als EDID-Informationen
bezeichnet. Um daraus eine funktionierende
ModeLine zu erzeugen, müssen Sie
lediglich die Zahlen in die korrekte Reihenfolge bringen:ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>Die korrekte ModeLine in
Section "Monitor" würde
für dieses Beispiel folgendermaßen aussehen:Section "Monitor"
Identifier "Monitor1"
VendorName "Bigname"
ModelName "BestModel"
ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option "DPMS"
EndSectionNachdem diese Äderungen durchgeführt sind, sollte
X auch auf Ihrem neuen Widescreen-Monitor starten.Schriftarten in X11 benutzenMurrayStokelyBeigetragen von Type 1 SchriftartenDie Schriftarten, die mit X11
geliefert werden, eignen sich ganz und gar nicht für
Desktop-Publishing-Anwendungen. Große Schriftarten zeigen bei
Präsentationen deutliche Treppenstufen und die kleinen
- Schriftarten in &netscape; sind fast
+ Schriftarten sind fast
unleserlich. Es gibt allerdings mehrere hochwertige
Type 1 Schriftarten (&postscript;), die mit
X11 benutzt werden können.
Beispielsweise enthalten die URW-Schriftarten
(x11-fonts/urwfonts) hochwertige
Versionen gängiger Type 1 Schriftarten (zum Beispiel
Times Roman,
Helvetica,
Palatino).
Die Sammlung Freefonts (x11-fonts/freefonts) enthält
noch mehr Schriftarten, doch sind diese für den Einsatz
in Grafik-Programmen wie The Gimp
gedacht. Es fehlen auch einige Schriftarten, sodass sich
die Sammlung nicht für den alltäglichen Gebrauch
eignet. Weiterhin kann X11 leicht so konfiguriert werden,
dass es &truetype;-Schriftarten verwendet. Mehr dazu
erfahren Sie in der Hilfeseite &man.X.7; und im Abschnitt
&truetype; Schriftarten.Die Type 1 Schriftarten lassen sich aus der Ports-Sammlung wie
folgt installieren:&prompt.root; cd /usr/ports/x11-fonts/urwfonts
&prompt.root; make install cleanAnalog lassen sich Freefont und andere Sammlungen
installieren. Die neuen Schriftarten müssen Sie
in die Konfigurationsdatei des X-Servers im Verzeichnis
/etc/X11 eintragen.
Die Konfigurationsdatei von &xorg;
heißt xorg.conf. Fügen Sie
die folgende Zeile hinzu:FontPath "/usr/local/lib/X11/fonts/URW/"Sie können aber auch in der X-Sitzung das folgende
Kommando absetzen:&prompt.user; xset fp+ /usr/local/lib/X11/fonts/URW
&prompt.user; xset fp rehashDann kennt der X-Server die neuen Schriftarten nur bis zum Ende
der Sitzung. Wenn die Änderung dauerhaft sein soll, müssen
Sie die Kommandos in ~/.xinitrc eintragen,
wenn Sie X mit startx starten, oder in
~/.xsession, wenn Sie
XDM benutzen. Sie können die
Schriftarten auch in die neue Datei
/usr/local/etc/fonts/local.conf,
die im Abschnitt Anti-aliasing
beschrieben wird, eintragen.&truetype;-SchriftartenTrueType-SchriftartenSchriftartenTrueType&xorg; kann
&truetype;-Schriftarten mithilfe von zwei Modulen
darstellen. Im folgenden Beispiel wird das Freetype-Modul
benutzt, da es besser mit anderen Werkzeugen, die
&truetype;-Schriftarten darstellen, übereinstimmt.
Das Freetype-Modul aktivieren Sie im Abschnitt
"Module" von /etc/X11/xorg.conf
durch Einfügen der Zeile:Load "freetype"Erstellen Sie ein Verzeichnis für die
&truetype;-Schriftarten (z.B.
/usr/local/lib/X11/fonts/TrueType)
und kopieren Sie alle Schriftarten dorthin. Die
Schriftarten müssen im &unix;/&ms-dos;/&windows;-Format
vorliegen, Schriftarten von einem &macintosh; können
Sie nicht direkt übernehmen. Die Schriftarten
müssen noch im Katalog fonts.dir
erfasst werden. Den Katalog erzeugen Sie mit dem Kommando
ttmkfdir aus dem Port
x11-fonts/ttmkfdir:&prompt.root; cd /usr/local/lib/X11/fonts/TrueType
&prompt.root; ttmkfdir -o fonts.dirGeben Sie dem System das &truetype;-Verzeichnis, wie im Abschnitt
Type 1 Schriftarten beschrieben,
bekannt:&prompt.user; xset fp+ /usr/local/lib/X11/fonts/TrueType
&prompt.user; xset fp rehashOder fügen Sie eine FontPath-Zeile
in die Datei xorg.conf ein.
- Das war's. Jetzt sollten &netscape;,
- Gimp, &staroffice;
+ Das war's. Jetzt sollten Gimp,
+ Apache OpenOffice
und alle anderen X-Anwendungen die &truetype;-Schriftarten benutzen.
Extrem kleine Schriftarten (Webseiten, die mit hoher Auflösung
betrachtet werden) und sehr große Schriftarten (in
&staroffice;) sollten jetzt viel besser
aussehen.Anti-aliasingJoe MarcusClarkeAktualisiert von Anti-aliasingSchriftartenAnti-aliasingAlle Schriftarten in X11, die in den Verzeichnissen
/usr/local/lib/X11/fonts/ und
~/.fonts/ gefunden werden, werden automatisch
für Anti-aliasing an Anwendungen zur Verfügung gestellt,
die Xft beherrschen. Die meisten aktuellen Anwendungen beherrschen
Xft, dazu gehören auch KDE,
GNOME und
Firefox.In der Datei /usr/local/etc/fonts/local.conf
werden die Schriftarten, die mit dem Anti-aliasing-Verfahren
benutzt werden sollen und die Eigenschaften des Verfahrens
festgelegt. In diesem Abschnitt wird nur die grundlegende
Konfiguration von Xft beschrieben. Weitere Details entnehmen
Sie bitte der Hilfeseite &man.fonts-conf.5;.XMLDie Datei local.conf ist ein
XML-Dokument. Achten Sie beim
Editieren der Datei daher auf die richtige Groß- und
Kleinschreibung und darauf, dass alle Tags geschlossen
sind. Die Datei beginnt mit der üblichen XML-Deklaration
gefolgt von einer DOCTYPE-Definition und dem
<fontconfig>-Tag: <?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
Wie vorher erwähnt, stehen schon alle Schriftarten
in /usr/local/lib/X11/fonts/ und
~/.fonts/ für Anwendungen, die
Xft unterstützen, zur Verfügung. Wenn Sie ein
Verzeichnis außerhalb dieser beiden Bäume
benutzen wollen, fügen Sie eine Zeile wie die
nachstehende zu
/usr/local/etc/fonts/local.conf hinzu:<dir>/path/to/my/fonts</dir>Wenn Sie neue Schriftarten hinzugefügt haben,
müssen Sie den Schriftarten-Cache neu aufbauen:&prompt.root; fc-cache -fDas Anti-aliasing-Verfahren zeichnet Ränder leicht unscharf,
dadurch werden kleine Schriften besser lesbar und der
Treppenstufen-Effekt bei wird großen Schriften vermieden. Auf
normale Schriftgrößen sollte das Verfahren aber nicht
angewendet werden, da dies die Augen zu sehr anstrengt. Um
kleinere Schriftgrößen als 14 Punkt von dem
Verfahren auszunehmen, fügen Sie in
local.conf die nachstehenden Zeilen ein: <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>SchriftartenAbständeDas Anti-aliasing-Verfahren kann die Abstände einiger
Fixschriften falsch darstellen, dies fällt besonders unter
KDE auf. Sie können das Problem
umgehen, indem Sie die Abstände dieser Schriften auf den Wert
100 festsetzen. Fügen Sie die nachstehenden
Zeilen hinzu: <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>Damit werden die Namen der gebräuchlichen Fixschriften auf
"mono" abgebildet. Für diese Schriften
setzen Sie dann den Abstand fest: <match target="pattern" name="family">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="spacing" mode="assign">
<int>100</int>
</edit>
</match> Bestimmte Schriftarten, wie Helvetica, können
Probleme mit dem Anti-Aliasing-Verfahren verursachen.
In der Regel erscheinen diese Schriftarten dann vertikal
halbiert. Im schlimmsten Fall stürzen Anwendungen als Folge
davon ab. Sie vermeiden dies, indem Sie betroffene Schriftarten in
local.conf von dem Verfahren ausnehmen: <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> Wenn Sie local.conf editiert haben,
stellen Sie bitte sicher, dass die Datei mit dem Tag
</fontconfig> endet. Ist das
nicht der Fall, werden die Änderungen nicht
berücksichtigt.Benutzer können eigene Einstellungen in der
Datei ~/.fonts.conf vornehmen.
Achten Sie auch hier auf die richtige XML-Syntax.LCDSchriftartenauf einem LCDMit einem LCD können Sie
sub-pixel sampling anstelle von
Anti-aliasing einsetzen. Dieses Verfahren behandelt die horizontal
getrennten Rot-, Grün- und Blau-Komponenten eines Pixels
gesondert und verbessert damit (teilweise sehr wirksam) die
horizontale Auflösung. Die nachstehende Zeile in
local.conf aktiviert diese Funktion: <match target="font">
<test qual="all" name="rgba">
<const>unknown</const>
</test>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
</match>Abhängig von der Art Ihres Bildschirms
müssen Sie anstelle von rgb eines
der folgenden verwenden: bgr,
vrgb oder vbgr.
Experimentieren Sie und vergleichen, was besser aussieht.Der X-Display-ManagerSethKingsleyBeigetragen von EinführungX-Display-ManagerDer X-Display-Manager
(XDM), eine optionale
Komponente des X-Window-Systems, verwaltet Sitzungen. Er kann mit
vielen Komponenten, wie minimal ausgestatteten X-Terminals,
Arbeitsplatz-Rechnern und leistungsfähigen Netzwerkservern,
nutzbringend eingesetzt werden. Da das X-Window-System
netzwerktransparent ist, gibt es zahlreiche
Möglichkeiten, X-Clients und X-Server auf unterschiedlichen
Rechnern im Netz laufen zu lassen. XDM
stellt eine grafische Anmeldemaske zur Verfügung, in der Sie
den Rechner, auf dem eine Sitzung laufen soll, auswählen
können und in der Sie die nötigen
Autorisierungs-Informationen, wie Benutzername und Passwort,
eingeben können.Die Funktion des X-Display-Managers lässt sich mit
der von &man.getty.8; (siehe )
vergleichen. Er meldet den Benutzer am ausgesuchten System an,
startet ein Programm (meist einen Window-Manager) und
wartet darauf, dass dieses Programm beendet wird, das heißt
der Benutzer die Sitzung beendet hat. Nachdem die Sitzung beendet
ist, zeigt XDM den grafischen
Anmeldebildschirm für den nächsten Benutzer an.XDM einrichtenUm XDM verwenden zu können,
installieren Sie den Port x11/xdm
(dieser wird standardmässig nicht in aktuellen
&xorg;-Versionen mitinstalliert).
Der XDM-Dæmon befindet sich dann in
/usr/local/bin/xdm und kann jederzeit von
root gestartet werden. Er verwaltet dann den
X-Bildschirm des lokalen Rechners. XDM
lässt sich bequem mit einem Eintrag in
/etc/ttys (siehe )
bei jedem Start des Rechners aktivieren. In
/etc/ttys sollte schon der nachstehende
Eintrag vorhanden sein:ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secureIn der Voreinstellung ist dieser Eintrag nicht aktiv. Um den
Eintrag zu aktivieren, ändern Sie den Wert in Feld 5 von
off zu on und starten Sie
&man.init.8; entsprechend der Anleitung in neu. Das erste Feld gibt den Namen des
Terminals an, auf dem das Programm läuft. Im Beispiel wird
ttyv8 verwendet, das heißt
XDM läuft auf dem neunten
virtuellen Terminal.XDM konfigurierenDas Verhalten und Aussehen von XDM
steuern Sie mit Konfigurationsdateien, die im Verzeichnis
/usr/local/lib/X11/xdm stehen.
Üblicherweise finden Sie dort die folgenden Dateien vor:DateiBeschreibungXaccessRegelsatz, der zur Autorisierung von Clients benutzt
wird.XresourcesVorgabewerte für X-Ressourcen.XserversListe mit lokalen und entfernten Bildschirmen, die
verwaltet werden.XsessionVorgabe für das Startskript der
Sitzung.Xsetup_*Skript, das dazu dient, Anwendungen vor der Anmeldung
zu starten.xdm-configKonfiguration für alle auf der Maschine
verwalteten Bildschirme.xdm-errorsFehlermeldungen des Servers.xdm-pidDie Prozess-ID des gerade laufenden
XDM-Prozesses.Im Verzeichnis /usr/local/lib/X11/xdm
befinden sich auch noch Skripten und Programme, die zum Einrichten
der XDM-Oberfläche dienen. Der
Zweck dieser Dateien und der Umgang mit ihnen wird in der
Hilfeseite &man.xdm.1; erklärt. Wir gehen im Folgenden nur
kurz auf ein paar der Dateien ein.Die vorgegebene Einstellung zeigt ein rechteckiges
Anmeldefenster, in dem der Rechnername in großer Schrift
steht. Darunter befinden sich die Eingabeaufforderungen
Login: und Password:.
Mit dieser Maske können Sie anfangen, wenn Sie das
Erscheinungsbild von XDM
verändern wollen.XaccessVerbindungen zu XDM werden
über das X Display Manager Connection Protocol
(XDMCP) hergestellt.
XDMCP-Verbindungen von entfernten Maschinen
werden über den Regelsatz in Xaccess
kontrolliert. Diese Datei wird allerdings ignoriert, wenn in
xdm-config keine Verbindungen entfernter
Maschinen erlaubt sind (dies ist auch die Voreinstellung).XresourcesIn dieser Datei kann das Erscheinungsbild der
Bildschirmauswahl und der Anmeldemasken festgelegt werden. Das
Format entspricht den Dateien im Verzeichnis
app-defaults, die in der
X11-Dokumentation beschrieben sind.XserversDiese Datei enthält eine Liste entfernter Maschinen, die
in der Bildschirmauswahl angeboten werden.XsessionDieses Skript wird vom XDM
aufgerufen, nachdem sich ein Benutzer erfolgreich angemeldet hat.
Üblicherweise besitzt jeder Benutzer eine angepasste Version
dieses Skripts in ~/.xsession, das dann
anstelle von Xsession ausgeführt
wird.Xsetup_*Diese Skripten werden automatisch ausgeführt bevor die
Bildschirmauswahl oder die Anmeldemasken angezeigt werden.
Für jeden lokalen Bildschirm gibt es ein Skript, dessen
Namen aus Xsetup_ gefolgt von der
Bildschirmnummer gebildet wird (zum Beispiel
Xsetup_0). Normalerweise werden damit ein
oder zwei Programme, wie xconsole, im
Hintergrund gestartet.xdm-configDiese Datei enthält Einstellungen, die für jeden
verwalteten Bildschirm zutreffen. Das Format entspricht dem der
Dateien aus app-defaults.xdm-errorsDie Ausgaben jedes X-Servers, den
XDM versucht zu starten, werden in
dieser Datei gesammelt. Wenn ein von
XDM verwalteter Bildschirm aus
unbekannten Gründen hängen bleibt, sollten Sie in
dieser Datei nach Fehlermeldungen suchen. Für jede Sitzung
werden die Meldungen auch in die Datei
~/.xsession-errors des Benutzers
geschrieben.Einrichten eines Bildschirm-Servers auf dem NetzwerkDamit sich Clients mit dem Bildschirm-Server verbinden
können, muss der Zugriffsregelsatz editiert und der
Listener aktiviert werden. Die Vorgabewerte sind sehr
restriktiv eingestellt. Damit XDM
Verbindungen annimmt, kommentieren Sie eine Zeile in der
xdm-config Datei aus:! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort: 0Starten Sie danach XDM neu.
Beachten Sie, dass Kommentare in den
Ressourcen-Konfigurationsdateien mit einem !
anstelle des sonst üblichen Zeichens #
beginnen. Wenn Sie strengere Zugriffskontrollen einrichten wollen,
sehen Sie sich die Beispiele in Xaccess und
die Hilfeseite &man.xdm.1; an.XDM ersetzenEs gibt mehrere Anwendungen, die
XDM ersetzen können, zum Beispiel
KDM, der Teil von
KDE ist und später in diesem
Kapitel besprochen wird. KDM ist
ansprechender gestaltet und bietet neben einigen Schnörkeln
die Möglichkeit, den zu verwendenden Window-Manager bei der
Anmeldung auszuwählen.Grafische OberflächenValentinoVaschettoBeigetragen von Dieser Abschnitt beschreibt verschiedene grafische
Oberflächen, die es für X unter FreeBSD gibt. Eine
Oberfläche (desktop environment)
kann alles von einem einfachen Window-Manager bis hin zu kompletten
Anwendungen wie KDE oder
GNOME sein.GNOMEÜber GNOMEGNOMEGNOME ist eine benutzerfreundliche
Oberfläche, mit der Rechner leicht benutzt und konfiguriert
werden können. GNOME besitzt
eine Leiste, mit der Anwendungen gestartet werden und die
Statusinformationen anzeigen kann. Programme und Daten
können auf der Oberfläche abgelegt werden und
Standardwerkzeuge stehen zur Verfügung. Es gibt
Konventionen, die es Anwendungen leicht machen,
zusammenzuarbeiten und ein konsistentes Erscheinungsbild
garantieren. Benutzer anderer Betriebssysteme oder anderer
Arbeitsumgebungen sollten mit der leistungsfähigen
grafischen Oberfläche von GNOME
sehr gut zurechtkommen. Auf der Webseite
FreeBSD GNOME
Project finden Sie weitere Informationen über
GNOME auf FreeBSD. Zusätzlich finden Sie dort
umfassende FAQs zur Installation, Konfiguration und zum
Betrieb von GNOME.GNOME installierenAm einfachsten installieren Sie GNOME
als Paket oder über die Ports-Sammlung.Wenn Sie das GNOME-Paket über
das Netz installieren wollen, setzen Sie den nachstehenden Befehl
ab:&prompt.root; pkg_add -r gnome2Wenn Sie den Quellcode von GNOME
übersetzen wollen, benutzen Sie die Ports-Sammlung:&prompt.root; cd /usr/ports/x11/gnome2
&prompt.root; make install cleanDamit GNOME korrekt funktioniert,
muss das /proc-Dateisystem
eingehängt sein. Fügen Sie daher die folgende Zeile
in /etc/fstab ein, damit &man.procfs.5;
beim Systemstart automatisch eingehängt wird:proc /proc procfs rw 0 0Nachdem GNOME installiert ist,
muss der X-Server GNOME anstelle eines
Window-Managers starten.Der einfachste Weg, GNOME zu
starten, ist GDM, der GNOME Display
Manager. GDM wird zwar als Teil des
GNOME-Desktops installiert, ist aber
in der Voreinstellung deaktiviert. Um
GDM zu aktivieren, fügen Sie
folgende Zeile in /etc/rc.conf ein:gdm_enable="YES"Nach einem Systemneustart wird
GDM ab sofort automatisch
gestartet.In der Regel ist es ratsam, alle
GNOME-Dienste beim Start von
GDM zu aktivieren. Um dies zu
erreichen, fügen Sie die folgende Zeile in
/etc/rc.conf ein:gnome_enable="YES"GNOME kann auch von der
Kommandozeile gestartet werden, wenn Sie eine entsprechend
konfigurierte .xinitrc in Ihrem
Heimatverzeichnis besitzen. Existiert eine solche Version,
ersetzen Sie den Aufruf des Window-Managers durch
/usr/local/bin/gnome-session. Wenn
.xinitrc nicht gesondert angepasst wurde,
reicht es, den nachstehenden Befehl abzusetzen:&prompt.user; echo "/usr/local/bin/gnome-session" > ~/.xinitrcRufen Sie danach startx auf, um die
GNOME Oberfläche zu starten.Wenn Sie einen älteren Display-Manager wie
XDM verwenden, müssen Sie
anders vorgehen. Legen Sie eine ausführbare
.xsession an, die das Kommando
zum Start von GNOME enthält.
Ersetzen Sie dazu den Start des Window-Managers durch
/usr/local/bin/gnome-session:&prompt.user; echo "#!/bin/sh" > ~/.xsession
&prompt.user; echo "/usr/local/bin/gnome-session" >> ~/.xsession
&prompt.user; chmod +x ~/.xsessionSie können den Display-Manager auch so konfigurieren,
dass der Window-Manager beim Anmelden gewählt werden kann. Im
Abschnitt Details zu KDE
wird das für KDM, den
Display-Manager von KDE
erklärt.KDEÜber KDEKDEKDE ist eine moderne, leicht zu
benutzende Oberfläche, die unter anderem Folgendes
bietet:eine schöne und moderne Oberfläche,eine Oberfläche, die völlig netzwerktransparent
ist,ein integriertes Hilfesystem, das bequem und konsistent
Hilfestellungen bezüglich der Bedienung
der KDE-Oberfläche und
ihrer Anwendungen gibt,ein konstantes Erscheinungsbild (look and
feel) aller
KDE-Anwendungen,einheitliche Menüs, Werkzeugleisten,
Tastenkombinationen und Farbschemata,Internationalisierung: KDE
ist in mehr als 55 Sprachen erhältlich,durch Dialoge gesteuerte zentrale Konfiguration der
Oberfläche,viele nützliche
KDE-Anwendungen.In KDE ist mit
Konqueror auch ein Webbrowser
enthalten, der sich durchaus mit anderen
Webbrowsern auf &unix;-Systemen messen kann. Weitere
Informationen über KDE erhalten
Sie auf den KDE-Webseiten. Auf der
Webseite KDE/FreeBSD Initiative
finden Sie weitere FreeBSD-spezifische
Informationen über KDE.Es sind zwei Versionen von KDE
unter &os; verfügbar. Version 3 ist schon seit einiger Zeit
erhältlich und immer noch über die Ports-Sammlung verfügbar,
obwohl es nicht mehr gepflegt wird und teilweise kaputt ist.
Version 4 wird punktuell aktualisiert und ist die
Standardauswahl für KDE Benutzer.
Beide Versionen können sogar gleichzeitig installiert
werden.KDE installierenAm einfachsten installieren Sie KDE,
wie jede andere grafische Oberfläche auch, als Paket
oder über die Ports-Sammlung.Um KDE 3 über das Netz zu
installieren, setzen Sie den nachstehenden Befehl ab:&prompt.root; pkg_add -r kdeUm KDE 4 über das Netzwerk
zu installieren, geben Sie folgendes ein:&prompt.root; pkg_add -r kde4&man.pkg.add.1; installiert automatisch die neuste
Version einer Anwendung.Benutzen Sie die Ports-Sammlung, wenn Sie den Quellcode von
KDE 3 übersetzen wollen:&prompt.root; cd /usr/ports/x11/kde3
&prompt.root; make install cleanUm KDE 4 aus dem Quellcode zu
übersetzen, geben Sie folgendes ein:&prompt.root; cd /usr/ports/x11/kde4
&prompt.root; make install cleanNachdem KDE installiert ist, muss
der X-Server KDE anstelle eines
Window-Managers starten. Legen Sie dazu die Datei
.xinitrc an:Für KDE 3:&prompt.user; echo "exec startkde" > ~/.xinitrcFür KDE 4:&prompt.user; echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrcWenn das X-Window-System danach mit startx
gestartet wird, erscheint die
KDE-Oberfläche.Wird ein Display-Manager wie XDM
benutzt, muss .xsession angepasst werden.
Eine Anleitung für KDM folgt
gleich in diesem Kapitel.Details zu KDEWenn KDE erst einmal installiert
ist, erschließen sich die meisten Sachen durch das
Hilfesystem oder durch Ausprobieren. Benutzer von Windows oder
&macos; werden sich sehr schnell zurecht finden.Die beste Referenz für KDE
ist die Online-Dokumentation. KDE
besitzt einen eigenen Webbrowser, sehr viele nützliche
Anwendungen und ausführliche Dokumentation. Der Rest dieses
Abschnitts beschäftigt sich daher mit Dingen, die schlecht
durch einfaches Ausprobieren erlernbar sind.Der KDE-Display-ManagerKDEDisplay-ManagerDer Administrator eines Mehrbenutzersystems will den
Benutzern vielleicht eine grafische Anmeldung wie mit
XDM ermöglichen.
KDE besitzt mit
KDM einen alternativen
Display-Manager, der schöner aussieht und auch
über mehr Optionen verfügt. Insbesondere können
sich die Benutzer die Oberfläche für die Sitzung
(beispielsweise KDE oder
GNOME) aussuchen.Die Art und Weise, wie KDM
aktiviert wird, hängt dabei von der von Ihnen
eingesetzten KDE-Version ab.Für KDE 3 müssen die
ttyv8-Zeile in
/etc/ttys wie folgt anpassen:ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secureVerwenden Sie hingegen KDE 4,
müssen Sie folgende Zeilen in
/etc/rc.conf aufnehmen:kdm4_enable="YES"XfceÜber XfceXfce ist eine grafische
Oberfläche, die auf den GTK+-Bibliotheken, die auch von
GNOME benutzt werden, beruht. Die
Oberfläche ist allerdings weniger aufwändig und
für diejenigen gedacht, die eine schlichte und effiziente
Oberfläche wollen, die dennoch einfach zu benutzen
und zu konfigurieren ist. Die Oberfläche sieht
ähnlich wie CDE aus, das in
kommerziellen &unix; Systemen verwendet wird. Einige Merkmale
von Xfce sind:eine schlichte einfach zu benutzende
Oberfläche,vollständig mit Mausoperationen konfigurierbar,
Unterstützung von drag and
drop,ähnliche Hauptleiste wie
CDE, die Menüs enthält
und über die Anwendungen gestartet werden
können,integrierter Window-Manager, Datei-Manager und
Sound-Manager,
GNOME-compliance-Modul,mit Themes anpassbar (da
GTK+ benutzt wird),schnell, leicht und effizient: ideal für ältere
oder langsamere Maschinen oder Maschinen mit wenig
Speicher.Weitere Information über
Xfce erhalten Sie auf der
Xfce-Webseite.Xfce installierenDas Xfce-Paket installieren Sie
mit dem nachstehenden Kommando:&prompt.root; pkg_add -r xfce4Mit der Ports-Sammlung können Sie auch den Quellcode
übersetzen:&prompt.root; cd /usr/ports/x11-wm/xfce4
&prompt.root; make install cleanDamit beim nächsten Start des X-Servers
Xfce benutzt wird, setzen Sie das
folgende Kommando ab:&prompt.user; echo "/usr/local/bin/startxfce4" > ~/.xinitrcWenn Sie einen Display-Manager benutzen, erstellen Sie die
Datei .xsession, wie im GNOME Abschnitt beschrieben.
Verwenden Sie jetzt allerdings das Kommando
/usr/local/bin/startxfce4. Sie können
auch den Display-Manager wie im kdm Abschnitt beschrieben, so
konfigurieren, dass die Oberfläche für die Sitzung
ausgewählt werden kann.