Kapitel 11. Das X Window System und virtuelle Konsolen
Zurück |  | Weiter

## Kapitel 11. Das X Window System und virtuelle Konsolen

11.1. Was ist das X Window System?
11.2. Ich möchte X benutzen, was muss ich tun?
11.3. Ich habe versucht, X zu starten, aber wenn ich startx eingebe, erhalte ich die Fehlermeldung KDENABIO failed (Operation not permitted). Was soll ich jetzt machen?
11.4. Warum funktioniert meine Maus unter X nicht?
11.5. Kann ich meine Rad-Maus auch unter X benutzen?
11.6. X verbietet Verbindungen von entfernten Systemen!
11.7. Was ist eine virtuelle Konsole und wie erstelle ich mehr?
11.8. Wie greife ich von X aus auf virtuelle Konsolen zu?
11.9. Wie starte ich XDM beim Booten?
11.10. Wieso erhalte ich die Meldung Couldn't open console, wenn ich xconsole benutze?
11.11. Früher konnte ich Xorg als normaler User starten. Warum sagt mir das System jetzt, dass ich root sein muss?
11.12. Warum funktioniert meine PS/2-Maus nicht richtig?
11.13. Meine PS/2-Maus von MouseSystems scheint nicht zu funktionieren.
11.14. Wie vertausche ich die Maustasten?
11.15. Wie installiere ich einen Splash-Screen und wo finde ich sie?
11.16. Kann ich die Windows-Tasten unter X benutzen?
11.17. Wird 3D Hardware Beschleunigung für OpenGL® unterstützt?

11.1. | Was ist das X Window System?

Das X Window System (oder auch nur `X11`) ist das am häufigsten verwendete Window System für UNIX®- und UNIX®-ähnliche Systeme, zu denen auch FreeBSD gehört. Der X Protokollstandard wird von der X.org Foundation definiert und liegt aktuell in Version 11 Release 7.7 vor und wird häufig auch nur als `X11` bezeichnet.

Das X Window System wurde für viele verschiedene Architekturen und Betriebssysteme implementiert. Eine serverseitige Implementierung wird dabei als `X-Server` bezeichnet.

11.2. | Ich möchte X benutzen, was muss ich tun?

Wenn Sie X auf einem existierenden System installieren wollen, sollten Sie entweder den Meta-Port `x11/xorg` verwenden, der alle benötigen Komponenten baut und installiert, oder Sie installieren die FreeBSD Xorg-Pakete:

``#` pkg_add -r xorg`

Es ist auch möglich, Xorg aus sysinstall(8) heraus zu installieren, indem Sie Configure, dann Distributions und anschliessend The X.Org Distribution aufrufen.

Lesen Sie nach erfolgreicher Installation von Xorg den Abschnitt X11 konfigurieren im FreeBSD Handbuch.

11.3. | Ich habe versucht, X zu starten, aber wenn ich `startx` eingebe, erhalte ich die Fehlermeldung KDENABIO failed (Operation not permitted). Was soll ich jetzt machen?

Das System läuft auf einer erhöhten Sicherheitsstufe (`securelevel`). X kann auf einer erhöhten Sicherheitsstufe nicht gestartet werden, weil X dazu Schreibzugriff auf io(4) benötigt. Lesen Sie dazu auch init(8).

Die Frage ist also eigentlich, was Sie anders machen sollten. Sie haben zwei Möglichkeiten: Setzen Sie die Sicherheitsstufe wieder zurück auf 0 (die Einstellung erfolgt in der Regel in `/etc/rc.conf`) oder starten Sie xdm(1) während des Starts des Systems, bevor die Sicherheitsstufe erhöht wird.

Der Abschnitt F: 11.9 enthält Informationen darüber, wie Sie xdm(1) beim Start des Systems starten können.

11.4. | Warum funktioniert meine Maus unter X nicht?

Wenn Sie syscons(4) (den Standard-Konsolentreiber) benutzen, können Sie FreeBSD so konfigurieren, dass auf jedem virtuellen Bildschirm ein Mauszeiger unterstützt wird. Um Konflikte mit X zu vermeiden, unterstützt syscons(4) ein virtuelles Gerät mit dem Namen `/dev/sysmouse`. Alle Mausbewegungen und Mausklicks werden in das sysmouse(4) Gerät über moused(8) geschrieben. Falls Sie Ihre Maus auf einer oder mehreren virtuellen Konsolen und X benutzen wollen, sollten Sie zunächst F: 4.5.4 lesen und dann moused(8) installieren.

Die Datei `/etc/X11/xorg.conf` sollte die folgenden Einträge enthalten:

