No debe ejecutar un editor como root a menos que sea absolutamente necesario; deberías usar sudoedit
o las funciones administrativas de su entorno de escritorio.
sudoedit
Una vez sudoedit
está configurado correctamente, puede hacerlo
SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit yourfile
sudoedit
verificará que tiene permiso para hacer esto, haga una copia del archivo que pueda editar sin cambiar las identificaciones manualmente, inicie su editor y luego, cuando el editor salga, copie el archivo nuevamente si se ha cambiado.
Sugeriría una función en lugar de un alias:
function susubl {
export SUDO_EDITOR="/opt/sublime_text/sublime_text -w"
sudoedit "[email protected]"
}
aunque como señaló Jeff Schaller, puedes usar env
para poner esto en un alias y evitar cambiar el entorno de su shell:
alias susubl='env SUDO_EDITOR="/opt/sublime_text/sublime_text -w" sudoedit'
El -w
La opción garantiza que la invocación de Sublime Text espere hasta que los archivos se cierren antes de regresar y permitir que sudoedit
copie los archivos de nuevo.
Entornos de escritorio (GNOME)
En GNOME (y quizás en otros entornos de escritorio), puede usar cualquier editor compatible con GIO/GVFS, con el admin://
prefijo; por ejemplo
gedit admin:///path/to/your/file
Esto solicitará la autenticación adecuada mediante PolKit y luego abrirá el archivo para editarlo si la autenticación fue exitosa.