Im GNOME-Dateimanager (GNOME Files, aka Nautilus) ist es in den aktuellen Versionen nicht mehr möglich, einen Dateipfad zu kopieren. Diese Funktion ist jedoch äusserst nützlich, falls man als Programmierer oder Web-Designer häufig die Pfade von Dateien im Code benötigt. Zum Glück gibt es die Möglichkeit den Dateimanager mit eigenen Skripten zu ergänzen. Darüber berichteten wir im Artikel: https://gnulinux.ch/gnome-files-nautilus-durch-skripte-erweitern. Mit diesen Skripten ist es auch möglich, die fehlende Funktion zum Kopieren des Dateipfades hinzuzufügen.
Momentan verhält sich ein Copy/Paste bei einer ausgewählten Datei in Nautilus so, dass folgender Text kopiert wird:
x-special/nautilus-clipboard
copy
file:///home/ralf/delme/bookmarks.html
Zwar ist darin der gewünschte Dateipfad enthalten (/home/ralf/delme/bookmarks.html), jedoch auch überflüssiger Text, den man nicht gebrauchen kann und der nachträglich gelöscht werden muss. Eine andere Möglichkeit besteht in der Tastenkombination: Ctrl+L, Ctrl+C und Ctrl+V zum Einfügen. Ctrl+L schaltet die Adresszeile von der Breadcrumb-Ansicht zur Text-Ansicht um; dort ist dann der Dateipfad zu sehen, welcher mit Copy/Paste verarbeitet werden kann.
Mit einem einzeiligen Skript ist es möglich, die gewünschte Funktion über das Kontext-Menü einer oder mehrerer selektierter Dateien zu erledigen. Wie das Anlegen von eigenen Skripten in Nautilus funktioniert, ist im oben genannten Artikel von Remo erklärt. Das Skript heisst:
/home/ralf/.local/share/nautilus/scripts/Dateipfad kopieren
Man beachte, das die Endung .sh oder .py für ein Bash- oder Python-Skript ausgelassen werden kann, weil der Skriptname genau so im Kontext-Menü von Nautilus erscheint; da möchte man keine Dateiendung haben. Der Inhalt des Skriptes ist sehr einfach:
#!/bin/bash
# requires installation of xclip
echo "${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}" | xclip -sel clip
Neben dem Shebang und dem Kommentar, dass 'xclip' installiert sein muss, gibt es nur eine funktionale Zeile. Der Inhalt der Umgebungsvariable NAUTILUS_SCRIPT_SELECTED_FILE_PATHS wird mittels 'echo' an das Programm 'xclip' gepiped und landet damit in der Zwischenablage. Dieses Skript funktioniert sowohl mit X.org, als auch mit Wayland als Window-Manager.
Hallo Ralf,
ich habe das Script mit Ubuntu 20.04 getestet.
Da die Übergabe des Strings nur mit 2 Zeilenumbrüchen erfolgt (warum auch immer ?),
funktioniert der Aufruf mit folgenden Parametern: echo "${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}" | xclip -r xclip -out | xclip -r
Danke für den Tipp und Gruss Leo Brandt