web-dev-qa-db-fra.com

Comment personnaliser le menu contextuel dans Nautilus?

De temps en temps, je propose des idées d’actions que je souhaiterais voir figurer dans le menu contextuel de Nautilus. Comment puis-je les ajouter là? Existe-t-il un plugin Thunar UCA pour Nautilus?

28
Ivan

La réponse ci-dessous est obsolète: une réponse récemment mise à jour est celle-ci .


Les menus contextuels de Nautilus étaient personnalisables avec extensions de Nautilus . Soyez averti que ce lien mène à la documentation archivée; Les développeurs Gnome ont supprimé cette documentation et ne prennent plus en charge ce type de personnalisation. Cela peut quand même marcher.

Vous pouvez également placer des scripts Shell simples dans le répertoire ~/.local/share/nautilus/scripts (~/.gnome2/nautilus-scripts dans les versions précédentes). Ils apparaîtront dans le menu contextuel du fichier sous le sous-menu Scripts .

24
ulidtko

Mise à jour pour Ubuntu 18.04

À la date de publication Ubuntu 18.04, Nautilus-Actions était/n'est plus disponible. Il semble également avoir été remplacé par un nouveau programme, appelé Filemanager-Actions, qui semble sinon identique.


Pour installer ce programme, voir la solution this .


Actions Nautilus

Nous pouvons définir nos propres éléments de menu contextuel par clic droit avec nautilus-actions Install nautilus-actions .

  • Exécutez le Outil de configuration Nautilus-Actions à partir du tableau de bord ou d'un terminal avec

    nautilus-actions-config-tool
    

enter image description here

  • Dans l'onglet Action, attribuez à votre action une étiquette sensible, par exemple: "Open in Terminator" et choisissez de l'afficher dans la sélection ou dans le menu contextuel.

  • Ouvrez ensuite l’onglet Commande pour entrer les commandes à exécuter.

enter image description here

  • Indiquez le chemin complet de votre commande (/usr/bin/command_to_run) et des options du programme.

  • Après la déconnexion et l'entrée , le menu contextuel du clic droit ci-dessous s'affiche:

enter image description here


29
Takkat

On peut utiliser l'extension python-nautilus comme alternative à nautilus-actions.

À installer:

Sudo apt-get install python-nautilus

Un exemple simple:

import os

from gi.repository import Nautilus, GObject

class ColumnExtension(GObject.GObject, Nautilus.MenuProvider):
    def __init__(self):
        pass
    def menu_activate_cb(self, menu, file):
         os.system("write here your simple bash command & pid=$!")

    def get_background_items(self, window, file):
        item = Nautilus.MenuItem(name='ExampleMenuProvider::Foo2', 
                                         label='Name of your item', 
                                         tip='',
                                         icon='')
        item.connect('activate', self.menu_activate_cb, file)
        return item,

Copiez ce script python sous ~/.local/share/nautilus-python/extensions et redémarrez Nautilus. Lorsque vous faites un clic droit sur le bureau et sélectionnez votre élément, votre commande bash simple sera exécutée :)

11
mnrl

29 novembre 2016 ère Ubuntu 14.04, 16.04 et 16.10 plus les versions antérieures.

Voir les instructions de Nautilus pour créer votre propre script ici ( Aide Ubuntu - Scripts Nautilus Comment) ). En gros vous:

  • Accédez au répertoire ~/.local/share/nautilus/scripts/
  • Placez votre script (écrit en Bash, Perl ou Python) à cet endroit.
  • Marquer le script comme exécutable avec Nautilus ou depuis un terminal avec chmod +x script_name
  • Nautilus met des variables d'environnement à la disposition de votre script: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI et NAUTILUS_SCRIPT_WINDOW_GEOMETRY.

Des exemples de scripts sont disponibles à l'adresse ( Aide Ubuntu - Exemples de scripts Nautilus ) pour l'envoi de fichiers par courrier électronique, le montage d'un fichier ISO, la définition des fichiers en lecture seule, la modification du fichier avec les privilèges gedit ROOT, l'ouverture du terminal à l'emplacement actuel. , etc.

Parcourez les scripts et utilisez-en un pour chiffrer des fichiers, les télécharger dans le cloud, les compresser pour les sauvegarder ou tout autre travail à effectuer.

3
WinEunuuchs2Unix

Si vous voulez pouvoir faire quelque chose à tout moment, faites comme ulidtko et utilisez ~/.gnome2/nautilus-scripts.

Si vous voulez pouvoir personnaliser quand vous le voyez, installez le paquet nautilus-actions, puis allez dans Système-> Préférences-> Configuration des actions Nautilus.

3
zpletan

TL; DR

La meilleure solution pour les développeurs d'applications consiste à utiliser python-nautilus .

Créez votre script python ( suivantexemples et mauvais documentation ) et copiez-le dans le bon dossier:

mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions

Explication détaillée

Supposons que vous souhaitiez créer une application que l'utilisateur installe avec un script ou un fichier .deb. Dans cet esprit, je vais expliquer pourquoi je pense que python-nautilus est une meilleure solution par rapport à nautilus-actions et le scripts nautile .

Actions Nautilus

Cette solution est la seule à offrir une interface graphique et facilite donc la création de comportements complexes, par exemple décider quelles entrées de menu afficher si le type mime du fichier sélectionné est text/plain.

Le principal problème de cette solution est qu’il n’est pas facile (voire possible) d’importer les entrées sur un autre ordinateur sans l’Outil de configuration et l’utilisateur qui l’importe, disons simplement qu’il ne serait pas possible de le faire avec un script.

Scripts Nautilus

C’est la solution la plus simple: choisir un script, le placer dans un dossier et le faire. Cela permettrait certainement à un script d'installation ou à un fichier .deb de créer une nouvelle entrée dans le menu contextuel. Quels sont les problèmes? Où est-ce que je commence...

  • Il apparaît toujours dans un sous-menu Scripts.
  • Cela ne montre pas si vous n'avez rien sélectionné.
  • Cela ne vous permet pas de décider si vous devez ou non afficher l'entrée.
  • N'autorise pas les info-bulles ou les titres différents. (peut-être que je suis pointilleux)

Une bonne application n'utilise pas de raccourcis comme celui-ci, car elle gâche l'expérience utilisateur.

python-nautilus

Pas aussi facile à créer que les solutions précédentes, mais offre le meilleur des deux mondes. Script et personnalisation.

Cette solution vous permet de créer un script python qui reçoit les fichiers sélectionnés dans Nautilus et vous permet de décider si vous souhaitez afficher une entrée ou non et quoi faire avec cette entrée. Il vous permet également de créer des sous-menus et/ou des choses cool.

L'inconvénient est le grand manque de documentation et de développeurs qui veulent juste ajouter une entrée risquent de perdre quelques heures pour créer un prototype fonctionnel (In mes recherches, j’ai trouvé une solution basée sur C qui était bien plus compliquée que cela).

J'utilise normalement le code Visual Studio, alors que sous Windows, il offre une entrée de menu contextuel Open with Visual Studio Code, il lui manque la même fonctionnalité sous Linux. Avec la solution Python, il serait facile de résoudre le problème. Je pense que les applications Linux pourraient bénéficier d’une intégration Nautilus.

J'espère que cette explication vous a aidé à décider quoi choisir.

2