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

Ceux qui sont familiers avec la ligne de commande savent que l'exécution de choses avec des privilèges de superutilisateur est typiquement une question d'utilisation de la commande sudo. Cela reste vrai avec le lancement d'applications GUI sous OS X avec des privilèges root, mais il ne suffit pas d'ajouter sudo à la commande ouverte, car 'open' lance les applications en tant qu'utilisateur d'origine, avec ou sans sudo. La solution consiste plutôt à utiliser sudo pointant directement sur l'exécutable contenu dans un fichier de package d'applications donné.

Lancement d'applications OS X GUI 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 tant qu'application d'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 l'application de gestion des processus OS X et rechercher l'application exécutée en tant qu'utilisateur «root», comme illustré dans la capture d'écran en haut et la courte vidéo ci-dessous:

Si vous avez l'intention d'exécuter une application particulière fréquemment en tant qu'utilisateur 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 des hôtes, il vaut mieux s'en tenir à la ligne de commande et à un éditeur de texte, ou utiliser une application comme BBEdit ou TextWrangler.