Grafisches System X

Aufbau
XF86Config und Schriftarten
Display Manager
WindowManager
X Server XFree86
X auf Fremdrechner ausführen und lokal anzeigen lassen
X-Client
thema7
thema8

 

Aufbau

 

Linux-User wollten nicht nur von einer Terminalsitzung zur Anderen springen, sondern bequem mehrere Sitzungen im Blick haben und Texte kopieren. Das X-System setzt deshalb erst hinter der shell an. Der Aufbau von Linux sieht folgendermaßen aus:
Hardware->kernel->shell->X->Displaymanager->WindowManager

Weitere X-Server sind: cygwin, vmware. Vergleichbar ist ssh, aber Grafisch. Port 600n, n=Servernummer

Display-Server -> X-Protokoll -> Client
X-Protokoll kann z.B. mit TCP/IP kommunizieren
X-Server=Display-Server=dummes Terminal; Achtung, Terminologie ist irreführend, da man auf dem XServer real arbeitet, der XClient dagegen die Prozesse verarbeitet. Client=X-server und Server=Xclient!

Zur Inbetriebnahme braucht man folgende Angaben:
Tastatur, Maus, Graphikkarte, Monitor

Der eigentliche X-Server heißt ab Version 4.0 /usr/X11R6/bin/XFree86. Module zu der Hardware werden nachgeladen. Bei Debian gibt es ein kleines Ladeprogramm /usr/X11R6/bin/X.

Die grafische Oberfläche wird meist mit dem Befehl startx aufgerufen und kann mit Alt-F7 angesprungen werden. Von der grafischen Oberfläche aus springt man zu den Terminals 1-6 mit Alt-Strg-F1 (oder auch Alt-Strg-F6).

Seitenanfang oder Hauptseite

XF86Config und Schriftarten

Die Einstellungen können in /etc/X11/XF86Config manuell bearbeitet werden. Im Abschnitt Files liegen die Pfade zu den Verzeichnissen, in denen die Schriften liegen, der Pfad zu der Datei, mit den Farbbeschreibungen und eventuell der Pfad zu dem Verzeichniss, das die Module für den Server enthält.

sax2

sax2 -a -r automatisch, nicht interaktiv, Reinitialisierung der HardwareDatenbank
sax2 -l Standardeinstellungen, 640x480, 60Hz

Fonts

Die Angaben zu den Fontpath sieht etwa so aus:
FontPath="/usr/X11R6/lib/X11/fonts/local/"
"/usr/X11R6/lib/X11/fonts/misc/"
Der Pfad zu einem Fontserver kann mit xset +fp neuer_Pfad erweitert werden.
Eine Veränderung der Datei wird erst mit neuem Starten von X wirksam.

Schriftnamen haben folgende Form:

 Hersteller   Gewicht Breite     Pixels  XAufl Sp     Zeichensatz
    |           |        |         |      |     |        |
  -b&h-lucida-medium-r-normal-sans-18-180-75-75-p-106-iso8859-1
         |           |          |      |     |     |          |
     Schriftart    Neigung    Stil   Punkte YAufl Durchschn. Optionen des
                                                  Zeichen-   Zeichensatzes
                                                  breite

Um eine Schriftart hinzuzufügen, muß zuerst das Programm mkfontdir Verzeichnis ausgeführt werden, danach wird der Pfad mit xset +fp neuer_Pfad eingetragen oder X neu gestartet. Es gibt Bitmap-Fonts und skalierbaren Schriften.

Da X über das Netz gestartet werden kann, gibt es die Möglichkeit einen zentralen Fontserver xfsr ins Netz zu stellen. Die zugehörige Konfigurationsdatei heißt /usr/X11R6/lib/X11/fs/config, neuer /etc/X11/xfs.conf oder /etc/X11/fs/config.
Nach Aufruf von z.B. xfs -config /etc/X11/fs/config -daemon ist der Fontserver aktiviert und hört auf den TCP-Port 7100.
Jeder X-Server im Netz kann mit dem Eintrag FontPath "TCP/Rechnername:7100" in der Datei XF86Config diesen Fontserver benutzen.
Mit der Datei .Xresources kann eine Schrift an eine Anwendung gebunden werden.

