Voici un moyen d'éviter d'exécuter TextEdit en tant que Root :
EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf
Vous devrez quitter la copie de TextEdit après avoir modifié le fichier.
sudo -e
parfois connu sous le nom de sudoedit
mais pas sur OS X, fait une copie temporaire du fichier avec les droits d'écriture pour l'utilisateur actuel, invoque un éditeur sur celui-ci de la manière habituelle sous Unix, puis le recopie.
Les options pour open
: -W
attend que TextEdit quitte, donc sudo
sait quand recopier le fichier. -n
s'assure qu'il attend une instance distincte de TextEdit, et non une instance déjà ouverte que vous ne voudriez peut-être pas quitter. Vous pouvez également substituer -t
au lieu de -e
si vous avez un éditeur de texte préféré autre que TextEdit.
Si vous avez déjà un EDITOR
pour utiliser un éditeur graphique avec son propre outil de ligne de commande capable d'attendre (tel que TextMate ou BBEdit), alors vous n'avez pas besoin de ces astuces et pouvez simplement utiliser sudo -e <file>
directement.