Section "InputDevice" Option "Protocol" "SysMouse" Option "Device" "/dev/sysmouse" .....

Beginnend mit Xorg 7.4 werden Angaben im Abschnitt `InputDevice` von `xorg.conf` ignoriert. Stattdessen wird die automatisch detektierten Werte zurückgegriffen. Um das alte Verhalten zu reaktivieren, fügen Sie die folgende Zeile entweder in den Abschnitt `ServerLayout` oder `ServerFlags` ein:

Option "AutoAddDevices" "false"

Einige Leute ziehen es vor, unter X `/dev/mouse` zu benutzen. Hierzu sollte `/dev/mouse` nach `/dev/sysmouse` (lesen Sie sysmouse(4)) gelinkt werden, indem Sie die folgende Zeile in `/etc/devfs.conf` (siehe auch devfs.conf(5)) hinzufügen:

link sysmouse mouse

Die Verknüpfung kann durch Neustart von devfs(5) über das folgende Kommando (als `root`) erzeugt werden:

`#` `/etc/rc.d/devfs restart`

11.5. | Kann ich meine Rad-Maus auch unter X benutzen?

Ja.

Dazu müssen Sie X nur mitteilen, dass Sie eine Maus mit 5 Tasten haben. Dazu fügen Sie die Zeilen `Buttons 5` sowie `ZAxisMapping 4 5` in den Abschnitt „InputDevice“ der Datei `/etc/X11/xorg.conf` ein. Das Beispiel zeigt, wie ein solcher Abschnitt aussehen könnte.

Beispiel 11.1. Abschnitt „InputDevice“ für Rad-Mäuse in der Konfigurationsdatei von Xorg
Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/sysmouse" Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection
Beispiel 11.2. „.emacs“ Beispiel für seitenweises Blättern mit einer Rad-Maus (optional)
;; wheel mouse (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up)

11.6. | X verbietet Verbindungen von entfernten Systemen!
| Aus Sicherheitsgründen verbietet der X-Server in der Voreinstellung Verbindungen von entfernten Systemen. Starten Sie den X-Server mit der Option `-listen_tcp`, wenn Sie Verbindungen von entfernten Systemen erlauben wollen: `%` `startx -listen_tcp`
11.7. | Was ist eine virtuelle Konsole und wie erstelle ich mehr?

Mit virtuellen Konsolen können Sie mehrere simultane Sitzungen auf einer Maschine laufen lassen, ohne so komplizierte Dinge wie die Einrichtung eines Netzwerkes oder die Benutzung von X zu benötigen.

Wenn das System startet, wird es nach der Anzeige aller Bootmeldungen eine Eingabeaufforderung auf dem Bildschirm anzeigen. Sie können dann auf der ersten virtuellen Konsole Ihren Benutzernamen und das Passwort eingeben und anfangen, zu arbeiten (oder zu spielen!).

Gelegentlich möchten Sie möglicherweise eine weitere Sitzung starten wollen, vielleicht, um die Dokumentation zu einem Programm, das Sie gerade benutzen, einzusehen, oder, um Ihre Mails zu lesen, während Sie auf das Ende einer FTP-Übertragung warten. Drücken Sie einfach Alt+F2 (halten Sie die Alt-Taste gedrückt und drücken Sie die Taste F2) und Sie gelangen zur Anmelde-Aufforderung auf der zweiten „virtuellen Konsole“! Wenn Sie zurück zur ersten Sitzung möchten, drücken Sie Alt+F1.

Die Standardinstallation von FreeBSD bietet acht aktivierte virtuelle Konsolen. Mit Alt+F1, Alt+F2, Alt+F3 und so weiter wechseln Sie zwischen diesen virtuellen Konsolen.

Um mehr von ihnen zu aktivieren, editieren Sie `/etc/ttys` (siehe ttys(5)) und fügen Einträge für `ttyv8` bis zu `ttyvc` nach dem Kommentar zu „virtuellen Terminals“ ein:

# Edit the existing entry for ttyv8 in /etc/ttys and change # "off" to "on". ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure

Benutzen Sie so wenig oder so viele, wie Sie möchten. Je mehr virtuelle Terminals Sie benutzen, desto mehr Ressourcen werden gebraucht; das kann wichtig sein, wenn Sie 8 MB RAM oder weniger besitzen. Sie können auch `secure` in `insecure` ändern.

### Wichtig:

Wenn Sie einen X-Server benutzen möchten, müssen Sie mindestens ein virtuelles Terminal unbenutzt (oder ausgeschaltet) lassen damit der Server es benutzen kann. Das heißt, dass Sie Pech haben, wenn Sie für jede Ihrer 12 Alt-Funktionstasten eine Anmeldeaufforderung haben möchten - Sie können das nur für elf von ihnen tun, wenn Sie einen X-Server auf derselben Maschine laufen lassen möchten.

