16 votos

¿Cómo puedo abrir un archivo como Root en TextEdit en Lion?

¿Cómo se abre un archivo como Root, en TextEdit? He probado estos comandos como root , pero TextEdit siempre dice que está bloqueado:

open -e /etc/apache2/httpd.conf
open -e -F /etc/apache2/httpd.conf
open -e -F -W /etc/apache2/httpd.conf

Y por supuesto sudo !! no hace ninguna diferencia.

17voto

Saul Dolgin Puntos 4128

Puedes abrir una instancia de textedit como Root introduciendo la ruta completa del ejecutable real :

sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"

Una vez que su instancia Root está abierta, puede buscar el archivo que necesita o hacerlo desde la línea de comandos:

sudo su - root -c "open -e /etc/apache2/httpd.conf"

0 votos

Gracias, ha funcionado. sudo /Applications/Textedit.app/Contents/MacOS/TextEdit entonces sólo tienes que abrir el archivo desde TextEdit

0 votos

Si no quieres escribir eso cada vez, puedes crear un alias yendo a tu directorio principal en el Terminal, y luego pico .bash_profile , añada alias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"' , guardar el archivo, reiniciar el Terminal. Ahora puede escribir sudotext para iniciar TextEdit como Root.

0 votos

Como otras respuestas señalaron, para hacerlo en 1 liner la única opción real es tener un editor de terceros que lo soporte. Entonces sólo tienes que escribir open -t "/etc/hosts" por ejemplo. Con TextWrangler puede simplemente escribir edit /etc/hosts .

9voto

Nate Puntos 220

BBEdit es la herramienta gratuita para hacer esto en 2019 y sustituye toda la funcionalidad de TextErangler y se puede descargar desde la App Store y la web del desarrollador.


TextEdit no es realmente la herramienta adecuada para la edición de archivos de configuración -- use TextWrangler en su lugar. Es gratis, tiene capacidad incorporada para editar archivos con acceso Root desde una cuenta de administrador, así como cosas como abrir archivos y directorios invisibles, editar fácilmente archivos sobre SFTP, etc.

0 votos

emacs también tiene un bonito modo de confección codificado por colores.

0 votos

Esto no parece funcionar para mí en Mountain Lion. Obtengo un error al intentar guardar los archivos de configuración del sistema en TextWrangler. ¿Ha cambiado esto?

0 votos

@Simon: Parece que tienes la versión de TextWrangler de la App Store, en lugar de la descarga directa de barebones.com . Si es así, se han eliminado varias funciones (incluida esta) para cumplir con las políticas de seguridad de la App Store; así que déjala y consigue la versión directa.

7voto

Rook Puntos 119

Aquí hay una manera de evitar ejecutar TextEdit como Root:

EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf

Deberá salir de la copia de TextEdit después de editar el archivo.

sudo -e , a veces conocido como sudoedit pero no en OS X, hace una copia temporal del archivo con permiso de escritura para el usuario actual, invoca un editor en él de la manera habitual de Unix, y luego lo copia de nuevo.

Las opciones para open : -W espera a que TextEdit salga, por lo que sudo sabe cuándo copiar el archivo de nuevo. -n asegura que está esperando en una instancia separada de TextEdit, no en una que ya tienes abierta y que no quieres cerrar. También puede sustituir -t en lugar de -e si tiene un editor de texto favorito que no sea TextEdit.

Si ya tiene un EDITOR para usar un editor gráfico con su propia herramienta de línea de comandos con capacidad de espera (como TextMate o BBEdit), entonces no necesita ninguno de estos trucos y puede usar simplemente sudo -e <file> directamente.

3voto

Oskar Puntos 1242

Dado que el usuario Root está deshabilitado, la única forma de forzar que una aplicación arbitraria de OS X tenga permisos Root es habilitar Root e iniciar sesión como Root.

Las aplicaciones pueden, por supuesto, utilizar la API para pedir al sistema la autenticación y hacer aparecer el diálogo que se espera cuando se pide un usuario y una contraseña de administrador. TextEdit no tiene esa función por lo que tienes que trabajar alrededor de los permisos de archivo antes y después de abrir y escribir los archivos deseados.

¿Has probado a utilizar sudo open -a textedit ¿para abrir la aplicación?

0 votos

¿Tienes sugerencias sobre aplicaciones que tengan esa funcionalidad? Preferiblemente gratis :)

4 votos

Esto no es del todo exacto. En Terminal.app ejecuto sudo su - para iniciar un shell como Root y entonces puedo ejecutar open "/Applications/Textedit.app/Contents/MacOS/TextEdit" con éxito. No tengo habilitado el usuario Root ni he iniciado sesión como usuario Root.

2voto

Gio Puntos 1431
sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file

Debería funcionar

0 votos

Vale, ¿entonces no es posible lanzar TextEdit como Root? Realmente me gustaría evitar la molestia adicional de cambiar los permisos de ida y vuelta.

1 votos

Las cosas han cambiado en Lion, supongo que es el sandboxing

0 votos

La cuestión es que el archivo que intentas abrir no es escribible para Root debido a sus permisos. Sería lo mismo para uno de sus archivos (en realidad es lo mismo, excepto por el hecho de que TextEdit es "inteligente" para los archivos de los usuarios, por lo que it cambia el permiso preguntándole a usted).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X