Vous ne devez pas exécuter un éditeur en tant que root à moins que cela ne soit absolument nécessaire ; vous devez utiliser sudoedit
, ou les fonctionnalités d'administration de votre environnement de bureau.
sudoedit
Une fois sudoedit
est configuré de manière appropriée, vous pouvez faire
SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit yourfile
sudoedit
vérifiera que vous êtes autorisé à le faire, faites une copie du fichier que vous pouvez modifier sans changer manuellement les identifiants, démarrez votre éditeur, puis, lorsque l'éditeur se ferme, recopiez le fichier s'il a été modifié.
Je suggérerais une fonction plutôt qu'un alias :
function susubl {
export SUDO_EDITOR="/opt/sublime_text/sublime_text -w"
sudoedit "[email protected]"
}
bien que, comme l'a souligné Jeff Schaller, vous pouvez utiliser env
pour mettre ceci dans un alias et éviter de changer l'environnement de votre shell :
alias susubl='env SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit'
Le -w
garantit que l'invocation de Sublime Text attend que les fichiers soient fermés avant de revenir et de laisser sudoedit
recopiez les fichiers.
Environnements de bureau (GNOME)
Dans GNOME (et peut-être d'autres environnements de bureau), vous pouvez utiliser n'importe quel éditeur compatible GIO/GVFS, avec le admin://
préfixe; par exemple
gedit admin:///path/to/your/file
Cela vous demandera l'authentification appropriée à l'aide de PolKit, puis ouvrira le fichier pour le modifier si l'authentification a réussi.