Safari per (Shell-) Script bei Anmeldung starten

Dieses Thema im Forum "Mac OS X - Unix & Terminal" wurde erstellt von dylan, 14.07.2005.

  1. dylan

    dylan Thread Starter MacUser Mitglied

    Beiträge:
    6.175
    Zustimmungen:
    1
    MacUser seit:
    18.12.2002
    Hallo allerseits! :D

    Irgendwie "hänge" ich bei einem kleinen Konstrukt. Ich habe das Thema mal unter "Mac OS X" geparkt, weil es im wesentlichen zwar um ein Shell- oder von mir aus gerne auch ein AppleScript geht, aber im Allgemeinen den Startvorgang bei OS X beschreibt.


    Aufgabenstellung

    Wenn sich ein User am Rechner (MacOS 10.3.9) anmeldet, soll Safari gestartet und eine bestimmte Seite aufgerufen werden.

    Problem

    Die User-Accounts sind alle "verwaltet", was eine Bearbeitung der Startobjekte a) im Nachhinein durch den User und b) per Remote durch den Admin schier unmöglich macht. Eine Änderung der Startobjekte des Users und eine Änderung der Startseite des Browsers würde übrigens das Problem auch lösen. Vorschläge hierfür machen also den Rest des Textes überflüssig und sind natürlich gerne willkommen.

    Lösungsansatz

    Ein LoginHook Shell-Script soll Safari starten und die Seite aufrufen, danach aber das Terminal beenden, um dem User das Leben nicht unnötig zu "erschweren". :D

    Was bisher getan wurde

    1. Ordner "/Library/Management" erstellt

    2. Script erstellt:

    #!/bin/sh
    # Safari starten und eine Seite im internen Netz öffnen

    open -a Safari http://10.5.10.10/Pfad/Datei.php

    # Terminal beenden
    killall Terminal


    (Ob die Syntax für einen LoginHook nicht anders sein müsste, weiß ich nicht. Aufklärung willkommen).

    Das Script als "scriptname.sh" gesichert und in den Ordner /Library/Management/ gelegt

    Es ausführbar gemacht mit:

    sudo chmod u+x /Library/Management/scriptname.sh

    D. Die Ausführung des Scripts getetest durch:

    sudo /Library/Management/scriptname.sh user

    (wobei "user" wirklich der Kurzname des Benutzers auf meinen Clients ist. Das hat dann auch einwandfrei geklappt, mit UID ebenfalls)

    3. Das LoginHook des loginwindow angepasst durch:

    sudo defaults write com.apple.loginwindow LoginHook /Library/Management/scriptname.sh


    Wirkung

    Bei Ab- und erneuter Anmeldung bzw. bei Neustart des Adminusers und des Clientusers passiert: gar nix. :(

    Alternativen

    Da ich mir dachte, dass eventuell dem ClientUser das Script nur unter dem environment von root zur Verfügung gestellt wird, wird dem User auch nichts "präsentiert". Beim Adminuser das selbe Ergebnis. Zumindest dürfte aber dann bei diesem Ansatz des Users eigene Bookmarks nicht zu sehen sein und wenn der User mit dieser Instanz von Safari Dateien speichert, er selbst später nicht mehr dran kommen, weil die dann root gehören.

    Eventuell könnte das ja dann so aufgerufen werden:

    su `whoami` -c /Applications/Safari.app/Contents/MacOS/Safari /Volumes/Festplatte/usr/local/etc/Pfad/website.webloc

    wobei `whoami`den aktuellen User geben sollte. Allerdings lädt Safari dann leider die WebSite nicht, sondern präsentiert nur ein leeres Fenster.
    website.webloc ist ein Safari-Bookmark File. Sobald ich Safari mittels su starte nimmt es keine weiteren Parameter mehr an. Wenn mann Safari dagegen so startet:

    /Applications/Safari.app/Contents/MacOS/Safari $websiteDir &

    ...dann könnte Safari und $websiteDir laden, aber es wäre wohl erneut nicht das Environment des Users gesetzt.

    Und nun die Frage:

    Kann mir jemand weiterhelfen? :D

    Ich glaube, ich mache einfach nur einen dummen Denkfehler, weil ich mich irgendwo verrannt habe, sehe ich das eigentlich Problem nicht mehr.

    Besten Gruß,

    Dylan
     
    Zuletzt bearbeitet: 14.07.2005
  2. IceHouse

    IceHouse MacUser Mitglied

    Beiträge:
    686
    Zustimmungen:
    22
    MacUser seit:
    03.06.2002
    ...geloescht... nicht die richtige Loesung.

    Gruss von IceHouse
     
    Zuletzt bearbeitet: 14.07.2005
  3. dylan

    dylan Thread Starter MacUser Mitglied

    Beiträge:
    6.175
    Zustimmungen:
    1
    MacUser seit:
    18.12.2002
    Oh wie frech von mir:

    P-U-S-H-!

    ;)


    Ehrenwerte Mods: ist das Thema vielleicht nicht doch besser unter "Unix" aufgehoben?

    Schönen Gruß,

    :)

    Dylan
     
  4. mackay

    mackay MacUser Mitglied

    Beiträge:
    2.436
    Zustimmungen:
    7
    MacUser seit:
    05.01.2003
    Wenn du es wünscht,
    schieb ich dich mal dahin ;)
     
  5. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.810
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    kleiner tipp:
    in solchen skripten musst du immer die kommandos, die nicht in der shell eingebaut sind, mit vollen pfad angeben...
    /usr/bin/open

    ansonsten probier doch einfach mal mit "defaults" den usern eine startup page zu verpassen...
     
  6. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Ich habe ein Verständnisproblem:
    Was ich nicht verstehe ist ob Du derjenige bist der die Startobjekte verwaltet, wenn ja, wieso ist es schwierig etwas im Nachhinein bzw. Remote zu ändern? Oder bist Du ein verwalteter User der gegebene Einstellungen ändern will?

    Davon (Verständnis) abhängig ist ja der Lösungsweg.

    Grüße,
    Flo
     
  7. dylan

    dylan Thread Starter MacUser Mitglied

    Beiträge:
    6.175
    Zustimmungen:
    1
    MacUser seit:
    18.12.2002
    Hallo Flo,

    ich bin der Admin. Die User-Accounts sind "verwaltet" (System Preferences/Users), aber nicht mobil.

    Kennst du einen Weg, die Startobjekte des Users inkl. Startseite* zu ändern? Die anderen Safari-Einstellungen inkl. Bookmarks sollten auf keinen Fall verloren gehen.


    *müsste in der com.apple.internetconfig.plist festgelegt sein, eine Änderung dieser hatte bei mir aber ebenfalls keine Auswirkung. (?)

    Ich weiß, dass ich irgendwo nur einen kleinen Hänger oder Denkfehler habe, aber irgendwie sehe ich den Wald vor lauter Bäumen im Moment nicht...

    Schönen Gruß,
    Dylan
     
  8. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    OS X Server? Ich glaube ich stehe auch grad auf dem Schlauch. :)

    Grüße,
    Flo
     
  9. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.810
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    defaults write com.apple.internetconfigpriv WWWHomePage URL

    kann sein, dass du eventuell noch die startpage in safari anschalten musst, falls die auf leer steht oder so...
     
  10. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Bin noch am suchen, aber evtl. hilft ja dieser Link:
    http://www.macosxhints.com/article.php?story=20050316020738829&query=command+line+startup+items
    Ich würde versuchen auf diese Art eine Standard loginwindow.plist zu machen (EDIT: in der dann u.a. der Link zur gewünschten Site drinsteht, der ja dann eh von Safari(?) geöffnet wird, so sollte sich die Startseite(n-problematik) "umschiffen" lassen), und diese dann einfach in die entsprechenden Userverzeichnisse zu kopieren, oder an eine zentrale Stelle, falls alle die gleiche benutzen.

    Falls es nicht hilft...weiterdenken... :)

    Grüße,
    Flo
     
    Zuletzt bearbeitet: 15.07.2005
Die Seite wird geladen...

Diese Seite empfehlen