72 votes

Copier le chemin du fichier et du dossier à partir du Nautilus

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.

0voto

jamting Points 893

Nautilus ne fournit pas cette possibilité.
Mais il devrait être possible d'y parvenir si vous écrivez un plugin pour Nautilus.

0voto

Mik R Points 111

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

0voto

vanadium Points 56513

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.

-1voto

David Walker Points 195

Tout simplement sudo apt-get install pcmanfm ouvrez-le, choisissez "conserver dans les démarrages d'Unity" et supprimez Nautilus.

Le logo est le même, vous ne remarquerez pas la différence - sauf que vous pouvez maintenant copier le chemin

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X