Comment exécuter des applications GUI en tant que root sous Mac OS X
Ceux qui sont familiers avec la ligne de commande savent qu'il suffit généralement d'utiliser la commande sudo pour faire fonctionner les choses avec des privilèges de super-utilisateur. Cela reste vrai pour le lancement d'applications graphiques sous OS X avec les privilèges de root, mais il ne s'agit pas seulement de préparer sudo à la commande open, par ailleurs utile, car "open" lance les applications en tant qu'utilisateur original, avec ou sans sudo. La solution consiste plutôt à utiliser sudo en pointant directement sur l'exécutable contenu dans un fichier de paquet d'applications donné.
Lancement des applications de l'interface graphique d'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/Contenu/MacOS/ApplicationName
Par exemple, cette commande exécute l'application TextEdit bien connue en tant que root :
sudo /Applications/TextEdit.app/Contenu/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 le drapeau -b à sudo:
sudo -b /Applications/TextEdit.app/Contenu/MacOS/TextEdit
Vous pouvez confirmer que l'application s'exécute en tant que root en utilisant la commande ps avec grep, en utilisant encore une fois TextEdit comme exemple :
ps au|grep TextEdit
Vous pouvez également consulter l'application de gestion des processus OS X, Activity Monitor, et trouver l'application qui y est exécutée en tant qu'utilisateur "root", comme le montrent la capture d'écran ci-dessus 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.
Bien qu'ils soient exécutés 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 hôte, il est préférable de s'en tenir à la ligne de commande et à un éditeur de texte, ou d'utiliser une application comme BBEdit ou TextWrangler.