Der einfachste Weg, eine Konsole zu deaktivieren, ist, sie auszuschalten. Wenn Sie zum Beispiel die oben erwähnte volle Zuordnung aller 12 Terminals hätten, müssten Sie die Einstellung für das virtuelle Terminal 12 von:

ttyvb "/usr/libexec/getty Pc" cons25 on secure

in:

ttyvb "/usr/libexec/getty Pc" cons25 off secure

ändern.

Wenn Ihre Tastatur nur über zehn Funktionstasten verfügt, bedeutet das:

ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure

(Sie können diese Zeilen auch einfach löschen.)

Die einfachste (und sauberste) Möglichkeit, die virtuellen Konsolen zu aktivieren, ist, zu rebooten. Wenn Sie jedoch auf keinen Fall rebooten möchten, können Sie auch einfach das X Window System herunterfahren und als `root`

`#` `kill -HUP 1`

ausführen.

Es ist unbedingt erforderlich, dass Sie das X Window System vollständig herunterfahren, falls es läuft. Falls Sie es nicht tun, könnte es sein, dass sich ihr System nach der Eingabe des `kill`-Befehls aufhängt.

11.8. | Wie greife ich von X aus auf virtuelle Konsolen zu?

Benutzen Sie Ctrl+Alt+F`n` um auf eine virtuelle Konsole umzuschalten. Mit Ctrl+Alt+F1 würden Sie zur ersten virtuellen Konsole umschalten.

Sobald Sie auf eine virtuelle Konsole umgeschaltet haben, können Sie ganz normal Alt+F`n` benutzen, um zwischen den einzelnen virtuellen Konsolen umzuschalten.

Um zu Ihrer X-Sitzung zurückzukehren, müssen Sie auf die virtuelle Konsole umschalten, auf der X läuft. Wenn Sie X über der Eingabeaufforderung gestartet haben (z.B. mit `startx`), benutzt X die nächste freie virtuelle Konsole und nicht die Konsole, von der es gestartet wurde. Wenn Sie acht aktive virtuelle Konsole haben, dann wird X die neunte benutzen und Sie können mit Alt+F9 umschalten.

11.9. | Wie starte ich XDM beim Booten?

Es gibt zwei Denkansätze, wie xdm(1) zu starten ist. Bei dem einen wird `xdm` unter Nutzung des mitgelieferten Beispiels über `/etc/ttys` (ttys(5)) gestartet, während beim zweiten Ansatz `rc.local` (rc(8)) oder das Skript `X` im Verzeichnis `/usr/local/etc/rc.d` verwendet wird. Beide Ansätze sind gleichwertig und der eine wird in Situationen funktionieren, in denen der andere es nicht tut. In beiden Fällen ist das Ergebnis das gleiche: X liefert eine graphische Anmeldeaufforderung.

Die ttys(5)-Methode hat den Vorteil, dass dokumentiert ist, auf welchem vty X gestartet wird und der Neustart des X-Servers beim Abmelden an init(8) übergeben wird. Die rc(8)-Methode erleichtert den Aufruf von `kill` `xdm`, falls Probleme beim Start des X-Servers auftreten sollten.

Beim Laden von rc(8) sollte `xdm` ohne irgendwelche Argumente (das heißt als Daemon) gestartet werden. Das Kommando `xdm` muss gestartet werden nachdem getty(8) läuft, andernfalls entsteht ein Konflikt zwischen `getty` und `xdm` und die Konsole bleibt gesperrt. Der beste Weg, um dies zu vermeiden, ist, das Skript für etwa zehn Sekunden anzuhalten und dann `xdm` zu starten.

Wenn Sie `xdm` durch einen Eintrag in `/etc/ttys` starten lassen, kann es zu einem Konflikt zwischen `xdm` und getty(8) kommen. Um dieses Problem zu vermeiden, sollten Sie die Nummer des `vt` in die Datei `/usr/local/lib/X11/xdm/Xservers` eintragen:

:0 local /usr/local/bin/X vt4

Diese Zeile führt dazu, dass der X Server `/dev/ttyv3` nutzt. Die beiden Zahlen weichen voneinander ab: Der X-Server beginnt die Zählung der vty bei 1, während der FreeBSD-Kernel bei 0 beginnt.

11.10. | Wieso erhalte ich die Meldung Couldn't open console, wenn ich `xconsole` benutze?

