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.