1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Programm als anderer Benutzer starten (RunAs)

Dieses Thema im Forum "AppleScript" wurde erstellt von Tekl, 19.06.07.

  1. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Hi,

    kann man am Mac Programme eigentlich in einem anderen Benutzerkontext starten, so dass z. B. die Einstellungen des angegebenen Benutzers geladen werden? Quasi ein RunAs für Mac?
     
  2. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Ich habe nun Multistarter entdeckt, welches das macht. Gibt's da vielleicht auch betriebssysteminterne Funktionen, die man nutzen kann, ohne auf externe Anwendungen angewiesen zu sein?
     
  3. hanebambel

    hanebambel Becks Apfel (Emstaler Champagner)

    Dabei seit:
    31.08.04
    Beiträge:
    333
    Hi!

    Schonmal "sudo" probiert?
    z.B. für den Benutzer "Batman":
    Code:
    $ sudo -u Batman open /Applications/TextEdit.app
    
    CU Jan ;)
     
  4. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Danke für den Hinweis. Allerdings unterscheidet sich sudo stark von runas, da es nur die Rechte ändert nicht aber die ganze Umgebung.

    Durch deinen Vorschlag bin ich auch "su" gestoßen. Aber leider startet
    Code:
    su Robin -l -c "open /Applications/Mail.app"
    nicht eine zweite Instanz von Mail, sondern aktiviert das bereits aktive Mail. Aber evtl. liegt's ja auch an "open". Gibt's noch andere Möglichkeiten, GUI-Anwendungen aus dem Terminal zu starten?
     
  5. hanebambel

    hanebambel Becks Apfel (Emstaler Champagner)

    Dabei seit:
    31.08.04
    Beiträge:
    333
    Hi!

    Da hast Du natürlich recht. Aus dem Stand weiß ich jetzt keine andere Möglichkeit GUI-Programm aus dem Terminal zu starten... würde mich aber auch mal interessieren, ob das geht was Du vorhast...

    CU Jan ;)
     
  6. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    probier doch mal:

    su Robin -l -c "/Applications/Mail.app/Contents/MacOS/Mail"

    vielleicht geht das ja?
     
  7. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Und wenn du nicht möchtest, dass das Script so lange läuft, bis das Programm, was du damit geöffnet hast, wieder geschlossen ist, schreibe es so:

    Code:
    do shell script "su username -l -c '/Applications/Mail.app/Contents/MacOS/Mail' >/dev/null 2>&1 &" with administrator privileges
    (Danke Daisy. :D)

    Grüße,
    X.
     
  8. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Oh, danke für die Tipps.

    Wo ist denn eigentlich der Unterscheid zu:

    Code:
    do shell script "su - username -c '/Applications/Mail.app/Contents/MacOS/Mail' &> /dev/null &" with administrator privileges
    Das bei su ist klar (verkürzte Form von -k), aber ich meine mit den Pipes oder wie man dass nennt. Das mit &> hatte ich bei Apple gefunden und scheint auch zu funktionieren.
     
  9. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    Hi Tekl,

    der Unterschied in der Auswirkung ist, dass das do shell script mit "2>&1" gleich 'zurückkommt' und ohne nicht. 2>&1 sorgt dafür, dass standard output und standard error auf /dev/null umgeleitet werden.

    Mehr zum Thema findest du in der man page von sh (gaaaaanz weit unten bei Redirection) und zur Anwendung in AppleScript in der TN2065:
    http://developer.apple.com/technotes/tn2002/tn2065.html

    LG

    Daisy
     
  10. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Danke, laut Apple besteht aber anscheinend kein Unterschied:

     
  11. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    oh - sry, das erste '&' hatte ich übersehen :eek:
     

Diese Seite empfehlen