Wenn Sie X mit `startx` starten, werden die Zugriffsrechte für `/dev/console` leider nicht geändert, was dazu führt, dass Dinge wie `xterm -C` und `xconsole` nicht funktionieren.

Das hängt damit zusammen, wie die Zugriffsrechte für die Konsole standardmäßig gesetzt sind. Auf einem Mehrbenutzersystem möchte man nicht unbedingt, dass jeder Benutzer einfach auf die Systemkonsole schreiben kann. Für Benutzer, die sich auf einer Maschine direkt mit einem VTY anmelden, existiert die Datei fbtab(5), um derartige Probleme zu lösen.

In Kürze: sorgen Sie dafür, dass sich in der Datei `/etc/fbtab` eine nicht auskommentierte Zeile der folgenden Art befindet:

/dev/ttyv0 0600 /dev/console

Das sorgt dafür, dass wer auch immer sich auf `/dev/ttyv0` anmeldet, auch die Konsole besitzt.

11.11. | Früher konnte ich Xorg als normaler User starten. Warum sagt mir das System jetzt, dass ich `root` sein muss?

Alle X-Server müssen mit der ID `root` laufen, um direkt auf die Videohardware zuzugreifen.

Es gibt zwei Möglichkeiten, um X auch als normaler Benutzer starten zu können. Die erste ist die Verwendung von `xdm` oder eines ähnlichen Programms; die zweite ist die Benutzer von `Xwrapper`.

`xdm` ist ein ständig laufendes Programm, mit dem Logins über eine graphische Benutzeroberfläche sind. Es wird normalerweise beim Systemstart initialisiert und für die Authentifizierung der Benutzer und den Start ihrer Sitzungen verantwortlich. Es ist also die graphische Entsprechung von getty(8) und login(1). Weitere Informationen zum Thema `xdm` finden Sie in der Xorg Dokumentation und dem entsprechenden FAQ-Eintrag.

`Xwrapper` ist eine „Hülle“ für den X-Server. Mit diesem kleinen Utility ist es möglich, manuell den X-Server zu starten und weiterhin eine annehmbare Sicherheit zu haben. Das Tools prüft, ob die per Kommandozeile übergebenen Argumente halbwegs sinnvoll sind. Wenn dies der Fall ist, startet es den entsprechenden X-Server. Wenn Sie (aus welchem Grund auch immer) keine graphische Anmeldung wollen, ist `Xwrapper` die optimale Lösung. Wenn Sie die vollständige Ports-Sammlung installiert haben, finden Sie das Tool im Verzeichnis `x11/wrapper`.

11.12. | Warum funktioniert meine PS/2-Maus nicht richtig?

Ihre Maus und der Maustreiber sind etwas aus der Synchronisation geraten.

In seltenen Fällen kann es jedoch sein, dass der Treiber fälschlicherweise Synchronisationsprobleme meldet und Sie in den Kernelmeldungen folgendes sehen:

psmintr: out of sync (xxxx != yyyy)

und Ihre Maus nicht richtig zu funktionieren scheint.

Falls das passiert, deaktivieren Sie den Code zur Überprüfung der Synchronisation, indem Sie die Treiberangaben für den PS/2-Maustreiber auf `0x100` setzen. Rufen Sie UserConfig durch Angabe der Option `-c` am Boot-Prompt auf:

boot: `-c`

Geben sie dann in der Kommandozeile von UserConfig folgendes ein:

UserConfig> `flags psm0 0x100` UserConfig> `quit`

11.13. | Meine PS/2-Maus von MouseSystems scheint nicht zu funktionieren.

Es wurde berichtet, dass einige Modelle der PS/2-Mäuse von MouseSystems nur funktionieren, wenn sie im „hochauflösenden“ Modus betrieben werden. Andernfalls springt der Mauszeiger sehr oft in die linke obere Ecke des Bildschirms.

Das Flag `0x04` des Maustreibers bringt die Maus in den hochauflösenden Modus. Rufen Sie UserConfig durch Angabe der Option `-c` am Boot-Prompt auf:

boot: `-c`

Geben sie dann in der Kommandozeile von UserConfig folgendes ein:

UserConfig> `flags psm0 0x04` UserConfig> `quit`

Lesen Sie den vorigen Abschnitt über eine andere mögliche Ursache für Probleme mit der Maus.

11.14. | Wie vertausche ich die Maustasten?
| Benutzen Sie den Befehl `xmodmap -e "pointer = 3 2 1"` in Ihrer `.xinitrc` oder `.xsession`.
11.15. | Wie installiere ich einen Splash-Screen und wo finde ich sie?
| Die detaillierte Antwort auf diese Frage können Sie im Abschnitt Splash-Screens während des Systemstarts des Handbuchs nachlesen.
11.16. | Kann ich die Windows-Tasten unter X benutzen?

