• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Programm als anderer Benutzer starten (RunAs)

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
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?
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
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?
 

hanebambel

Becks Apfel (Emstaler Champagner)
Registriert
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 ;)
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
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?
 

hanebambel

Becks Apfel (Emstaler Champagner)
Registriert
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 ;)
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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?

probier doch mal:

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

vielleicht geht das ja?
 

the x-master

Riesenboiken
Registriert
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.
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
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.
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
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.

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
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Danke, laut Apple besteht aber anscheinend kein Unterschied:

Note: Saying &> file_path is semantically equivalent to > file_path 2>&1, and will direct both standard output and standard error to file_path. If you need them to go to different places, direct standard output using > and standard error using 2>. For example, to send standard error to a file but ignore standard output, do this: