Beschreibung

Ein Startobjekt wird beim Hochfahren des Systems bzw. beim Einloggen eines Nutzer automatisch geladen. In Mac OS X wird zwischen Login- und Startobjekten unterschieden.

Inhalt (hide)

  1.   1.  Login-Objekte
  2.   2.  Start-Objekte
    1.   2.1  Ausführbare Datei
    2.   2.2  StartupParameter.plist

1.  Login-Objekte

Login-Objekte werden beim Einloggen eines Nutzers automatisch gestartet. Sie sind meist Programme mit einem GUI und laufen mit den Rechten des eingeloggten Benutzer. Sie sind mit den aus Mac OS Classic bekannten Startobjekten zu vergleichen (s.u.).

Je nach Mac OS X Version lassen sie sich komfortabel in den Systemeinstellungen einbinden:

In der dort befindlichen Liste können Startobjekte mittels der Plus- und Minusbuttons oder per Drag und Drop eingefügt werden. Außerdem kann man mit der rechten Maustaste oder in Verbindung mit der CTRL-Taste das Kontextmenü eines Programms, z.B. direkt im Dock, öffnen und -Bei der Anmeldung öffnen- auswählen.

Die ausgeführte Aktion ist dabei von der Art abhängig

  • Programm -> starten
  • Datei -> öffnen
  • Netzwerkvolume -> mounten
  • Festplattenabildung -> mounten

Das Anzeigen des Startobjektes (Programmfenster etc.) kann durch ein Häkchen in der Ausblenden Spalte beeinflußt werden.

Programme können bei der Installation auch selbststätig im Hintergrund laufende Hilfsprogramme in die Login-Objekte eintragen, deren Zuordnung nicht auf den ersten Blick möglich ist. Verweilt der Mauszeiger über einem Eintrag, kann jedoch durch den angezeigten Pfad ermittelt werden, zu welcher Anwendung ein solcher Helfer gehört.

Die auf diese Weise beschriebenen Startobjekte werden physikalisch in der Datei ~/Library/Preferences/loginwindow.plist eingetragen. Löscht man diese Dateien, werden alle Startobjekte aus der Benutzereinstellung entfernt und eine neue loginwindow.plist angelegt.

Auf Systemebene existiert die Datei /Library/Preferences/loginwindow.plist. Diese ist nicht direkt zugänglich und läßt sich nur mittels Property List Editor oder Texteditor bearbeiten.

2.  Start-Objekte

Die im folgenden beschriebenen Startobjekte werden auf der Unixebene eingebunden. Diese Startobjekte besitzen in der Regel kein Interface und können mit unterschiedlichen Benutzerrechnten ausgeführt werden. Sie können nach der Abarbeitung beendet werden, oder verbleiben als Prozesse im Hintergrund aktiv.

Es existieren drei Arten von Startobjekten:

Systemebene
Von Apple bereit gestellte und beim Booten von Mac OS X benötigte Startobjekte befinden sich in System/Library/StartupItems. Mit Mac OS X 10.4 wurden diese Startobjekte teilweise durch Nutzung von launchd ersetzt.
Alle Benutzer
Startobjekte, welche für alle Benutzer geladen werden sollen, befinden sich in Library/StartupItems
Einzelner Benutzer
Die nur für den jeweiligen Nutzer gültigen Startobjekte befinden sich in ~/Library/StartupItems
Achtung: An die oben genannten Plätze können nicht wie unter Mac OS X Classic Programmaliase o.Ä. geworfen werfen. Diese Funktion übernehmen die Login Objekte (s.o.).

Am einfachsten läßt sich die Funktionsweise am Beispiel erklären. Dazu wird das mitgelieferte Startobjekt für den Apache Webserver betrachtet. Es befindet sich in /System/Library/StartupItems/Apache

Das Startobjekt besteht aus verschiedenen Objekten:

  1. Einem Ordner Apache, welcher enthält
  2. eine ausführbare Datei Apache
  3. eine Property List StartupParameter.plist

