Running X11 - 4. X11 starten
4.1 Den Display-Server starten
X11 kann unter Mac OS X auf drei Arten gestartet werden.
        Die erste Art ist die X11-Applikation zu starten, d. h. ein
        Doppelklick auf das Programm im Finder. Unter 10.5-10.7 ist das
        typischerweise
        /Applications/Utilities/X11(.app), oder
        /Applications/Utilities/XQuartz(.app), wenn
        man Xquartz benutzt (also unter 10.8).
      
        Die zweite Art ist die Eingabe des Kommandos startx in
        einem Terminalfenster.
      
Die dritte Art ist, einfach ein Programm in einem Terminalfenster zu starten, das X11 benötigt. Ab 10.5 startet dies automatisch einen X11-Server.
4.2 Modifikationen des Starts über das .xinitrc.d Verzeichnis
        Für derzeitige Versionen von X11 ist die bevorzugte Methode seinen
        Start zu modifizieren, ein Verzeichnis
        .xinitrc.d im $HOME Verzeichnis anzulegen und
        mit ausführbaren Skripten zu füllen, die die Programme starten,
        die man beim Start haben möchte, einschließlich
        Fensterverwaltungen.
      
        Wichtig: Hinter Programmen, die keine Fensterverwaltungen
        sind, muss ein '&'stehen. Andernfalls blockieren sie die
        Ausführung anderer Programme, auch Fensterverwaltungen.
        Fensterverwaltungen dürfen kein '&' hinter ihrem
        Namen haben, ansonsten bleiben sie nicht laufen, außer es gibt
        eine Sessionverwaltung, die nach ihr startet. Das Programm
        xinit interpretiert diese Situation so, dass
        nach dem Ende der Session auch der X-Server beendet werden soll.
      
        Beispiel: Soll die Fensterverwaltung
        WindowMaker mit dem Start des X11-Server
        starten, geben sie folgende Komanndos ein:
      
mkdir -p $HOME/.xinitrc.d nano $HOME/.xinitrc.d/94-wmaker.sh
        Sie können auch ihren Lieblingseditor statt nano verwenden.
        Tragen sie folgenden Inhalt in 94-wmaker.sh
        ein:
      
. /opt/sw/bin/init.sh quartz-wm --only-proxy & exec wmaker
Speichern sie die Datei und führen sie folgendes Kommando aus:
chmod a+x 94-wmaker.sh
        Damit wird das Skript ausführbar. (quartz-wm
        --only-proxy wird in einem späteren Abschnitt diskutiert).
      
        Beispiel: Soll das Programm xlogo mit dem
        Start des X11-Server starten, geben sie folgende Komanndos ein:
      
mkdir -p $HOME/.xinitrc.d nano $HOME/.xinitrc.d/74-xlogo.sh
        (wie oben: wenn sie wollen, nehmen sie ihren Lieblingseditor).
        Tragen sie folgenden Inhalt in 74-xlogo.sh
        ein:
      
. /opt/sw/bin/init.sh xlogo &
Speichern sie die Datei und führen sie folgendes Kommando aus:
chmod a+x 74-xlogo.sh
Damit wird das Skript ausführbar.
        Erstellen sie die beiden Skripts, resultiert daraus, dass beim
        Start von X11 das Programm xlogo ausgeführt
        wird und dann die Fensterverwaltungwmaker.
      
        Beispiel: Vollständige GNOME-Session. Erzeugen sie die
        ausführbare Datei 94-gnome-session.sh mit
        folgendem Inhalt:
      
. /opt/sw/bin/init.sh quartz-wm --only-proxy & metacity & exec gnome-session
        Beispiel: "rootless" GNOME-Session. Erzeugen sie die ausführbare
        Datei 94-gnome-panel.sh mit folgendem Inhalt:
      
. /opt/sw/bin/init.sh quartz-wm --only-proxy & metacity & exec gnome-panel
        Beispiel: KDE3. Erzeugen sie die ausführbare Datei
        94-startkde.sh mit folgendem Inhalt:
      
. /opt/sw/bin/init.sh exec startkde
        (startkde startet automatisch eine Fensterverwaltung und nutzt
        quartz-wm --only-proxy)
      
        Beispiel: KDE4. Erzeugen sie die ausführbare Datei
        94-startkde.sh mit folgendem Inhalt:
      
. /opt/sw/bin/init.sh exec /opt/sw/opt/kde4/x11/bin/startkde
Beachte:
- 
          Beginnen sie jedes Skript mit . /opt/sw/bin/init.sh. Damit wird sicher gestellt, dass auch Programme aus dem Fink-Baum gefunden werden.
- Die Skirpte werden in ASCII Reihenfolge ausgeführt. Benutzen sie Prefixes, um die Reihenfolge zu ändern, wie oben mit '74'und '94'.
- 
          Die Skripte müssen ausführbar sein und die Datei-Endung
          .shhaben. Mit einer Änderung der "execute permissions" kann man die Ausführung der Skripte und Programme steuern, ohne die Skripte zu löschen.
- 
          Fink's xinitrcPaket, das in den Abhängigkeitsketten von GNOME und KDE ist, überschreibt das voreingestellte Verhalten von X11, zum Beispiel das für Nutzer-Modifikationen. Wir empfehlen, dieses Verhalten wieder einzuschalten, wie im Abschnitt über das Fink Paket 'xinitrc' beschrieben.
