Comment exécuter des applications GUI en tant que root sous Mac OS X

Anonim

Ceux qui sont familiers avec la ligne de commande savent que l'exécution de choses avec des privilèges de super utilisateur consiste généralement à utiliser la commande sudo. Cela est toujours vrai avec le lancement d'applications GUI dans OS X avec des privilèges root, mais il ne s'agit pas seulement d'ajouter sudo à la commande open autrement utile, car "open" lance les applications en tant qu'utilisateur d'origine, avec ou sans sudo. La solution consiste plutôt à utiliser sudo pointant directement vers l'exécutable contenu dans un fichier de package d'applications donné.

Lancement des applications GUI OS X en tant qu'utilisateur root

La syntaxe de la commande est la suivante :

sudo /Path/To/Application/ApplicationName.app/Path/To/Executable

Dans la plupart des cas, il s'agira d'applications stockées dans le répertoire /Applications/, et l'exécutable est presque toujours stocké dans Package/Contents/MacOS/ quel que soit le nom de l'application :

sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName

Par exemple, cette commande exécute l'application TextEdit familière en tant que root :

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit

Pour lancer TextEdit en arrière-plan, ce qui signifie qu'il ne se fermera pas si vous fermez la fenêtre du terminal, appliquez l'indicateur -b à sudo : sudo -b /Applications/TextEdit .app/Contents/MacOS/TextEdit

Vous pouvez confirmer que l'application s'exécute en tant que root en utilisant la commande ps avec grep, en utilisant à nouveau TextEdit comme exemple :

ps au|grep TextEdit

Vous pouvez également consulter le moniteur d'activité de l'application de gestion des processus OS X et trouver l'application qui s'y exécute en tant qu'utilisateur "root", comme le montrent la capture d'écran en haut et la courte vidéo ci-dessous :

Si vous avez l'intention d'exécuter fréquemment une application particulière en tant que root, vous pouvez envisager de placer un alias dans .bash_profile pour raccourcir la chaîne de commande.

Malgré l'exécution en tant que root, tous les fichiers système peuvent ne pas être modifiables et certains peuvent être marqués comme "verrouillés" lorsqu'ils sont ouverts dans certaines applications comme TextEdit. Ce problème peut souvent être résolu en activant l'utilisateur root si vous ne l'avez pas encore fait, mais toutes les applications n'auront pas cette limitation.Néanmoins, pour certaines tâches comme l'édition du fichier hosts, il vaut toujours mieux s'en tenir à la ligne de commande et à un éditeur de texte, ou utiliser une application comme BBEdit ou TextWrangler.

Comment exécuter des applications GUI en tant que root sous Mac OS X