Ja, Sie müssen lediglich mit xmodmap(1) festlegen, welche Aktion diese Tasten auslösen sollen.

Unter der Annahme, dass alle „Windows“ Tastaturen dem Standard entsprechen, lauten die Keycodes für die drei Tasten wie folgt:

- 115 - Windows-Taste zwischen den Ctrl- und Alt-Tasten auf der linken Seite

- 116 - Windows-Taste rechts von der AltGr-Taste

- 117 - Menü-Taste, links von der rechten Strg-Taste

Nach der folgenden Anweisung erzeugt die linke Windows-Taste ein Komma.

`#` `xmodmap -e "keycode 115 = comma"`

Sie werden Ihren Window Manager wahrscheinlich neu starten müssen, damit diese Einstellung wirksam wird.

Um die neue Belegung der Windows-Tasten automatisch beim Start von X zu erhalten, könnten Sie entsprechende `xmodmap` Anweisungen in ihre `~/.xinitrc` einfügen. Die bevorzugte Variante ist aber, eine Datei mit dem Namen `~/.xmodmaprc` zu erzeugen, die nur die Parameter für den Aufruf von `xmodmap` enthält. Wenn Sie mehrere Tasten umdefinieren wollen, muss jede Definition in eine eigene Zeile gesetzt werden. Weiterhin müssen Sie in Ihrer `~/.xinitrc` noch die folgende Zeile einfügen:

xmodmap $HOME/.xmodmaprc

Sie könnten die drei Tasten zum Beispiel mit den Funktionen F13, F14 und F15 belegen. Dadurch ist es sehr einfach, diese Tasten mit nützlichen Funktionen eines Programmes oder Desktops zu verknüpfen.

Falls Sie das auch tun wollen, sollten in Ihrer `~/.xmodmaprc` die folgenden Anweisungen stehen.

keycode 115 = F13 keycode 116 = F14 keycode 117 = F15

Falls Sie zum Beispiel den `x11-wm/fvwm2` Port benutzen, können Sie ihn so einstellen, dass F13 das Fenster unter dem Mauszeiger minimiert bzw. maximiert. F14 holt das Fenster unter dem Mauszeiger in den Vordergrund bzw. ganz nach hinten, wenn es bereits im Vordergrund ist. F15 öffnet das Arbeitsplatz (Programme) Menü, auch wenn der Cursor nicht auf den Hintergrund zeigt. Dies ist extrem praktisch, wenn der gesamte Bildschirm von Fenster belegt wird; als kleiner Bonus gibt es sogar einen Zusammenhang zwischen dem Symbol auf der Taste und der durchgeführten Aktion.

Dieses Verhalten kann man mit den folgenden Einträgen in der Datei `~/.fvwmrc` erhalten:

Key F13 FTIWS A Iconify Key F14 FTIWS A RaiseLower Key F15 A A Menu Workplace Nop

11.17. | Wird 3D Hardware Beschleunigung für OpenGL® unterstützt?

Dies hängt davon ab, welche Version von Xorg und welche Grafikkarte Sie verwenden. Wenn Sie eine Karte mit NVIDIA-Chipsatz besitzen, benutzen Sie die binären Treiber für FreeBSD, indem Sie einen der folgenden Ports installieren:

- Die aktuelle Version von NVIDIA-Karten wird durch den Port `x11/nvidia-driver` unterstützt.

- NVIDIA Karten wie die GeForce2 MX/3/4 Serie wird durch die 96XX Treiber unterstützt, die im `x11/nvidia-driver-96xx` Port bereitgestellt werden.

- Sogar ältere Karten wie die GeForce und RIVA TNT sind durch die 71XX Treiberserie verfügbar, die im Port `x11/nvidia-driver-71xx` enthalten ist.

Tatsächlich liefert NVIDIA detaillierte Informationen darüber, welche Karte von welchem Treiber unterstützt wird. Diese Information finden Sie auf der Website von NVIDIA: http://www.nvidia.com/object/IO_32667.html.

Für Matrox G200/400 sehen Sie sich den Port `x11-servers/mga_hal` an.

Bei ATI Rage 128 und Radeon lesen Sie die Anleitungen ati(4), r128(4) und radeon(4).

Fü 3dfx Vodoo 3, 4, 5 und Banshee Karten gibt es einen `x11-servers/driglide` Port.

Zurück |  | Weiter
Kapitel 10. Systemadministration | Zum Anfang | Kapitel 12. Netzwerke

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.