Font-Server und Client

man 1 xfs
/usr/X11R6/lib/X11/fonts
/usr/X11R6/lib/X11/fsconfig
/etc/X11/fs/config # no-listen=tcp , auskommentieren, damit er im Netz arbeitet
xfs -config /etc/X11/fs/config benutze diese Datei

Client: /etc/X11/XF86Config FontPath „tcp/servername:7100“ , – Reihenfolge ist wichtig, server+lokal

Seitenanfang oder Hauptseite

Display Manager

Mit dem shellscript startx ruft man xinit auf. xinit wiederum ruft den X-Server und den Window-Manager auf und enthält die Einstellungen der Desktop Umgebung bereit. Die Einstellungen werden über die Datei .xinitrc im home-directory des users gespeichert.
Wegen Sicherheitsbedenken wird X über einen Daemonprozess, dem X-Display-Manager, in der RunlevelVerwaltung(Standard rl5) mit einem init-Script gestartet.
Debian startet X grundsätzlich, sobald das Paket installtiert wurde.

3 übliche Displaymanager werden angeboten: xdm, gdm, kdm. Das jeweilige Konfigurationsverzeichnis findet man unter etc/X11/?dm.
gdm und kdm bieten einige interessante Zusatzfeatures:
User werden als Bilder dargestellt und können angeklickt werden, statt den Usernamen direkt einzugeben.
Der gewünschte Window-Manager der zu startenden X-Session kann per Menü ausgewählt werden.
Das System kann heruntergefahren oder neu gestartet werden, ohne sich vorher einloggen zu müssen.

Seitenanfang oder Hauptseite

 

WindowManager


startx -> ~/.xinitrc oder /etc/X11/xinit/.xinitrc exec $WINDOWMANAGER -> /usr/X11R6/bin/kde
Reihenfolge in ~/.xinitrc festgelegt, wenn kde vorhanden, nimm den, sonst den Nächsten
Alternativ: export DISPLAY=:0; exec /usr/X11R6/bin/kde
xhost +10.6.3.5 -192.168.6.50 +darf, - nicht mehr den Server benutzen
xhost + alle dürfen den Server benutzen
xhost - keiner darf, außer 127.0.0.1

/etc/sysconfig/displaymanager Anmeldebildschirm: xdm, kdm, gdm
kde, gnome, twm, icewm, fvwm, fvwm95 mögliche WINDOWMANAGER

Seitenanfang oder Hauptseite

 

X Server XFree86

Der X-Server bestimmt den Umgang mit dem Monitor(Horizontal, Vertikal, Farbe, Hz), der Grafikkarte, der Maus und Tastatur, Joystick, Grafiktablett.
X wurde ursprünglich entwickelt, um 2 shells nebeneinander zu betreiben. Auf X laufen jeweils verschiedene WindowManager, hier in Reihenfolge der Funnktionalität, Komplexibilität und Größe: twm,fvwm1, fvwm2, CDE, WindowMaker, IceWm, Gnome Sawfish, Gnome enlightment, KDE. Jedes Programm kann man nur auf einem Rechner sehen.
Der Windowmanager bestimmt das Aussehen, die Bedienung, den Komfort und die Konfiguration.

Der alte X-Server X11R6 3.3.x hat viele, zu ladende Dateien, kann nur ausgewählte Grafikkarten bedienen und wird konfiguriert mit xfree86,XF86Setup und Sax(SuSE), dexconfig(Debian), Xconfiguration(RedHat).
Der neue X-Server lädt nur 1 Datei, hat eine offene Schnittstelle zur Grafikkarte, wird konfiguriert mit XFREE86 und Sax2.

.xinitrc
xhost +10.6.3.5 -192.168.6.50 der Bereich 3.5-6.50 darf zugreifen, die Anderen nicht
xhost + hier dürfen alle zugreifen, was nicht empfohlen wird
~/xinitrc startet Tastatur vorbereitet, Cursor, Schriften, # add your own lines here(hier xhost +10.0.0.15(Zugriff erlauben)) ,KDE(Windowmanager) wird gestartet

