Comment puis-je copier le chemin complet des fichiers et des dossiers dans Nautilus ? Dans le menu contextuel du clic droit, cette option n'est pas proposée. Dans la fenêtre des propriétés du fichier/dossier, je ne peux copier que le chemin d'accès au dossier.
Réponses
Trop de publicités?Créer le fichier et rendre exécutable
sudo touch /usr/share/nautilus-python/extensions/nautilus-copy-paths.py
sudo chmod +x /usr/share/nautilus-python/extensions/nautilus-copy-paths.py
sudo gedit /usr/share/nautilus-python/extensions/nautilus-copy-paths.py
nautilus -q
Ensuite, lors de l'édition du passé, je mets le contenu ci-dessous et je redémarre Nautilus après.
import os
from gi import require_version
require_version('Gtk', '3.0')
require_version('Nautilus', '3.0')
from gi.repository import Gdk, Gtk, Nautilus, GObject
from gettext import gettext, bindtextdomain, textdomain
NAUTILUS_PATH="/usr/bin/nautilus"
class NautilusAdmin(Nautilus.MenuProvider, GObject.GObject):
"""Simple Nautilus extension that adds some file path actions to
the right-click menu, using GNOME's new admin backend."""
def __init__(self):
pass
def get_file_items(self, window, files):
"""Returns the menu items to display when one or more files/folders are
selected."""
# Don't show when more than 1 file is selected
if len(files) != 1:
return
file = files[0]
# Add the menu items
items = []
self._setup_gettext();
self.window = window
if file.get_uri_scheme() == "file": # must be a local file/directory
if file.is_directory():
if os.path.exists(NAUTILUS_PATH):
items += [self._create_nautilus_item(file)]
return items
def get_background_items(self, window, file):
"""Returns the menu items to display when no file/folder is selected
(i.e. when right-clicking the background)."""
# Add the menu items
items = []
self._setup_gettext();
self.window = window
if file.is_directory() and file.get_uri_scheme() == "file":
if os.path.exists(NAUTILUS_PATH):
items += [self._create_nautilus_item(file)]
return items
def _setup_gettext(self):
"""Initializes gettext to localize strings."""
try: # prevent a possible exception
locale.setlocale(locale.LC_ALL, "")
except:
pass
bindtextdomain("nautilus-admin", "/usr/share/locale")
textdomain("nautilus-admin")
def _create_nautilus_item(self, file):
item = Nautilus.MenuItem(name="NautilusAdmin::Nautilus",
label=gettext("Copy path"),
tip=gettext("Copy File path to clipboard"))
item.connect("activate", self._nautilus_run, file)
return item
def _nautilus_run(self, menu, file):
"""'Copy File path' menu item callback."""
uri = file.get_uri()
file_path = uri.replace("file://", "")
clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clipboard.set_text(file_path, -1)
clipboard.store()
J'ai juste modifié la source de ces extensions qui fonctionne pour faire ce que je voulais. https://fostips.com/open-as-administrator-ubuntu-21-04-fix/
J'espère que cela vous sera utile
La fonctionnalité de copie d'un chemin de fichier a été modifiée (c'est-à-dire, à des fins pratiques, cassée) depuis la 20.04 pour répondre aux exigences de fonctionnement de l'extension Desktop Icons Gnome Shell. La bonne nouvelle est que l'ancien comportement, où une copie placera le chemin d'accès au fichier brut dans le presse-papiers, est restauré dans Files 40.0. Files 40 qui se retrouvera dans Ubuntu 21.10, ce qui rendra les réponse acceptée de cette question valable à nouveau.
- Réponses précédentes
- Plus de réponses