Zum Inhalt springen

Udiskie: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
 
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:udiskie}}{{inuse|[[Benutzer:Dirk|Dirk]] ([[Benutzer Diskussion:Dirk|Diskussion]])}}{{unvollständig}}
{{SEITENTITEL:udiskie}}
 
''udiskie'' ist ein in [[Python]] geschriebener {{paket|udisks2|udisks-Wrapper}}, der es möglich macht, Userbezogen über automatische und regelbasierte Konfiguration, Befehlszeilen-Tools, oder ein grafisches Menü Wechseldatenträger zu [[mounten]], zu verwalten, und auf diese zuzugreifen.
''udiskie'' ist ein in [[Python]] geschriebener {{paket|udisks2|udisks-Wrapper}}, der es möglich macht, Userbezogen über automatische und regelbasierte Konfiguration, Befehlszeilen-Tools, oder ein grafisches Menü Wechseldatenträger zu [[mounten]], zu verwalten, und auf diese zuzugreifen.


Zeile 7: Zeile 6:
|name=udiskie
|name=udiskie
|zusatz=libappindicator-gtk3
|zusatz=libappindicator-gtk3
|zusatzinfo=Für das Tray-Icon notwendig
|zusatzinfo=Für das Tray-Icon unter [[Wayland]] notwendig
}}
}}


Damit udiskie wie vorgesehen benutzt werden kann, muss der Programmaufruf {{ic|udiskie}} in das Autostartsystem der verwendeten grafischen Umgebung aufgenommen werden. Es sollte zudem ein [[:Kategorie:Panel|Panel]] oder sonstiges vorhanden sein, das die Anzeige von Tray-Icons erlaubt.
Damit udiskie wie vorgesehen benutzt werden kann, muss der Programmaufruf {{ic|udiskie}} in das Autostartsystem der verwendeten grafischen Umgebung aufgenommen werden. Es sollte zudem ein [[:Kategorie:Panel|Panel]] oder sonstiges vorhanden sein, das die Anzeige von Tray-Icons erlaubt, sofern man dieses verwenden möchte.


== Verwendung ==
== Verwendung ==
Zeile 28: Zeile 27:
/dev/sda: SanDisk Ultra USB 3.0 ->
/dev/sda: SanDisk Ultra USB 3.0 ->
/dev/sda1: CPBA_X64FRE_DE-DE_DV9 -> /run/media/username/CPBA_X64FRE_DE-DE_DV9
/dev/sda1: CPBA_X64FRE_DE-DE_DV9 -> /run/media/username/CPBA_X64FRE_DE-DE_DV9
/dev/sda2: UEFI_NTFS -> /run/username/username/UEFI_NTFS
/dev/sda2: UEFI_NTFS -> /run/media/username/UEFI_NTFS
}}
}}


Dies listet eine Übersicht aller verwaltbaren Datenträger auf. Durch die Ausgabeanpassung mittels des Parameters {{ic|--output}} werden die [[Gerätedatei|Gerätedateien]] der Partitionen, sowie der Name des Datenträgers angezeigt, und auch direkt, wo diese gemountet sind.
Dies listet eine Übersicht aller verwaltbarer Datenträger auf. Durch die Ausgabeanpassung mittels des Parameters {{ic|--output}} werden die [[Gerätedatei|Gerätedateien]] der Partitionen, sowie der Name des Datenträgers angezeigt, und auch direkt, ob und wo diese gemountet sind.


{{hc|udiskie-umount /run/media/username/UEFI_NTFS|/org/freedesktop/UDisks2/block_devices/sda2 wurde ausgehängt}}
{{hc|udiskie-umount /run/media/username/UEFI_NTFS|/org/freedesktop/UDisks2/block_devices/sda2 wurde ausgehängt}}
Zeile 38: Zeile 37:


