URI especiales de Nautilus

8

¿Dónde se utilizan estos URI especiales en Nautilus definidos en Ubuntu?

recent:///
trash:///
x-nautilus-desktop:///
computer:///
burn:///

Estos pueden abrir instantáneamente ubicaciones especiales en Nautilus escribiéndolas en la barra de ruta.

¿Y por qué esto no funciona cuando abro Nautilus como root (es la primera vez que veo que root no tiene privilegios para hacer algo)?

Radu Rădeanu
fuente

Respuestas:

7

EDITAR Después de investigar un poco más, descubrí que puede iniciar nautilus como root y obtener acceso a los URI especiales utilizando dbus. El comando sería

sudo dbus-launch nautilus

Y luego los URI están disponibles. Para ser honesto, no entiendo al 100% por qué esto funciona, pero parte de la información original que encontré a continuación puede ser útil.


La razón por la que existen esos URI es porque Nautilus usa un sistema de archivos virtual llamado Gnome Virtual File System (gvfs) que está construido sobre otro sistema de archivos virtual llamado FUSE. Específicamente, esos URI se configuran en el /usr/lib/gvfs/directorio llamado gvfsd- *. Estos son archivos binarios, así que no intentes editarlos.

Cuando monta un recurso compartido Samba usando Nautilus, usa el comando gvfsd-mount (almacenado en /usr/bin) para montar el recurso compartido que especifique. El recurso compartido se monta en /run/user/<UID>/gvfs/dónde está su identificación de usuario (generalmente 1000 para sistemas de usuario único).

En cuanto a que root pueda usar estos URI, Ubuntu, y supongo que otras distribuciones, configura fusible para que root no pueda usar el sistema de archivos virtual por razones de seguridad. Notará en la /run/usercarpeta que no hay un directorio 0 para el usuario root. El /etc/fuse.confarchivo por defecto no está configurado para permitir el acceso del usuario root . Esto significa que si su usuario monta un recurso compartido, incluso el usuario raíz no puede ver el recurso compartido sin configurar Fuse para permitirlo.

Realmente no he probado dar acceso a la raíz al sistema de archivos Fuse o URI especiales, pero es posible que tenga suerte configurándolo como se describe en este enlace o leyendo la página de manual de Fuse .

Perdón por la respuesta RTFM, pero no pude encontrar una solución definitiva y depende de la versión de Ubuntu en la que se encuentre, ya que algunos de los directorios / comandos cambiaron en versiones recientes.

Rothgar
fuente
Gracias por la buena informacion. ¿Alguna idea de por qué x-nautilus-desktopno está definido / configurado /usr/lib/gvfs/y dónde podría estar en otro lugar? Yo uso Ubuntu 13.10, no hay un archivo llamado gvfsd-x-nautilus-desktopen /usr/lib/gvfs/, pero aún así este URI ( x-nautilus-desktop:///) está funcionando. A partir de esto, tal vez podría encontrar una manera de definir un nuevo URI. Este es mi objetivo final ...
Radu Rădeanu
@ RaduRădeanu Miré a mi alrededor pero no pude encontrar un archivo o referencia al x-nautilus-desktop: /// URI. No pude encontrar ningún archivo con ese nombre, lo que me hace sospechar que no es un componente modular como los otros URI y puede estar codificado en gvfs o fusible. No soy un gran desarrollador, pero es posible que desee consultar el código fuente de gvfs.
Rothgar
Ok, gracias de nuevo. Aceptaré su respuesta, pero por favor, si encuentra algo nuevo en este sentido, hágamelo saber ...
Radu Rădeanu
1

No mucho, pero aquí hay algo para todos:

En la terminal o por Alt + F2:

gksudo dbus-launch nautilus computer:///

En un sistema raíz no necesita "gksudo" o "dbus-launch"

Algunos ejemplos:

computer:/// - objects for each mounted device, plus the network
network:/// - available networks to browse
burn:/// - a virtual folder for burning data CDs/DVDs
smb:/// - available windows/samba network resources
x-nautilus-desktop:/// - desktop objects and icons
file:/// - local files
trash:/// - local trash directory
themes:/// - displays all the themes that are available in the GNOME Desktop
fonts:/// - shows fonts
recent:/// - shows recent files

Por otro lado, en este sitio se muestra cómo crear un URI para su script o programa que funcione en firefox y gnome. Hay un script de ejemplo bastante bueno que puede usar como referencia según su necesidad.

Integrar un nuevo controlador de esquema de URI a Gnome y Firefox

DarkXDroid
fuente