xinit Initialisierung von X oder init 5
Die Maus auf das Fenster schieben und einen Befehl eingeben.
xclock -g 200x200 +10 -200 & Befehl HöhexBreite +nachLinks-nachRechts +nachOben-nachUnten hg, (mit fg nach vorne holen)
xterm, xcalc, xeyes

/usr/X11R6/bin/X Diplayserver, slink -> /var/X11R6/bin/X, slink -> /usr/X11R6/bin/XFree86
Verzeichnis /usr ist ev. ro gemountet, deshalb -> /var, dort sind die Grafikkarten, aber Vergangenheit, deshalb heutzutage -> /usr.
Grafikkarten in /usr/X11R6/lib/modules/drivers

/usr/X11R6/bin/XFree86 [:Servernummer] X-Server Aufruf
export DISPLAY=“:1“ Variable für die Programme auf XClient
xterm XClient
twm -display :1 & XClient

/etc/X11/XF86config systemweite Konfigurationsdatei für X-Server, alt: /etc/XF86config
/etc/X11/XF86setup oder /etc/X11/xf86cfg
/etc/X11/xvidtune feintuning

/usr/X11R6/bin/startx kde :1 script ruft -> /X11R6/bin/xinit -> /usr/X11R6/bin/XFree86 -> ~/xinitrc(und Andere Dateien), mehrere WindowManager sind möglich :0=F7(default), :1=F8, :2=F9, bis :5, ruft KDE auf

startx kdm zur Auswahl des Windowmanager und login, ist auch mit xdm oder gdm möglich

Seitenanfang oder Hauptseite

X auf Fremdrechner ausführen und lokal anzeigen lassen

ssh 123.123.123.123 Name, Passwort
export DISPLAY=dozentRechner:1 :1 ist der 2. X-server(Voreinstellung DISPLAY=“0:0“)
xeyes & Programm auf 2. X-server

auf 138: X-Server
/usr/X11R6/bin/X Minimalaufruf des Diplayserver auf host138, normalerweise wird nur 127.0.0.1 akzeptiert, mehrere Aufrufe sind möglich, für Scriptverarbeitung
export DISPLAY=:0 lokale Anzeige innerhalb der subshell, für Änderung (export DISPLAY=“192.168.6.130:0“ = alle x-programme werden nach 130 umgeleitet
xhost +192.168.6.130 130 darf
xhost + jeder darf alles, nicht empfohlen
xterm starten
/usr/X11R6/bin/kde Fenstermanager(kde,gnome,twm) starten, zum Dekorieren des Programms
Programm starten

auf 130: Xclient
export DISPLAY=“192.168.6.138:0“
make xconfig Programm läuft auf Host130, fragt nach $DISPLAY-Variable(echo $DISPLAY)

vncviewer-fullscreen-start-script :
/usr/X11R6/bin/XFree86 :0 vt7 &
sleep 5
vncviewer -viewonly -display :1 -fullscreen -geometry -depth 16 -passwd /root/.vnc/passwd 192.168.6.13:1 &

/etc/init.d/xdm-sript:
/usr/X11R6/bin/XFree86 :0 &
sleep 5
export DISPLAY=:0
/usr/X11R6/bin/kde &

Seitenanfang oder Hauptseite

X-Client

xterm, make xconfig
Hier laufen die Programme ab, wird Speicher benötigt.

Als X-Clients werden auch Programme benannt, die mit einem Windowmanager zusammenarbeiten.
x-term -geometry 80x25 x-term ist Zeichenorientert=80x25 Pixel
/usr/X11R6/rgb.txt Farben
~/.Xrecource oder ~/Xdefaults Feste Einstellungen für den user(Farbe, Größe, Font, lpr -P lp1, etc.)
xterm -display HOSTNAME:SERVERNUMMER.DISPLAYNUMMER
Name oder IP: Nr.des X-Servers: .0 für 1. Grafikkarte, Monitor
Weglassen=localhost: muß angegeben werden. Weglassen=1. Monitor
xterm -display 127.0.0.1:0.0 =xterm -display :0
xterm -e su -l dirk xterm + Programm: als user dirk starten, ist aber nicht Standard

Seitenanfang oder Hauptseite

thema2

text

 

Seitenanfang oder Hauptseite