Falls diese Mindestkriterien erfüllt sind, kann das Startobjekt mittels SystemStarter start Apache manuell gestartet werden. Das Terminalprogramm SystemStarter befindet sich in /sbin/

2.1  Ausführbare Datei

 #!/bin/sh

 ##
 # Apache HTTP Server
 ##

 . /etc/rc.common

 StartService ()
 {
    if [ "${WEBSERVER:=-NO-}" = "-YES-" ]; then
        ConsoleMessage "Starting Apache web server"
        if [ ! -e /etc/httpd/httpd.conf ] ; then
                cp -p /etc/httpd/httpd.conf.default /etc/httpd/httpd.conf
        fi
        apachectl start
        if [ "${WEBPERFCACHESERVER:=-NO-}" = "-YES-" ]; then
            if [ -x /usr/sbin/webperfcachectl ]; then
                ConsoleMessage "Starting web performance cache server"
                /usr/sbin/webperfcachectl start
            fi
        fi
    fi
 }

 StopService ()
 {
    if [ -x /usr/sbin/webperfcachectl ]; then
        ConsoleMessage "Stopping web performance cache server"
        /usr/sbin/webperfcachectl stop
    fi
    ConsoleMessage "Stopping Apache web server"
    apachectl stop
 }

 RestartService ()
 {
    if [ "${WEBSERVER:=-NO-}" = "-YES-" ]; then
        ConsoleMessage "Restarting Apache web server"
        apachectl restart
        if [ "${WEBPERFCACHESERVER:=-NO-}" = "-YES-" ]; then
            if [ -x /usr/sbin/webperfcachectl ]; then
                ConsoleMessage "Restarting web performance cache server"
                /usr/sbin/webperfcachectl restart
            fi
        fi
    else
        StopService
    fi
 }

 RunService "$1"

Die ausführbare Datei ist am einfachsten mittels Shell Script realisiert, welches mit

 #! /bin/sh 

beginnt.

StartupItems kann drei Befehle handeln: start, stop und restart. Die drei Routinen im Shellscript enthalten die dazu korrespondierenden Befehle.

Die Verwendung von . /etc/rc.common ermöglicht die Ausgabe mittels ConsoleMessage und den Befehl RunService "$1".

...

2.2  StartupParameter.plist

 {
   Description     = "Apache web server";
   Provides        = ("Web Server");
   Requires        = ("DirectoryServices");
   Uses            = ("Disks", "NFS");
   OrderPreference = "None";
 }

Die Datei enthält eine Beschreibung des Startobjektes sowie den bereitgestellten Dienst. Requires gibt die für Apache benötigten Module an. Können diese nicht gestartet werden, startet auch Apache nicht. Uses gibt die von Apache verwendeten Module an. Können diese nicht gestartet werden, startet Apache jedoch trotzdem. Als schwacher Parameter kann OrderPreference den Startzeitpunkt beeinflußen. Mögliche Werte sind First, Early, None (standard), Late, Last.

Aus Requires, Uses und OrderPreference ermittelt Mac OS X beim Booten die Abhängigkeiten zwischen den Startobjekten und führt diese in der korrekten Reihenfolge aus. Als Abgrenzung dazu existiert kein Mechanismus zum Auflösen möglicher Abhängikeiten in den Login-Objekten.

Verweise

Mac OS Classic

Die Handhabung der Startobjekte in Mac OS Classic ist denkbar einfach: Das Objekt wird in den Ordner "Startobjekte" im "Systemordner" gelegt, um direkt nach dem Finder gestartet zu werden.

Kategorie
Betriebssystem

FooterBadgetsFct('Diskussion') FooterBadgetsFct('Rezension')

Zuletzt geändert am 01.06.2012 11:31 Uhr von Schlaefer (4 Besuche)

© 2004 – 2018 ApfelWiki

Impressum - Datenschutz

cb