2010-12-17 12 views
7

Quizás debería preguntarle esto sobre el Superusuario, pero hay muchas otras preguntas de Emacs aquí, así que pensé en probar suerte.¿Cómo cambio al usuario administrador en emacs en Windows?

Uso GNU Emacs 23.2.1 en Windows 7 con el Control de acceso de usuario habilitado.

En Emacs, me gustaría hacer cambios en algunos archivos de administración (por ejemplo, archivos de hosts). Sin embargo, al intentar guardar el archivo recibo una advertencia de que no tengo permiso para escribir en el archivo.

¿Hay alguna manera de que Emacs escale al usuario administrador para editar estos archivos?

Respuesta

3

Siempre podría admitir la derrota y ejecutar la sesión de emacs con privilegios elevados. Hay varias formas de hacerlo, y this page las enumera, incluida la ejecución automática de cosas como administrador.

Esto probablemente no es exactamente lo que quieres. De lo contrario, puede crear una secuencia de comandos que obtenga un nombre de archivo como primer argumento, y luego vincular ese programa a un acceso directo o algo así, como admin-save. Si otorga esos derechos de administrador y luego llama al archivo con el nombre del búfer como su primer argumento y su destino como segundo, debería estar bien.

El guión podría ser una BATfile simple, algo ala (no estoy en una máquina Windows, así que no puedo probarlo por mí mismo)

:: Administrator-copy.bat copies a file with adminstrator privileges. 
:: Remember to give it administrator privileges! 
: START 
COPY %1 %2 
: END 

Pero eso es una solución bastante torpe sin embargo.

Cómo elevar una aplicación que ya se está ejecutando No lo sé.

+0

+1 para ese buen artículo! No tenía idea de que pudieras 'sudo' con ctrl-shift-enter. – Nathan

+0

Gracias por el consejo Haakon. Admitiré la derrota y ejecutaré una sesión de Emacs por separado para los cambios de administrador. – Martin

+1

Una vez que se ejecuta una aplicación, no puede elevarla (ni quitarla si se lanzó elevada). Se trata de cómo se inicia la aplicación y no se puede cambiar después. Las aplicaciones que parecen hacer esto en realidad lanzan otra copia de sí mismos y luego cierran el original. –

Cuestiones relacionadas