Наутилус специальные URI

8

Где эти специальные URI, используемые в Nautilus, определены в Ubuntu?

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

Они могут мгновенно открывать специальные локации в Наутилусе, печатая их в строке пути.

И почему они не работают, когда я открываю Nautilus как root (впервые, когда я вижу, что root не имеет привилегий на что-то делать)?

Раду Рэдяну
источник

Ответы:

7

РЕДАКТИРОВАТЬ После еще нескольких копаний я обнаружил, что вы можете запустить nautilus от имени пользователя root и получить доступ к специальным URI с помощью dbus. Команда будет

sudo dbus-launch nautilus

И тогда все URI доступны. Честно говоря, я не на 100% почему это работает, но некоторая оригинальная информация, которую я нашел ниже, все еще может быть полезной.


Причина, по которой эти URI существуют, заключается в том, что Nautilus использует виртуальную файловую систему под названием Gnome Virtual File System (gvfs), которая построена поверх другой виртуальной файловой системы под названием FUSE. В частности, эти URI настроены в /usr/lib/gvfs/каталоге с именем gvfsd- *. Это двоичные файлы, поэтому не пытайтесь их редактировать.

Когда вы монтируете общий ресурс Samba с помощью Nautilus, он использует команду gvfsd-mount (хранится в /usr/bin) для монтирования указанного общего ресурса. Затем общий ресурс монтируется в том месте, /run/user/<UID>/gvfs/где находится ваш идентификатор пользователя (обычно 1000 для однопользовательских систем).

Что касается возможности root использовать эти URI, то Ubuntu и я предполагаю, что другие дистрибутивы настраивают fuse так, чтобы root не мог использовать виртуальную файловую систему по соображениям безопасности. Вы заметите, что в /run/userпапке нет каталога 0 для пользователя root. /etc/fuse.confФайл по умолчанию не настроен , чтобы разрешить доступ суперпользователя . Это означает, что если ваш пользователь монтирует общий ресурс, даже пользователь root не может просматривать общий ресурс, не настроив Fuse для его разрешения.

На самом деле я не проверял предоставление корневого доступа к файловой системе Fuse или специальным URI, но вам может повезти, настроив его, как описано в этой ссылке, или прочитав справочную страницу Fuse .

Извините за ответ RTFM, но я не смог найти окончательного решения, и это зависит от того, на какой версии Ubuntu вы работаете, так как некоторые из каталогов / команд изменились в последних версиях.

Rothgar
источник
Спасибо за хорошую информацию. Любая идея, почему x-nautilus-desktopне определено / настроено /usr/lib/gvfs/и где еще может быть? Я использую Ubuntu 13.10, не файл с именем gvfsd-x-nautilus-desktopв /usr/lib/gvfs/, но до сих пор этот URI ( x-nautilus-desktop:///) работает. Исходя из этого, может быть, я мог бы найти способ определить новый URI. Это моя последняя цель ...
Раду Рэдяну
@ RaduRădeanu Я осмотрелся, но не смог найти файл или ссылку на x-nautilus-desktop: /// URI. Я не смог найти ни одного файла с таким именем, из-за чего я подозреваю, что это не модульный компонент, как другие URI, и может быть жестко запрограммирован в gvfs или fuse. Я не большой разработчик, но вы можете проверить исходный код gvfs.
Ротгар
Хорошо, еще раз спасибо. Я приму ваш ответ, но, пожалуйста, если вы найдете что-то новое в этом смысле, просто дайте мне знать ...
Раду Рэдяну
1

Не много, но вот что-то для всех:

На терминале или Alt + F2:

gksudo dbus-launch nautilus computer:///

В корневой системе вам не нужны "gksudo" или "dbus-launch"

Некоторые примеры:

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

С другой стороны, на этом сайте показано, как создать URI для вашего скрипта или программы, которая работает на firefox и gnome. Есть довольно крутой пример сценария, который вы можете использовать в качестве справочного материала в зависимости от ваших потребностей.

Интеграция нового обработчика схемы URI в Gnome и Firefox

DarkXDroid
источник