Dateipfad aus Nautilus kopieren

  Ralf Hersel   Lesezeit: 2 Minuten  🗪 1 Kommentar

Mit Skripten kann der GNOME-Dateimanager um sinnvolle Funktionen ergänzt werden, z.B. den Pfad einer ausgewählten Datei kopieren.

dateipfad aus nautilus kopieren

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.

Tags

NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, Nautilus, Dateipfad, kopieren, Skript, Paste, Copy

Leo Brandt
Geschrieben von Leo Brandt am 30. Oktober 2022 um 12:37

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