App als anderer Benutzer ausführen (Automator) [duplizieren]

1

Ich möchte eine App als anderer Benutzer öffnen können. Zum Beispiel ist PC1 mein Hauptkonto und PC7 mein sekundäres Konto.

Ich kann den Effekt im Terminal erreichen

su - pc7 Passwort eingeben /Applications/Application.app/Contents/MacOS/ApplicationName

Wie kann ich mit dem Automator ein Skript / eine App erstellen, was auch immer dies durch einen einfachen Doppelklick bewirkt?

Vielen Dank

user74469
quelle

Antworten:

1

Sie können grafische Anwendungen nicht einfach als anderer Benutzer starten.

Ein Proxy-Prozess ist erforderlich

Um eine grafische Anwendung als anderer Benutzer zu starten, muss dieser Benutzer in einer grafischen Sitzung angemeldet sein und über einen Prozess verfügen, der in der Sitzung ausgeführt wird, um die gewünschte Anwendung zu starten.

Vor OS X 10.9 konnte dies über den launchctlBefehl angenähert werden . Siehe So starten Sie eine GUI-Anwendung in einer grafischen Sitzung eines anderen Benutzers? für eine ausführliche Diskussion.

Graham Miln
quelle
0

Sie können Ihr Beispiel einfach als Textdatei speichern und das Suffix .command oder .sh hinzufügen, um es mit einem Doppelklick auszuführen. AppleScript kann mit auch ein .sh-Skript aufrufen

do shell script "/path/to/yourscript.sh"

Ich bin mir nicht sicher, ob Automator dasselbe kann.

Funktioniert aber sugrundsätzlich nur mit Befehlen, die nicht die Aqua GUI von Mac OS X verwenden. Wenn Sie also versuchen, ein Programm wie beispielsweise TextEdit auf diese Weise zu öffnen, kann es kein Fenster auf dem Desktop öffnen.

Diaku
quelle
sufunktioniert gut mit GUI-Apps ...?
grg
0

Wenn Sie AppleScript öffnen würden, würden Sie das folgende Format verwenden:

do shell script "/usr/bin/su - " & user & " -c " & "'" & cmd & "'" with administrator privileges password "blahblah"

Wenn Sie ein Shell-Skript chmod a+xerstellen möchten, müssen Sie die Datei wie folgt ausgeben :

#!/usr/bin/env bash
su -c "/Applications/Application.app/Contents/MacOS/ApplicationName" -s /bin/sh pc7

Oder Sie können es so schreiben, wie ich es schreiben würde:

#!/usr/bin/bash
su -c "/Applications/Application.app/Contents/MacOS/ApplicationName" -s /bin/sh pc7

  1. Speichern Sie die Datei als YourScritpt.sh
  2. Fügen Sie ausführbare Berechtigungen hinzu, indem Sie chmod a+x YourScript.shTerminal eingeben
  3. Klicken Sie mit der rechten Maustaste auf die Datei im Finder und wählen Sie "Öffnen mit" und dann "Andere".
  4. Wählen Sie als Anwendung Terminal aus, um die Datei zu öffnen (wechseln Sie zu Alle Anwendungen).
  5. Sie müssen nicht "Immer öffnen mit" auswählen.
Danijel-James W
quelle