¿Es posible iniciar nautilus o gedit con privilegios elevados?

¿Es posible iniciar nautilus o gedit con privilegios elevados?

A veces necesito editar archivos en /etc. Sé que puedo hacer esto con la consola ( sudo mv some/file /etc/some/file, sudo nano /etc/some/file), etc., pero lo encuentro un poco complicado. Llámame mimado, pero estoy muy acostumbrado a herramientas GUI como Nautilus y Gedit.

Distribuciones como Ubuntu Mate o Mint lo ponen fácil: puedo hacer clic derecho en una carpeta y luego aparece un menú contextual con opciones como "abrir como administrador". A partir de entonces, al hacer doble clic en un archivo de texto, se abre en gedit con privilegios elevados.

Sin embargo, no puedo encontrar esa opción en la versión predeterminada de Unity de Ubuntu:

ingrese la descripción de la imagen aquí

Nota:

  • Soy consciente de la preguntaFormas de ejecutar Nautilus con privilegios elevados, pero la solución recomendada aquí es usar gksudo, que ya no funciona
  • Supongo que siempre puedo hacerlo sudo gedit /etc/whatever, pero, AFAIK, usar sudoherramientas GUI es muy desaconsejable
  • Recuerdo que algunos dicen que no es aconsejable ejecutar herramientas GUI con privilegios elevados.en absoluto. Sin embargo, este no parece ser el caso, ya que algunas herramientas GUI predeterminadas solicitan elevación, siendo el software Ubuntu quizás uno de los ejemplos más destacados:

ingrese la descripción de la imagen aquí

¿Existe alguna forma de ejecutar Nautilus o Gedit con privilegios elevados?

Respuesta1

Puede tener fácilmente un menú contextual que le permita abrir un archivo con privilegios de root instalando un paquete nautilus-admin. Esta extensión de Nautilus agrega dos opciones de menú contextual. Uno de estos le permite abrir un archivo como root para editarlo en gedit. La otra entrada le permite abrir una ventana de Nautilus con permisos de root.

El paquete está incluido en los repositorios estándar de Ubuntu y se puede instalar con el comando

sudo apt install nautilus-admin

Se basa en el backend de administración de GNOME, es decir, el efecto es el mismo que si abrieras el archivo desde la línea de comando con el admin://URI, por ejemplo

gedit admin:///etc/fstab

Respuesta2

Puedes usar pkexecen lugar de gksudo. Mi forma de correr, por ejemplo. geditcon privilegios elevados es crear un script, por ejemplo /usr/local/bin/su_gedit, con el siguiente contenido:

#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit $*

Luego puede crear un .desktoparchivo para este script, por ejemplo /usr/share/applications/su_gedit.desktop(no he probado si /usr/share/applicationsfunciona en otra ubicación), copiando su contenido org.gnome.gedit.desktopy modificándolo adecuadamente, es decir. cambiando las líneas Name=y Comment=a lo que quieras (por ejemplo Name=Root Text Editory Comment=Edit text files with root privileges) y reemplazándolas geditpor /usr/local/bin/su_gediten todas Exec=las líneas.

Después de hacer esto, al hacer clic derecho en Nautilus en un archivo que normalmente se abre en gedit y seleccionar "Abrir con un programa diferente", debería ver la entrada "Editor de texto raíz" en la lista. Incluso si no está allí, si hace clic en el botón "Mostrar todos los programas", debería poder elegirlo.

Otra forma es crear un script similar que se ejecute elevado gnome-terminaly crear un iniciador para ese script, por ejemplo. en su panel de GNOME o en el escritorio. Desde esa terminal, simplemente puedes ejecutar geditcomo root. Eso es lo que suelo hacer.

Respuesta3

nemo- es el administrador de archivos predeterminado que se incluye con Cinnamon Desktop. Nemo te permitebotón derecho del ratónen cualquier lugar de un directorio determinado y "Abrir como raíz".

Luego se abre una segunda ventana con un cartel azul de "privilegios elevados".

¡Espero que esto ayude!

nota - (Parece que quieres seguir usando Nautilus, así que ignora este consejo si no estás dispuesto a cambiar a un administrador de archivos diferente.)

Respuesta4

De los comentarios...

EladecuadoY la forma más sencilla de iniciar aplicaciones GUI con privilegios desde la CLI es utilizar sudo -H.

ejemplo:sudo -H gedit /etc/filename

Desde la sudopágina de manual...

 -H, --set-home
             Request that the security policy set the HOME environment
             variable to the home directory specified by the target
             user's password database entry.  Depending on the policy,
             this may be the default behavior.

Entonces, la -Hbandera asume sudoel rootdirectorio de inicio de HOMEen lugar del directorio de inicio del usuario actual. De lo contrario, algunos archivos en el userdirectorio de inicio de 's pasarían a ser propiedad del root, lo que puede provocar varios problemas.

Nota: extraído de¿Qué significa el indicador '-H' en 'sudo -H'?

El problema más común de utilizar sudosin la -Hopción es la creación de un bucle de inicio de sesión.

Esto puede ocurrir porque los siguientes archivos se cambian de su_nombre de usuario:su_nombre de usuario a raíz:raíz...

-rw------- 1 your_username your_username 407910 Nov  2 08:56 .ICEauthority
-rw------- 1 your_username your_username     58 Jun 23  2017 .Xauthority

información relacionada