4.3 Die Datei .xinitrc
Notiz: Es ist besser, mit Skripten im Verzeichnis $HOME/.xinitrc.d zu arbeiten.
        Existiert eine Datei mit dem Namen .xinitrc im
        Heimatverzeichnis, wird sie benutzt, um X-Klienten zu starten, eine
        Fensterverwaltung, einige xterm Terminals oder eine
        Schreibtischumgebung wie GNOME. Die Datei
        .xinitrc ist ein
        /bin/sh-Skript mit den Kommandos dafür. Das
        übliche #!/bin/sh in der ersten Zeile wird nicht
        benötigt; die Datei muss auch nicht ausführbar sein.
        xinit wird die Datei immer mit der Shell
        /bin/sh ausführen.
      
        Gibt es keine Datei .xinitrc im
        Heimat-Verzeichnis und auch kein Verzeichnis $HOME/.xinitrc.d, dann benutzt X11 die
        Voreinstellungen in der Datei
        /usr/X11/lib/X11/xinit/xinitrc. Die
        Voreinstellungen kann man auch gut als Ausgangspunkt für eine
        eigene Datei .xinitrc verwenden: 
cp /usr/X11/lib/X11/xinit/xinitrc ~/.xinitrc
        Damit auch Fink-Programme in .xinitrc
        funktionieren, sollte gleich am Anfang der Datei die Zeile .
        /opt/sw/bin/init.sh stehen, damit die Umgebung korrekt
        aufgesetzt wird.
      
        Man kann so ziemlich alles in die Datei
        .xinitrc schreiben, aber einiges sollte man
        dabei doch beachten. Erstens: Die Shell, die die Datei abarbeitet,
        wartet bis bei jedem Programm bis es beendet wird, bevor das
        nächste Programm gestartet wird. Sollen mehrere Programme
        parallel laufen, muss man der Shell mitteilen, sie in den
        Hintergrund zu verschieben, indem man am Ende der Zeile ein
        & anhängt.
      
        Zweitens: xinit Wartet bis das Skript in
        .xinitrc beendet ist und inerpretiert diese
        Situation, dass die Session beendet ist und der X-Server jetzt auch
        beendet werden soll. Dies bedeutet, dass das letzte Kommando in
        .xinitrc nicht im Hintergrund ablaufen sollte
        und ein langlebiges Programm sein sollte. Üblicherweise ist es
        die Fensterverwaltung oder die Schreibtischumgebung. Tatsächlich
        gehen die meisten Fensterverwaltungen und Schreibtischumgebungen
        davon aus, dass xinit auf ihr Ende wartet und dies
        für den "Log Out" Eintrag in ihren Menus nutzen. (Notiz: Man kann
        etwas Speicher und CPU-Last zu sparen, wenn man exec
        an den Anfang der letzten Zeile schreibt, so wie in den folgenden
        Beispielen.)
      
Beispiel: Schalte die X11-Klingel aus, starte einige Klienten und zum Schluss die Fensterverwaltung "Enlightenment":
. /opt/sw/bin/init.sh xset b off xclock -geometry -0+0 & xterm & xterm & exec enlightenment
Beispiel: GNOME starten:
. /opt/sw/bin/init.sh quartz-wm --only-proxy & metacity & exec gnome-session
Zum Schluss: KDE3 starten:
. /opt/sw/bin/init.sh exec startkde
4.4 Das Fink-Paket 'xinitrc'
        Manche Fink-Pakete müssen beim Start von X11 einige Aktionen
        ausführen. Dafür gibt es ein Paket namens xinitrc
        (zugegebenermaßen etwas verwirrend). Eine Nebenwirkung bei der
        Installation dieses Pakets, das in der Abhängigkeitskette von
        GNOME und KDE ist, dass die voreingestellte Ausführung der Skripte
        in $HOME/.xinitrc.d. Es gibt einige Methoden,
        mit denen man den Start von X11 modifizieren kann und
        Fink-Paketen erlauben kann, ihre Start-Aktionen auszuführen:
      
- 
          Das Paket xinitrcenthält Einsprungspunkte für Administratoren. Erzeugen sie die Datei/opt/sw/etc/xinitrc-last-hookals Administrator mit folgendem Inhalt:#!/bin/sh . /usr/X11/lib/X11/xinit/xinitrc.d/98-user.sh Damit hat man das urspüngliche Verhalten, dass im Verzeichnis $HOME/.xinitrc.dnach ausführbaren Skripten gesucht wird.
- 
          Erzeugen sie die Datei $HOME/.xinitrcwie im Abschnitt .xinitrc beschrieben. Finks Paketxinitrcüberschreibt die Voreinstellung des Systems mit seiner eigenen Version und damit nutzt man die Version von Fink.Der richtige Platz für zusätzliche Programme, die sofort ausgeführt werden sollen, ist vor folgender Zeile: # start the window manager 
Weiter: 5. Andere Möglichkeiten mit X11
 
	 
	 
	 
	 
	 
	 
	 
	 
	 Druckreife Version
				Druckreife Version