Cuando tiene que editar archivos del sistema, es una situación habitual que haya lanzado Emacs con un usuario normal antes, por lo que el archivo estará protegido contra escritura. ¿Qué puedo hacer para obtener privilegios de root? Me refiero a algo como M-x sudode dired.
No quiero iniciar Emacs como superusuario y no quiero abandonarlo.

::?/su:otheruser@localhost:, por ejemplo./sudo::es la abreviatura de vagabundosudo:root@<hostname>:Usar
find-filecon vagabundo. En el indicador/sudo::/etc/ssh/ssh_config, usará sudo y una subshell para abrir ese archivo con privilegios de root. Cuando se usa sudo por primera vez, solicitará una contraseña, pero hasta que se cierre esa sesión, puede editar cualquier archivo con esos permisos con un prefijo con el/sudo::comando existente .Ver http://www.gnu.org/software/tramp/ para más detalles.
fuente
Si usa el
ivypaquete y se ha configuradocounsel-find-filepara reemplazarfind-file, entonces una de las "acciones de hiedra" preconfiguradas para usted ya es editar el archivo como root. Lahydracombinación de teclas predeterminada para esa acción esr.fuente
Hoy existen muchos paquetes que resuelven este problema (a partir de 2018). Algunos de ellos son:
sudo-edit, permite cambiar los derechos de edición en un archivo de solo lectura ya abierto. SimplementeM-x sudoescriba una contraseña y ya está. Después de muchos años de uso de este, creo que es el más conveniente para esta necesidad.sudo-editle permite abrir un archivo como cualquier usuario, pero está predeterminado en sudo si no se proporciona ninguno.dired-toggle-sudo. Fue la primera solución empaquetada que encontré después de hacer esta pregunta. Está orientado a Dired, por lo que si prefiere la versión orientada a archivos , consulte la primera viñeta de esta lista.fuente
Si usas Helm. No necesita ningún paquete externo / configuración adicional. Funciona fuera de la caja.
En el interior
helm-find-filespuede invocar afind file as rootqué está vinculado C-c r. Esto funciona para archivos o directorios enhelm-find-filessesión.Si no desea escribir la contraseña cada vez que abre archivos / directorios raíz. Pon la siguiente línea en tu
~/.authinfo.gpgfuente
fuente