Bueno, tal vez sea una fantasía, pero hay varias personas que dicen lo mismo:
¿Por qué debería usar gksudo para aplicaciones Gtk en lugar de sudo?
Sin embargo, hay otros momentos en que los efectos secundarios pueden ser tan leves como que las extensiones de Firefox no se peguen o tan extremas como que ya no pueda iniciar sesión porque los permisos en su autoridad .ICE cambiaron.
¿Por qué los usuarios nunca deberían usar sudo normal para iniciar aplicaciones gráficas?
Supongamos que está ejecutando gedit (un editor de texto gráfico) como root. Si ejecuta sudo gedit, HOME continuará apuntando hacia su directorio de inicio, aunque el programa se ejecute como root. En consecuencia, gedit escribirá los archivos de configuración como root en su directorio de inicio. Esto a veces dará como resultado que los archivos de configuración sean propiedad de root y, por lo tanto, inaccesibles para usted (cuando luego ejecute el programa como usted mismo y no como root).
¿Cómo ejecutar un programa GUI como un usuario diferente (Debian)?
En primer lugar, no use sudo o su para cambiar usuarios para ejecutar un proceso gráfico, o es probable que tenga problemas en el futuro (~ / .ICEautor de cambio de autoridad es un problema notable). En su lugar, cree un acceso directo que use el siguiente comando:
Ejecutando Sudo Gráficamente
Bueno, para ser sincero, la mayoría de las veces no lo es. Para muchas aplicaciones, puede ejecutarlas de manera inadecuada: use sudo para aplicaciones gráficas y no vea efectos secundarios adversos.
...
Estos errores se producen porque a veces, cuando se sudo
inicia una aplicación, se inicia con privilegios de root pero utiliza el archivo de configuración del usuario.
Este archivo de correo también puede ser de su interés.
Entonces, probémoslo.
2 cajas virtuales completamente nuevas. Ubuntu 14.04. Nunca ejecutes firefox en ellos. ¿Qué sucederá cuando ejecute el comando sudo firefox
?
tim@Hairy14CVB:~$ sudo firefox
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
...
shutdownObserver@XPIProvider.jsm:2192:13
Esto es lo mismo (o al menos muy similar) para ambas cajas virtuales. Mientras Firefox se estaba ejecutando, instalé una extensión de YouTube, una destacada. Luego cerré Firefox y verifiqué el resultado.
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
Bueno, .ICEauthority
esta bien! Sin embargo...
tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 Jun 1 20:49 ..
drwx------ 3 root root 4096 Jun 5 22:41 .dbus
drwx------ 4 root root 4096 Jun 5 22:41 .mozilla
3 cosas en mi carpeta de inicio ( /home/tim/
) son propiedad de root ( ..
, .dbus
y .mozilla
). Esto es lo mismo (o al menos muy similar) para ambas cajas virtuales.
Entonces, ¿esto importa? No estaba seguro, así que ejecuté Firefox, así:
tim@Hairy14CVB:~$ firefox
(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.
Y este error feo:
Para la salida completa del terminal (incluido firefox babble), vea estos dos pastebins, aquí y aquí .
Todavía puedo ejecutar firefox como root por cierto. Pero ahora se han cambiado más archivos:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
drwx------ 3 root root 4096 Jun 5 22:55 .adobe
drwx------ 3 root root 4096 Jun 5 22:40 .dbus
drwx------ 3 root root 4096 Jun 5 22:55 .macromedia
drwx------ 4 root root 4096 Jun 5 22:40 .mozilla
¿Fue porque subí una imagen a imgur.com? No estoy seguro.
¿Cómo solucioné esto? chown
. No lo entiendo, pero Internet me dijo que lo hiciera, y es un Virtual Box, así que.
sudo chown -R tim:tim /home/tim/
Y eso lo arregló. Ahora la salida es solo el ..
archivo:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Y eso es lo mismo en mi computadora real. Ah, y en mi Kubuntu virtualbox:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
En el que nunca he ejecutado un comando sudo. Entonces todo está bien. Simplemente no se ejecute sudo
en una aplicación GUI.
Prueba final: ejecútelo con -H
y las -i
banderas:
sudo -H firefox
y
sudo -i firefox
Y buenas noticias! Aún así, la única "cosa" raíz es ..
. Y puedo correr firefox
sin root.
OP quiere que hable sobre Gedit.
corrí
sudo gedit
Luego instalé algunos complementos aleatorios. Este fue el resultado:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Tenga en cuenta que ni siquiera puedo ver la propiedad de, .gvfs
así que hice esto:
tim@Hairy14VB:~$ sudo ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
dr-x------ 2 root root 0 Jun 6 10:05 .gvfs
Entonces, ejecutar sudo gedit
cambia un archivo en mi directorio de inicio a root.
Todavía puedo abrir gedit, pero esta vez saco algo de basura:
(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.
Y eso sugiere que hay otro archivo ( ~.local/share/recently-used.xbel
) que ha cambiado. Creo que esta es la lista de archivos usados recientemente y (por suerte) ya no tengo mi lista de archivos usados recientemente:
Debería haber un archivo allí llamado output2.txt.save2
. Mis pronombres son El / El