web-dev-qa-db-fra.com

Nautilus - pas de support pour les liens durs?

J'ai finalement réussi à étudier et comprendre les liens durs dans ma quête pour vérifier que j'avais bien compris les bases, ce que j'ai réussi à éviter beaucoup. Après avoir réalisé à quel point ils sont brillants, je me demande pourquoi ils ne sont pas mieux supportés par le gestionnaire de fichiers par défaut d'Ubuntu, Nautilus.

Pour le moment, il n’existe qu’une option pour créer un lien vers un fichier, ce qui créera un lien "souple".

enter image description here

Le problème avec ceci est qu'ils cassent dès que vous déplacez ou renommez le fichier original.

Question

Existe-t-il un moyen de faire en sorte que Nautilus crée un lien solide, ou une sorte d’addon/script/configuration/Tweak que je puisse faire pour ajouter l’option dans le menu contextuel, ou un raccourci clavier, pour créer un lien solide fichier?

2
Programster

Apparemment, cette option a été volontairement supprimée il y a des années. De la rubrique Création de liens physiques de bugzilla.gnome.org:

Presque aucun de nos utilisateurs ne connaît le concept de lien dur, alors pourquoi devrions-nous le confondre et même risquer de perdre des données? Vous pouvez utiliser Nautilus-open-terminal et créer des liens physiques manuellement.


La bonne nouvelle est que vous pouvez créer cette option à l'aide du package Nautilus Actions .

1. Installez d'abord le paquet nautilus-actions:

Sudo apt update
Sudo apt install nautilus-actions

Ou utilisez le logiciel Ubuntu:

install nautilus-actions

2. Exécutez le programme:

run nautilus-actions

3. Allez dans "Préférences" et décochez "Créer un menu Action Nautilus racine":

nautilus-actions Preferences

Lorsque cette option est cochée, dans le menu contextuel aura sous-menu, etc.

4. Cliquez sur le bouton Définir une nouvelle action et remplissez les données dans le champ. Action onglet. En tant que libellé de contexte , vous pouvez utiliser Make Hard Link, cochez également uniquement l'option Display item in selection context menu - autrement dit, affichez cet élément lorsqu'un fichier est sélectionné.

Define new action - Action

5. Allez dans l’onglet Commande et remplissez les paramètres:

  • Profil :

    • Label : Default profile - s'il n'y a pas de profil personnalisé.
  • Commande :

    • Chemin : /bin/ln - chemin d'accès au fichier exécutable (ou à la commande).
    • Paramètres : %f 'Hard Link to %b' - cliquez sur le bouton Étiquette pour plus d'informations.
    • Répertoire de travail : %d - désigne le répertoire en cours.

Define new action - Command

6. Parce que les liens physiques dans le répertoire cassent le système de fichiers de plusieurs façons nous devons désactiver cette possibilité. Allez dans l'onglet Mimetypes et ajoutez un nouvelle règle :

  • Filtre de type Mimet : inode/directory,
  • avec l'option Must not match any of sélectionnée.

Define new action - Mimetypes

7. Enregistrez l'action Faire un lien dur :

Define new action - Record

8. Exécutez Nautilus et utilisez l’action Créer un lien dur dans le menu contextuel. :

enter image description here


De plus, si vous souhaitez sauvegarder vos paramètres:

  • le fichier $HOME/.config/nautilus-actions/nautilus-actions.conf contient les préférences d’Actions Nautilus.
  • et les nouvelles actions se trouvent dans le dossier: $HOME/.local/share/file-manager/actions/.

EDIT: Solution utilisant un script

Le même résultat peut être obtenu via un script, place dans $HOME/.local/share/nautilus/scripts/.

Ce script pourrait ressembler à:

~$ cat "$HOME/.local/share/nautilus/scripts/Make Hard Link"

#!/bin/bash

if [ -f "${1}" ]
then
        ln "$1" "Hard Link to $1"
fi

Nous pouvons créer ce script et lui donner des autorisations exécutables via une seule commande:

SNAME="$HOME/.local/share/nautilus/scripts/Make Hard Link"; \
printf '#!/bin/bash\n\nif [ -f \"${1}\" ]\nthen\n\tln \"$1\" \"Hard Link to $1\"\nfi\n' |\
tee "$SNAME"; \
chmod +x "$SNAME"

Le résultat sera:

enter image description here

Références:

2
pa4080