1 votes

Exécuter l'application en tant qu'utilisateur différent (automatiseur)

Je voudrais pouvoir ouvrir une application en tant qu'utilisateur différent. Par exemple, PC1 est mon compte principal et PC7 est mon compte secondaire.

Je peux obtenir l'effet dans le terminal en utilisant

su - pc7 insérer le mot de passe /Applications/Application.app/Contents/MacOS/NomApplication

Comment puis-je utiliser l'automator pour créer un script/application qui fait cela en double-cliquant simplement ?

Merci

1voto

Graham Miln Points 39606

Vous ne pouvez pas lancer trivially des applications graphiques en tant qu'autre utilisateur.

Un processus proxy est nécessaire

Pour lancer une application graphique en tant qu'autre utilisateur, cet utilisateur doit être connecté à une session graphique et avoir un processus en cours d'exécution dans sa session capable de lancer l'application souhaitée.

Avant OS X 10.9, cela pouvait être approximé via la commande launchctl. Voir Comment lancer une application GUI dans la session graphique d'un autre utilisateur? pour une discussion détaillée.

0voto

Diaku Points 21

Vous pouvez simplement enregistrer votre exemple sous forme d'un fichier texte en ajoutant le suffixe .command ou .sh pour l'exécuter en double-cliquant. AppleScript peut également appeler un script .sh avec

do shell script "/chemin/vers/votrescript.sh"

Je ne suis pas sûr si Automator peut faire la même chose.

Mais su fonctionne essentiellement uniquement avec des commandes n'utilisant pas l'interface Aqua de Mac OS X. Donc si vous essayez d'ouvrir une application comme par exemple TextEdit de cette manière, elle ne pourra pas ouvrir une fenêtre sur le Bureau.

0voto

Danijel-James W Points 5718

Si vous deviez ouvrir AppleScript, vous utiliseriez le format suivant :

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

Si vous vouliez créer un script shell, vous devriez chmod a+x le fichier et l'écrire comme ceci :

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

Ou, vous pouvez l'écrire comme je le ferais :

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

  1. Enregistrez le fichier sous VotreScript.sh
  2. Ajoutez les permissions d'exécution en tapant chmod a+x YourScript.sh dans Terminal
  3. Cliquez avec le bouton droit sur le fichier dans Finder et sélectionnez "Ouvrir avec" puis sélectionnez "Autre"
  4. Sélectionnez Terminal comme application pour ouvrir le fichier (changez à Toutes les applications)
  5. Vous n'avez pas besoin de sélectionner "Ouvrir toujours avec"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X