== Konfiguration ==
== Konfiguration ==
Die Konfiguration von udiskie wird in der Datei {{ic|~/.config/udiskie/config.yml}} in {{wikipedia|YAML}} vorgenommen. Es können viele Optionen auch beim Programmaufruf mittels {{ic|udiskie}} direkt übergeben werden. Mittels {{ic|1=udiskie --config=/pfad/zur/datei.yml}} kann eine alternative Konfigurationsdatei benutzt werden, mittels {{ic|udiskie --no-config}} wird udiskie in der Standardkonfiguration geladen.
Die Konfiguration von udiskie wird in der Datei {{ic|~/.config/udiskie/config.yml}} in {{wikipedia|YAML}} vorgenommen. Optional kann eine entsprechend umformatierte Konfiguration auch in {{wikipedia|JSON}} in der Datei {{ic|~/.config/udiskie/config.json}} vorgenommen werden


Die folgenden Beispiele gehen auf die Konfiguration mittels Standard-Konfigurationsdatei {{ic|~/.config/udiskie/config.yml}} und einem Aufruf von {{ic|udiskie}} ohne weitere Parameter aus. Die ausführliche [[Manpage]] von udiskie listet alle möglichen Parameter für udiskie und seine Zusatztools auf.
Es können viele Optionen direkt beim Programmaufruf mittels {{ic|udiskie}} übergeben werden. Mittels {{ic|1=udiskie --config=/pfad/zur/datei.yml}} kann eine alternative Konfigurationsdatei benutzt werden, mittels {{ic|udiskie --no-config}} wird udiskie in der Standardkonfiguration geladen.
 
Die folgenden Beispiele gehen auf die Konfiguration mittels Standard-Konfigurationsdatei {{ic|~/.config/udiskie/config.yml}} in YAML, und einem Aufruf von {{ic|udiskie}} ohne weitere Parameter ein. Die ausführliche [[Manpage]] von udiskie listet alle möglichen Befehlszeilenoptionen für udiskie und seine Zusatztools auf.


=== Generelle Programmkonfiguration ===
=== Generelle Programmkonfiguration ===
=== Ignorieren von Datenträgern ===
udiskie verfügt bereits über eine sinnvolle Standardkonfiguration, von daher muss für das Programm selbst nicht mehr viel eingestellt werden.
=== Benachrichtigung bei Aktivität ===
 
Zum einen wäre da das ganz sinnvolle Tray-Icon, ohne das udiskie nur per Befehlszeile zu bedienen wäre und der Vorteil eines für Anwender leicht zu benutzenden Menüs damit entfallen würde. Zum anderen ist da die Möglichkeit, schnell und einfach ein Terminalfenster oder den Dateimanager im Mountverzeichnis der Partition zu öffnen.
 
Dies lässt sich im Abschnitt {{ic|program_options}} entsprechend definieren.
 
{{hc|1=~/.config/udiskie/config.yml|2=
program_options:
  tray: auto                              # Tray-Icon
  file_manager: thunar                    # Programm für den Dateimanager-Menüpunkt
  terminal: alacritty --working-directory  # Programm für den Terminal-Menüpunkt
}}
 
Bei Verwendung von {{ic|auto}} fürs Tray-Icon wird das Icon automatisch angezeigt, sobald ein verwaltbarer Datenträger erkannt wurde. Das Icon wird ansonsten nicht angezeigt. Will man das Icon immer sehen, um zum Beispiel schnell auf „Abbild einhängen“ zugreifen zu können, so kann {{ic|tray: true}} verwendet werden. Will man das Icon nie sehen, lässt man die Konfiguration weg, oder kann der Vollständigkeit halber auch {{ic|tray: false}} setzen.
 
Wenn der Dateimanager geöffnet wird, wird der Pfad unter dem die Partition gemountet an die Angabe des Dateimanagers angehängt. Es wird also {{ic|thunar /pfad/zum/mountpoint}} ausgeführt. Will man den Dateimanagermenüeintrag nicht anzeigen, so kann man {{ic|file_manager: false}} verwenden. Wenn man den Konfigurationseintrag weg lässt, wird {{ic|xdg-open}} benutzt.
 
