URIs especiais do Nautilus

8

Onde estão esses URIs especiais usados no Nautilus definidos no Ubuntu?

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

Eles podem abrir instantaneamente locais especiais no Nautilus digitando-os na barra de caminho.

E por que isso não funciona quando abro o Nautilus como root (é a primeira vez que vejo que a raiz não tem privilégios para fazer alguma coisa)?

    
por Radu Rădeanu 02.11.2013 / 15:03

2 respostas

7

EDIT Depois de fazer mais algumas descobertas, descobri que você pode iniciar o nautilus como root e ter acesso aos URIs especiais usando o dbus. O comando seria

sudo dbus-launch nautilus

E então os URIs estão todos disponíveis. Para ser honesto, não estou 100% por que isso funciona, mas algumas das informações originais que encontrei abaixo ainda podem ser úteis.

A razão pela qual esses URIs existem é porque o Nautilus usa um sistema de arquivos virtual chamado Gnome Virtual File System (gvfs) que é construído sobre outro sistema de arquivos virtual chamado FUSE. Especificamente, esses URIs são configurados no diretório /usr/lib/gvfs/ chamado gvfsd- *. Estes são arquivos binários, portanto não tente editá-los.

Quando você monta um compartilhamento do Samba usando o Nautilus, ele usa o comando gvfsd-mount (armazenado em /usr/bin ) para montar o compartilhamento que você especificar. O compartilhamento é então montado em /run/user/<UID>/gvfs/ , onde está seu ID de usuário (geralmente, 1000 para sistemas de usuário único).

Quanto ao root poder usar esses URIs, o Ubuntu, e estou assumindo outras distribuições, configura o fusível para que o root não possa usar o sistema de arquivos virtual por razões de segurança. Você perceberá que na pasta /run/user não existe um diretório 0 para o usuário root. Por padrão, o arquivo /etc/fuse.conf não está configurado para permitir o acesso do usuário root . Isso significa que, se o usuário montar um compartilhamento, até mesmo o usuário root não poderá visualizar o compartilhamento sem configurar o Fuse para permiti-lo.

Eu não testei realmente o acesso root ao sistema de arquivos Fuse ou URIs especiais, mas você pode ter a sorte de configurá-lo como descrito neste link ou lendo o Página man do fusível .

Desculpe pela resposta do RTFM, mas não consegui encontrar uma solução definitiva e depende de qual versão do Ubuntu você está, já que alguns dos diretórios / comandos mudaram em versões recentes.

    
por 13.11.2013 / 21:02
1

Não muito, mas aqui está algo para todos:

No terminal ou por Alt + F2:

gksudo dbus-launch nautilus computer:///

Em um sistema raiz, você não precisa de "gksudo" ou "dbus-launch"

Alguns exemplos:

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 outro lado, neste site mostra como criar um URI para o seu script ou programa que funciona no firefox e no gnome. Há um script de exemplo muito legal que você pode usar como referência, dependendo da sua necessidade.

Integração um novo manipulador de esquema de URIs para o Gnome e o Firefox

    
por 14.11.2013 / 11:55