AKTUALISIEREN
Bitte korrigieren Sie mich, wenn ich falsch liege : Um auf meinem Computer mit einer GNU / Linux-Distribution namens Debian zu arbeiten, habe ich zwei Möglichkeiten, einen Befehl einzugeben, eine Anwendung zu starten, eine Datei zu öffnen, etc .:
- eine Befehlszeilenschnittstelle, in die ich Text eingebe
- Eine grafische Benutzeroberfläche ( GUI ): Eine Oberfläche, die "Fenster", Symbole usw. bereitstellt.
Da ist etwas los mit dem Namen "Window Manager". Da ich GNU / Linux verwende, arbeite ich auf dem X-Window-System [soweit ich weiß].
Ursprüngliche Buchung
Situation : Ich habe die automatische Anmeldung /etc/fstab
für USB-Sticks deaktiviert [zB /dev/sdb1
]. Das Mounten muss sein root
, oder zumindest ein sudo
Eintrag in der Kommandozeile aber nicht in einem Fenstermanager (!) . Ich meine nicht automount
, ich meine "Klicken auf das Symbol" in einem Fenstermanager öffnet das Gerät auf der GUI ohne Fragen, wobei auf der CLI man root sein muss.
Frage : Wie funktioniert das Mounten in einer GUI "unter der Haube"? Gibt es eine config
Datei für Fenstermanager im Allgemeinen oder muss man diese individuell einstellen?
Ich verstehe und benutze mount
Befehl, ich denke zu verstehen, wie man liest und konfiguriert /etc/fstab
und wo man sieht, was die Einträge dort und in /etc/mtab
bedeuten.
quelle
Antworten:
Dies ist mein Verständnis der Situation, aber ich bin kein Experte, daher ist es weniger technisch als die anderen Antworten. Dies ist, was ich verstehe, nachdem ich diese Systeme viele Jahre lang verwendet habe, ich habe sie nicht im Detail untersucht.
Hier gibt es drei Hauptakteure, zwischen denen sie die Reittiere verwalten:
FUSE: Dies ist das Zentrum von allem, wie auf der Wikipedia-Seite beschrieben :
Im Grunde genommen ermöglicht dies nichtprivilegierten Benutzern das Mounten von Dateisystemen.
gvfs
: In der Gnome-Familie von Desktop-Umgebungen (einschließlich Gnome, Mate, Cinnamon) ist dies (unter anderem) ein Daemon, der automatisch neu verbundene Laufwerke bereitstellt. Dies geschieht über FUSE. Ich glaube (kann aber auch falsch sein), dass das Äquivalent für die KDE-Familie KIO heißtDie Hauptprozesse von
gvfs
sind (entnommen ausman gvfs
):udev
: Dies ist ein System, das neue Geräte erkennt und es Ihnen ermöglicht, Skripte / Befehle auszuführen, wenn diese verbunden sind. Beispielsweiseudev
erkennt es einen neuen Bildschirm und kann Ihren Desktop darauf spiegeln:Insbesondere
gvfs
scheint das zu funktionieren,gvfs-udisks2-volume-monitor
was ein udisks-basierter Lautstärkemonitor ist.udisks
selbst stützt sich jedoch aufudev
(sieheman 7 udisks
).Im Grunde (lesen Sie "schreckliche Vereinfachung") ist das, was passiert, wenn Sie Ihr Laufwerk anschließen,
udev
es erkennen und dengvfs
Dämon warnen, der es dann als FUSE-Gerät mounten wird.FUSE und
udev
wird für alle Desktop-Umgebungen gleich sein. Was sich ändert, ist der DE-Dämon, derudev
das Laufwerk als FUSE-Dateisystem überwacht und einbindet.quelle
Dies hängt von Ihrer Windows-Umgebung ab (GNOME / KDE / etc.). In GNOME werden beispielsweise Daemons mit dem Namen "," ausgeführt
gvfs-*-volume-monitor
. Diese Daemons sind für das Mounten von Geräten verantwortlich, wenn sie in der Desktop-Umgebung ausgeführt werden. Sie haben nichts damit zu tun/etc/fstab
und arbeiten völlig unabhängig voneinander.In Bezug auf eine Konfigurationsdatei gibt es einige damit zusammenhängende Dateien, die sich im Basisverzeichnis des Benutzers befinden, in dem die DE ausgeführt wird
$HOME/.local/share/gvfs-metadata
.Diese U & L- Fragen und Antworten mit dem Titel: Was ist gvfs und warum sollte ich es auf meinem System haben wollen? , versucht zu erklären, was GVFS ist. Es ist in Ordnung, es zu erklären. Aber ich denke, was Sie wirklich fragen, wird in dieser U & L-Frage und Antwort mit dem Titel: Automatisches Mounten von USB-Datenträgern (wie es funktioniert) mehr angesprochen .
quelle
HAL
… zu sein. Ich habe einige Lösungen fürthunar
[die ich verwende] usw. gefunden. Der Artikel wies in eine Richtung - danke dafür! - aber ich bin immer noch auf der Suche nach einem gemeinsamen Nenner…Die einfache Antwort ist, dass sie betrügen. Sie benutzen das nicht
fstab
. Sie verwenden in der Regel einenudev
Haken zum Einsetzen Ereignisse fangen, montieren Sie die Platte manuellroot
, was zu übergeben werden kanndbus
Dateimanager zu informieren , dass Sie eine neue Festplatte haben oder sie könnten verwendensuid
Dienstprogramme stattdbus
für Aushängen. Leider gibt es keine Standardkonfigurationsoptionen dafür, und da die Desktop-Bewegung davon ausgeht, dass die Komplexität verborgen bleibt, dokumentieren sie dies nicht in der Benutzerdokumentation, sondern nur in der Entwicklerdokumentation, und sie gehen von einem einzelnen Benutzersystem aus, sodass USB-Laufwerke nur für das funktionieren Erster Benutzer, der sich bei einem X-Server anmeldet.quelle
PolicyKit (oder Polkit) ist ein Toolkit auf Anwendungsebene zum Definieren und Behandeln der Richtlinie, mit der nicht privilegierte Prozesse mit privilegierten Prozessen kommunizieren können .
Es ist ein Framework für die Zentralisierung des Entscheidungsprozesses in Bezug auf das Gewähren des Zugriffs auf privilegierte Vorgänge (wie das Aufrufen der Mount () - Methode) für nichtprivilegierte (Desktop-) Anwendungen.
Ein Authentifizierungsagent wird verwendet, um den Benutzer einer Sitzung nachweisen zu lassen, dass der Benutzer der Sitzung tatsächlich der Benutzer ist (durch Authentifizierung als Benutzer) oder ein administrativer Benutzer (durch Authentifizierung als Administrator).
GVFS ist ein virtuelles Dateisystem, mit dem lokale und ferne Dateisysteme als Benutzer zusammen mit der Papierkorbunterstützung bereitgestellt werden können. Es gibt auch FUSE-Unterstützung, mit der Anwendungen, die kein GIO verwenden, auf die GVFS-Dateisysteme zugreifen können. Die meisten DEs führen jedoch die Authentifizierung über Policykit auch für andere Dinge durch, z. B. für den Ruhezustand und das Herunterfahren des Computers sowie für NetworkManager benutze FUSE.
Es besteht aus zwei Teilen:
Das gvfs-Paket muss zusammen mit polkit-gnome für die polkit-Regeln installiert werden. Stellen Sie sicher, dass ein grafischer Authentifizierungsagent installiert und automatisch gestartet wurde.
Konfigurationsdateien für die Verwaltung von Berechtigungen müssen für jede Distribution unterschiedlich sein. Das Arch Wiki fordert Sie auf, eine Datei unter zu erstellen
/usr/share/polkit-1/rules.d/
. In Debian befinden sie sich in/etc/polkit-1/
.Quellen: Policykit auf Debian || Polkit im Arch Wiki || GVFS im Arch Wiki || GVFS auf GNOME Wiki!
quelle
Ein häufiges Element, nach dem Sie suchen, ist FUSE . GNOMEs gvfs verwendet dies beispielsweise unter der Haube. 1 Dies ist die Schnittstelle zum Kernel, und ich glaube, sie ist allen nichtprivilegierten (automatischen) Mount-Systemen unter Linux gemeinsam [siehe jedoch Kommentare]. Einzelne DEs würden keine eigene Version davon erstellen, da dies ein Kernel-Patching erfordern würde.
Dieser Homepage-Link ist in der Tat veraltet, da FUSE , wie hier erwähnt , vor ein paar Jahren Teil des offiziellen Kernels wurde, aber die Ursprünge und Ziele des Projekts beschreibt (nicht nur für nichtprivilegiertes Mounten).
Der Grund, warum verschiedene Systeme darüber hinaus in ihrem Stil abweichen können, ist derselbe, warum Sie verschiedene Desktop-Umgebungen haben: Sie repräsentieren unterschiedliche Vorstellungen davon, wie / was die GUI sein sollte. Sie kümmern sich um die Form und Funktion der Benutzeroberfläche, aber FUSE erledigt die eigentlichen Aufgaben für das Mounten und den Kernel. Beachten Sie, dass FUSE den Teil "auto" nicht wirklich ausführt, sondern eher den Teil "unprivilegiert", aber der Teil "auto" ist ziemlich einfach: Sie müssen nur abfragen, z
/dev
. Ich habe eine Montageanwendung geschrieben, die auf diese Weise funktioniert. es wird nur auf das Erscheinen neuer Knoten gewartet. 2 Dieser Teil besteht aus ungefähr hundert Zeilen in C ++. Easy-peasy - keine wirkliche Notwendigkeit für eine gemeinsame API auf dieser Ebene.1 Oder kann, wenn es sich um ein wirklich nicht privilegiertes Reittier handelt. Teresas Antwort könnte sich auf neuere Ansätze beziehen, um den Zugang zu normalen Reittieren zu ermöglichen.
2 Wie hildred feststellt, wären udev-Rückrufe eine bessere, weniger hackende Methode.
quelle