Beim Aufruf des Terminals, wird der Pfad ebenfalls am Ende an den Befehl angehängt. Im Beispiel wird [[Alacritty]] mit dem {{ic|--working-directory}}-Parameter verwendet, was beim Aufruf dann zu {{ic|alacritty --working-directory /pfad/zum/mountpoint}} wird, wodurch Alacritty den Pfad an die [[:Kategorie:Shell|Shell]] weitergibt, und diese sich damit in diesem Verzeichnis öffnet. Will man den Terminal-Menüpunkt nicht benutzen, so kann man die Konfiguration dazu einfach weg lassen. Standardmäßig wird kein Terminal verwendet.
 
=== Datenträger-Optionen ===
Um Regeln für Datenträger zu erstellen, besteht die Möglichkeit, im Abschnitt {{ic|device_config}} beliebig viele Filter anzugeben, und für diese Filter beliebig viele Regeln zu setzen. Als Filter können alle in der Manpage beschriebenen ''Device Attributes'' verwendet werden.
 
{{hc|1=~/.config/udiskie/config.yml|2=
device_config:
  - device_file: /dev/sda
    ignore: true
  - id_label: backup_*
    options: [noexec]
}}
 
Hier werden zwei Filter definiert. Zum einen wird explizit die Gerätedatei {{ic|/dev/sda}} referenziert, zum anderen alle Dateisystemlabels, die mit {{ic|backup_}} beginnen. Wenn Filter mehrfach definiert werden, wird nur der erste Filter übernommen. Das Userbezogene Regelset wird dem Standard-Regelset vorangestellt, so dass Standardregeln durch Userregeln überschrieben werden.
 
Im Beispiel wird einmal die Regel {{ic|ignore: true}} definiert, damit wird das mit dem Filter übereinstimmende ignoriert. In diesem Fall also die Gerätedatei des Datenträgers, und damit alle auf dem Datenträger befindlichen Partitionen. Mittels {{ic|options}} im zweiten Filterabschnitt wird allen Dateisystemen beginnend mit dem Label {{ic|backup_}} Mountoption {{ic|noexec}} übergeben, wodurch verhindert wird, dass von diesem Dateisystem aus Scripts Programme direkt gestartet werden können.
 
Es besteht auch die Möglichkeit, in einem Filter mehrere Attribute zu definieren.
 
{{hc|1=~/.config/udiskie/config.yml|2=
device_config:
  - id_uuid:
    - 7de51fa......
    - ed451fe......
    automount: false
    skip: true
}}
 
In diesem Beispiel wird ein Filter für die UUID des Dateisystems erstellt, der für zwei verschiedene UUIDs greift. Für beide erkannten Dateisysteme wird definiert, dass diese nicht automatisch eingebunden werden sollen, und dass alle weiteren Regeln die eventuell noch auf diese Dateisysteme zutreffen könnten übersprungen werden sollen.
 
Zudem kann man auch Regeln ohne Filter definieren, wodurch diese auf alle verwaltbaren Dateisysteme angewendet werden.
 
{{hc|1=~/.config/udiskie/config.yml|2=
device_config:
  automount: false
}}
 
Hiermit wird definiert, dass alle Dateisysteme nicht automatisch eingebunden werden. Man muss also immer über das Menü oder über {{ic|udiskie-mount}} die erkannten Dateisysteme explizit mounten.
 
=== Benachrichtigung über Aktivitäten ===
Da udiskie die ''FreeDesktop Notifications Specification'' benutzt, um Benachrichtigungen zu erstellen, können alle Benachrichtigungssysteme Verwendet werden, die dies ebenfalls unterstützen. In der Konfiguration kann man zum Beispiel diverse Timeouts für die Anzeigedauer der Benachrichtigungen einstellen. Auch hier sei wieder auf die [[Manpage]] verwiesen, in der alle Aktionen gelistet werden.
 
[[Datei:Udiskie mount notification.png|thumb|300px|Eine Benachrichtigung über das Mounten einer Partition, angezeigt mit [[Mako]].]]
{{hc|1=~/.config/udiskie/config.yml|2=
notifications:
  timeout: 10          # udiskie-Standard-Timeout
  device_mounted: -1    # Partition wird gemountet
  device_unmounted: -1  # Partition wird wieder getrennt
  device_added: false  # Gerät wurde erkannt
  device_removed: 5    # Erkanntes Gerät wurde entfernt
}}
 
