BEARBEITEN Nachdem ich weiter gegraben hatte, stellte ich fest, dass Sie nautilus als root starten und mithilfe von dbus auf die speziellen URIs zugreifen können. Der Befehl wäre
sudo dbus-launch nautilus
Und dann sind alle URIs verfügbar. Um ehrlich zu sein, bin ich nicht zu 100% der Meinung, warum dies funktioniert, aber einige der Originalinformationen, die ich unten gefunden habe, können dennoch hilfreich sein.
Der Grund, warum diese URIs existieren, ist, dass Nautilus ein virtuelles Dateisystem namens Gnome Virtual File System (gvfs) verwendet, das auf einem anderen virtuellen Dateisystem namens FUSE aufbaut. Insbesondere werden diese URIs im /usr/lib/gvfs/
Verzeichnis gvfsd- * konfiguriert . Dies sind Binärdateien. Versuchen Sie also nicht, sie zu bearbeiten.
Wenn Sie eine Samba-Freigabe mit Nautilus bereitstellen /usr/bin
, wird der von Ihnen angegebene Befehl mit dem Befehl gvfsd-mount (gespeichert in ) bereitgestellt. Die Freigabe wird dann dort eingehängt, /run/user/<UID>/gvfs/
wo sich Ihre Benutzer-ID befindet (normalerweise 1000 für Einzelbenutzersysteme).
Da root diese URIs verwenden kann, konfiguriert Ubuntu und ich gehe von anderen Distributionen die Sicherung so aus, dass root das virtuelle Dateisystem aus Sicherheitsgründen nicht verwenden kann. Sie werden feststellen, dass in dem /run/user
Ordner kein 0-Verzeichnis für den Root-Benutzer vorhanden ist. Die /etc/fuse.conf
Datei ist standardmäßig nicht so konfiguriert, dass der Root-Benutzer darauf zugreifen kann . Dies bedeutet, dass, wenn Ihr Benutzer eine Freigabe bereitstellt, auch der Root-Benutzer die Freigabe nicht anzeigen kann, ohne Fuse so zu konfigurieren, dass sie dies zulässt.
Ich habe nicht getestet, ob Root-Zugriff auf das Fuse-Dateisystem oder spezielle URIs gewährt werden kann, aber Sie haben möglicherweise Glück, es wie in diesem Link beschrieben zu konfigurieren oder die Fuse-Manpage zu lesen .
Entschuldigung für die RTFM-Antwort, aber ich konnte keine endgültige Lösung finden und es hängt davon ab, auf welcher Ubuntu-Version Sie sich befinden, da einige der Verzeichnisse / Befehle in den letzten Versionen geändert wurden.
x-nautilus-desktop
nicht definiert / konfiguriert ist/usr/lib/gvfs/
und wo woanders sein könnte? Ich benutze Ubuntu 13.10 gibt es keine Datei mit dem Namen istgvfsd-x-nautilus-desktop
in/usr/lib/gvfs/
, aber immer noch diese URI (x-nautilus-desktop:///
) arbeitet. Ausgehend davon könnte ich vielleicht einen Weg finden, einen neuen URI zu definieren. Dies ist mein letztes Ziel ...Nicht viel, aber hier ist für jeden etwas dabei:
Am Terminal oder mit Alt + F2:
Auf einem Root-System benötigen Sie weder "gksudo" noch "dbus-launch".
Einige Beispiele:
Auf der anderen Seite wird auf dieser Site gezeigt, wie Sie einen URI für Ihr Skript oder Programm erstellen, der mit Firefox und Gnome funktioniert. Es gibt ein ziemlich cooles Beispielskript, das Sie je nach Bedarf als Referenz verwenden können.
Integration eines neuen URIs-Schema-Handlers in Gnome und Firefox
quelle