Das Beispiel setzt zuerst einen Standardtimeout für alle Benachrichtigungen von udiskie, die nicht explizit konfiguriert sind, hier 10 Sekunden. Danach werden für verschiedene Aktivitäten andere Timeouts gesetzt. Mit {{ic|-1}} wird definiert, dass der Standard-Timeout des Benachrichtigungsdienstes genutzt werden soll. Mittels {{ic|false}} wird angegeben, dass für diese aktion keine Benachrichtigung verwendet werden soll.
 
Will man die Benachrichtigungen gar nicht benutzen, muss man nicht überall {{ic|false}} eintragen, sondern kann diese in der Programmkonfiguration generell ausschalten.
 
{{hc|1=~/.config/udiskie/config.yml|2=
program_options:
  notify: false
}}
 
Hier muss man allerdings aufpassen: Wenn man ein Gerät trennt, und noch Daten auf das Gerät geschrieben werden oder die Snychronisierung des Schreibcaches mit dem Datenträger länger dauert, ist nicht offenbar, dass man den Datenträger entfernen kann. Die Benachrichtigung für {{ic|device_unmounted}} würde dies erkennbar machen, weil diese erst erscheint, wenn das Dateisystem ausgehangen wurde.
 
== Troubleshooting ==
=== Flaches Menü unter Wayland ===
[[Datei:Udiskie menu workarounds.png|thumb|250px|Angepasstes Menü mit den Workaround-Parametern um die Menüstruktur etwas abzuflachen und die Checkboxen zu verschieben.]]
Die Konfigurationsoption {{ic|menu: flat}} erlaubt es eigentlich, ein verflachtes Menü (die Partitionsoptionen pro Partition alle in einem Menü, unabhängig des Datenträgers von dem sie kommen) über Linksklick auf das Icon zu öffnen.
 
Unter [[Wayland]] benutzt udiskie {{paket|libappindicator-gtk3|AppIndicator}}, dieses unterstützt die standardmäßige Variante des flachen Menüs jedoch nicht (siehe [https://github.com/coldfix/udiskie/issues/270 #270] {{sprache|en}}).
 
Man kann udiskie mittels des Parameters {{ic|--no-menu-update-workaround}} starten, dies entfernt das Zwischenmenü „Verwaltete Geräte“ und listet alle verwaltbaren Datenträger direkt im Hauptmenü.
 
=== Checkboxposition anpassen/korrigieren ===
Standardmäßig werden die Checkboxen für die Benachrichtigungen und das automatische Einhängen eingerückt angezeigt, was es laut dem Entwickler ermöglicht, individuelle Icons für die Checkboxen zu verwenden.
 
In den Issues [https://github.com/coldfix/udiskie/issues/215 #215] {{sprache|en}} und [https://github.com/coldfix/udiskie/issues/251 #251] {{sprache|en}} wird dies thematisiert, und auch der Workaround sowie die Gründe besprochen.
 
Will man die „normalen“ GTK-Checkboxen in der Checkboxspalte des Menüs haben, so kann man dies mittels {{ic|--no-menu-checkbox-workaround}} einstellen.


== Weblinks ==
== Weblinks ==
* [https://github.com/coldfix/udiskie Offizielles Git-Repo] {{sprache|en}}
* [https://github.com/coldfix/udiskie Offizielles Git-Repo] {{sprache|en}}
* [https://pypi.org/project/udiskie/ PyPI-Projektseite] {{sprache|en}}
* [https://pypi.org/project/udiskie/ PyPI-Projektseite] {{sprache|en}}
[[Kategorie:Systemverwaltung]]

Aktuelle Version vom 14. März 2025, 15:39 Uhr

udiskie ist ein in Python geschriebener udisks-Wrapper, der es möglich macht, Userbezogen über automatische und regelbasierte Konfiguration, Befehlszeilen-Tools, oder ein grafisches Menü Wechseldatenträger zu mounten, zu verwalten, und auf diese zuzugreifen.

Installation

udiskie ist als udiskie in extra verfügbar, und kann von dort mittels Pacman installiert werden.

# udiskie an sich
pacman -S udiskie

# Für das Tray-Icon unter Wayland notwendig
pacman -S libappindicator-gtk3

Damit udiskie wie vorgesehen benutzt werden kann, muss der Programmaufruf udiskie in das Autostartsystem der verwendeten grafischen Umgebung aufgenommen werden. Es sollte zudem ein Panel oder sonstiges vorhanden sein, das die Anzeige von Tray-Icons erlaubt, sofern man dieses verwenden möchte.

Verwendung

Das Hauptmenü des Tray-Icons.

Standardmäßig ist wird das Tray-Icon nicht angezeigt, sondern muss in der Konfiguration erst aktiviert werden (siehe dort). Bei Anschluss eines durch udiskie verwaltbaren Datenträgers bietet das Icon dann per Rechtsklick ein einfaches Menü an, über das die wichtigsten Optionen der aktuellen Instanz direkt eingestellt werden können.

Über „Abbild einhängen“ können Datenträger-Images (z.B. mittels dd erstellte Dumps, oder ISO-Dateien) gemountet werden. Und sofern ein Datenträger verschlüsselt ist, wird beim mounten automatisch nach dem Passwort gefragt.

Das Gerätemenü zeigt einen USB-Stick mit zwei Partitionen an.

Über den Menüpunkt „Verwaltete Geräte“ erreicht man alle Geräte, die über udiskie verwaltet werden können, von dort bekommt man dann je Gerät ein weiteres Menü, über das für alle verwaltbaren Partitionen auf dem Gerät entsprechende Optionen angezeigt werden.

Über „Aushängen“ wird die jeweilige partition ausgehangen, über das allgemeine „Auswerfen“ werden alle Partitionen ausgehangen. Geräte, die es unterstützen, können mittels „Abschalten“ auch stromlos gemacht werden.

Sofern man das Menü nicht benutzen möchte, kann man sich der mitgelieferten Befehlszeilen-Tools udiskie-info, udiskie-mount, und udiskie-unmount bedienen.

udiskie-info --all --output '{ui_label} -> {mount_path}'
/dev/sda: SanDisk Ultra USB 3.0 ->
/dev/sda1: CPBA_X64FRE_DE-DE_DV9 -> /run/media/username/CPBA_X64FRE_DE-DE_DV9
/dev/sda2: UEFI_NTFS -> /run/media/username/UEFI_NTFS

Dies listet eine Übersicht aller verwaltbarer Datenträger auf. Durch die Ausgabeanpassung mittels des Parameters --output werden die Gerätedateien der Partitionen, sowie der Name des Datenträgers angezeigt, und auch direkt, ob und wo diese gemountet sind.

udiskie-umount /run/media/username/UEFI_NTFS
/org/freedesktop/UDisks2/block_devices/sda2 wurde ausgehängt

Damit wurde die Partition UEFI_NTFS ausgehängt. Analog dazu funktioniert das Einhängen von Datenträgern oder Datenträgerabbildern genau so mittels udiskie-mount /pfad/zur/datei.

Konfiguration

Die Konfiguration von udiskie wird in der Datei ~/.config/udiskie/config.yml in YAML vorgenommen. Optional kann eine entsprechend umformatierte Konfiguration auch in JSON in der Datei ~/.config/udiskie/config.json vorgenommen werden

Es können viele Optionen direkt beim Programmaufruf mittels udiskie übergeben werden. Mittels udiskie --config=/pfad/zur/datei.yml kann eine alternative Konfigurationsdatei benutzt werden, mittels udiskie --no-config wird udiskie in der Standardkonfiguration geladen.

Die folgenden Beispiele gehen auf die Konfiguration mittels Standard-Konfigurationsdatei ~/.config/udiskie/config.yml in YAML, und einem Aufruf von udiskie ohne weitere Parameter ein. Die ausführliche Manpage von udiskie listet alle möglichen Befehlszeilenoptionen für udiskie und seine Zusatztools auf.

Generelle Programmkonfiguration

udiskie verfügt bereits über eine sinnvolle Standardkonfiguration, von daher muss für das Programm selbst nicht mehr viel eingestellt werden.

Zum einen wäre da das ganz sinnvolle Tray-Icon, ohne das udiskie nur per Befehlszeile zu bedienen wäre und der Vorteil eines für Anwender leicht zu benutzenden Menüs damit entfallen würde. Zum anderen ist da die Möglichkeit, schnell und einfach ein Terminalfenster oder den Dateimanager im Mountverzeichnis der Partition zu öffnen.

Dies lässt sich im Abschnitt program_options entsprechend definieren.

~/.config/udiskie/config.yml
program_options:
  tray: auto                               # Tray-Icon
  file_manager: thunar                     # Programm für den Dateimanager-Menüpunkt
  terminal: alacritty --working-directory  # Programm für den Terminal-Menüpunkt

Bei Verwendung von auto fürs Tray-Icon wird das Icon automatisch angezeigt, sobald ein verwaltbarer Datenträger erkannt wurde. Das Icon wird ansonsten nicht angezeigt. Will man das Icon immer sehen, um zum Beispiel schnell auf „Abbild einhängen“ zugreifen zu können, so kann tray: true verwendet werden. Will man das Icon nie sehen, lässt man die Konfiguration weg, oder kann der Vollständigkeit halber auch tray: false setzen.

Wenn der Dateimanager geöffnet wird, wird der Pfad unter dem die Partition gemountet an die Angabe des Dateimanagers angehängt. Es wird also thunar /pfad/zum/mountpoint ausgeführt. Will man den Dateimanagermenüeintrag nicht anzeigen, so kann man file_manager: false verwenden. Wenn man den Konfigurationseintrag weg lässt, wird xdg-open benutzt.

Beim Aufruf des Terminals, wird der Pfad ebenfalls am Ende an den Befehl angehängt. Im Beispiel wird Alacritty mit dem --working-directory-Parameter verwendet, was beim Aufruf dann zu alacritty --working-directory /pfad/zum/mountpoint wird, wodurch Alacritty den Pfad an die Shell weitergibt, und diese sich damit in diesem Verzeichnis öffnet. Will man den Terminal-Menüpunkt nicht benutzen, so kann man die Konfiguration dazu einfach weg lassen. Standardmäßig wird kein Terminal verwendet.

Datenträger-Optionen

Um Regeln für Datenträger zu erstellen, besteht die Möglichkeit, im Abschnitt device_config beliebig viele Filter anzugeben, und für diese Filter beliebig viele Regeln zu setzen. Als Filter können alle in der Manpage beschriebenen Device Attributes verwendet werden.

~/.config/udiskie/config.yml
device_config:
  - device_file: /dev/sda
    ignore: true
  - id_label: backup_*
    options: [noexec]

Hier werden zwei Filter definiert. Zum einen wird explizit die Gerätedatei /dev/sda referenziert, zum anderen alle Dateisystemlabels, die mit backup_ beginnen. Wenn Filter mehrfach definiert werden, wird nur der erste Filter übernommen. Das Userbezogene Regelset wird dem Standard-Regelset vorangestellt, so dass Standardregeln durch Userregeln überschrieben werden.

Im Beispiel wird einmal die Regel ignore: true definiert, damit wird das mit dem Filter übereinstimmende ignoriert. In diesem Fall also die Gerätedatei des Datenträgers, und damit alle auf dem Datenträger befindlichen Partitionen. Mittels options im zweiten Filterabschnitt wird allen Dateisystemen beginnend mit dem Label backup_ Mountoption noexec übergeben, wodurch verhindert wird, dass von diesem Dateisystem aus Scripts Programme direkt gestartet werden können.

Es besteht auch die Möglichkeit, in einem Filter mehrere Attribute zu definieren.

~/.config/udiskie/config.yml
device_config:
  - id_uuid:
    - 7de51fa......
    - ed451fe......
    automount: false
    skip: true

In diesem Beispiel wird ein Filter für die UUID des Dateisystems erstellt, der für zwei verschiedene UUIDs greift. Für beide erkannten Dateisysteme wird definiert, dass diese nicht automatisch eingebunden werden sollen, und dass alle weiteren Regeln die eventuell noch auf diese Dateisysteme zutreffen könnten übersprungen werden sollen.

Zudem kann man auch Regeln ohne Filter definieren, wodurch diese auf alle verwaltbaren Dateisysteme angewendet werden.

~/.config/udiskie/config.yml
device_config:
  automount: false

Hiermit wird definiert, dass alle Dateisysteme nicht automatisch eingebunden werden. Man muss also immer über das Menü oder über udiskie-mount die erkannten Dateisysteme explizit mounten.

Benachrichtigung über Aktivitäten

Da udiskie die FreeDesktop Notifications Specification benutzt, um Benachrichtigungen zu erstellen, können alle Benachrichtigungssysteme Verwendet werden, die dies ebenfalls unterstützen. In der Konfiguration kann man zum Beispiel diverse Timeouts für die Anzeigedauer der Benachrichtigungen einstellen. Auch hier sei wieder auf die Manpage verwiesen, in der alle Aktionen gelistet werden.

Eine Benachrichtigung über das Mounten einer Partition, angezeigt mit Mako.
~/.config/udiskie/config.yml
notifications:
  timeout: 10           # udiskie-Standard-Timeout
  device_mounted: -1    # Partition wird gemountet
  device_unmounted: -1  # Partition wird wieder getrennt
  device_added: false   # Gerät wurde erkannt
  device_removed: 5     # Erkanntes Gerät wurde entfernt

Das Beispiel setzt zuerst einen Standardtimeout für alle Benachrichtigungen von udiskie, die nicht explizit konfiguriert sind, hier 10 Sekunden. Danach werden für verschiedene Aktivitäten andere Timeouts gesetzt. Mit -1 wird definiert, dass der Standard-Timeout des Benachrichtigungsdienstes genutzt werden soll. Mittels false wird angegeben, dass für diese aktion keine Benachrichtigung verwendet werden soll.

Will man die Benachrichtigungen gar nicht benutzen, muss man nicht überall false eintragen, sondern kann diese in der Programmkonfiguration generell ausschalten.

~/.config/udiskie/config.yml
program_options:
  notify: false

Hier muss man allerdings aufpassen: Wenn man ein Gerät trennt, und noch Daten auf das Gerät geschrieben werden oder die Snychronisierung des Schreibcaches mit dem Datenträger länger dauert, ist nicht offenbar, dass man den Datenträger entfernen kann. Die Benachrichtigung für device_unmounted würde dies erkennbar machen, weil diese erst erscheint, wenn das Dateisystem ausgehangen wurde.

Troubleshooting

Flaches Menü unter Wayland

Angepasstes Menü mit den Workaround-Parametern um die Menüstruktur etwas abzuflachen und die Checkboxen zu verschieben.

Die Konfigurationsoption menu: flat erlaubt es eigentlich, ein verflachtes Menü (die Partitionsoptionen pro Partition alle in einem Menü, unabhängig des Datenträgers von dem sie kommen) über Linksklick auf das Icon zu öffnen.

Unter Wayland benutzt udiskie AppIndicator, dieses unterstützt die standardmäßige Variante des flachen Menüs jedoch nicht (siehe #270 ).

Man kann udiskie mittels des Parameters --no-menu-update-workaround starten, dies entfernt das Zwischenmenü „Verwaltete Geräte“ und listet alle verwaltbaren Datenträger direkt im Hauptmenü.

Checkboxposition anpassen/korrigieren

Standardmäßig werden die Checkboxen für die Benachrichtigungen und das automatische Einhängen eingerückt angezeigt, was es laut dem Entwickler ermöglicht, individuelle Icons für die Checkboxen zu verwenden.

In den Issues #215 und #251 wird dies thematisiert, und auch der Workaround sowie die Gründe besprochen.

Will man die „normalen“ GTK-Checkboxen in der Checkboxspalte des Menüs haben, so kann man dies mittels --no-menu-checkbox-workaround einstellen.

Weblinks