it-swarm.com.de

Wie passe ich das Kontextmenü in Nautilus an?

Von Zeit zu Zeit überlege ich mir, welche Aktionen ich im Kontextmenü von Nautilus verfügbar haben möchte. Wie füge ich sie dort hinzu? Gibt es so etwas wie ein Thunar UCA-Plugin für Nautilus?

28
Ivan

Die folgende Antwort ist veraltet: Eine kürzlich aktualisierte Antwort lautet diese .


Kontextmenüs von Nautilus waren früher anpassbar mit Nautilus-Erweiterungen . Seien Sie gewarnt, dass dieser Link zu einem archivierten Dokument führt. Gnome-Entwickler haben diese Dokumentation entfernt und unterstützen diese Art der Anpassung nicht mehr. Es kann aber immer noch funktionieren.

Sie können auch einfache Shell-Skripte in das Verzeichnis ~/.local/share/nautilus/scripts (~/.gnome2/nautilus-scripts in früheren Versionen) einfügen. Diese werden im Dateikontextmenü unter dem Untermenü Skripte angezeigt.

24
ulidtko

Update für Ubuntu 18.04

Zum Zeitpunkt der Veröffentlichung von Ubuntu 18.04 war/ist Nautilus-Actions nicht mehr verfügbar. Es scheint auch von einem neuen Programm namens Filemanager-Actions abgelöst worden zu sein, das ansonsten identisch aussieht.


Informationen zum Installieren dieses Programms finden Sie unter this solution.


Nautilus-Aktionen

Wir können unsere eigenen Kontextmenüpunkte mit Rechtsklick definieren mit nautilus-actions Install nautilus-actions .

  • Führen Sie das Nautilus-Actions-Konfigurationstool entweder vom Dash oder von einem Terminal mit aus

    nautilus-actions-config-tool
    

enter image description here

  • Geben Sie in der Registerkarte Aktion Ihrer Aktion eine sinnvolle Bezeichnung, z. "In Terminator öffnen" und wählen Sie diese Option, um sie in der Auswahl oder im Kontextmenü anzuzeigen.

  • Öffnen Sie als Nächstes die Registerkarte Command , um die auszuführenden Befehle einzugeben

enter image description here

  • Geben Sie den vollständigen Pfad zu Ihrem Befehl (/usr/bin/command_to_run) und den Programmoptionen an.

  • Nach dem Abmelden und erneutem Anmelden wird das Kontextmenü mit der rechten Maustaste angezeigt:

enter image description here


29
Takkat

Als Alternative zu nautilus-actions kann die Erweiterung python-nautilus verwendet werden.

Installieren:

Sudo apt-get install python-nautilus

Ein einfaches Beispiel:

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,

Kopieren Sie dieses python Skript unter ~/.local/share/nautilus-python/extensions und starten Sie nautilus neu. Wenn Sie mit der rechten Maustaste auf den Desktop klicken und Ihr Objekt auswählen, wird Ihr einfacher Bash-Befehl ausgeführt :)

11
mnrl

29. November 2016 Ära Ubuntu 14.04, 16.04 und 16.10 plus frühere Versionen.

Weitere Informationen zum Erstellen eines eigenen Skripts finden Sie in der Nautilus-Anleitung hier ( Hilfe zu Ubuntu-Nautilus-Skripten: So wird es gemacht ). Grundsätzlich Sie:

  • Navigiere zum Verzeichnis ~/.local/share/nautilus/scripts/
  • Platzieren Sie Ihr Skript (geschrieben in Bash, Perl oder Python) dort.
  • Markiere das Skript als ausführbar mit Nautilus oder vom Terminal mit chmod +x script_name
  • Nautilus stellt Ihrem Skript Umgebungsvariablen zur Verfügung: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI und NAUTILUS_SCRIPT_WINDOW_GEOMETRY

Unter ( Help Ubuntu - Nautilus Sample Scripts ) befinden sich Beispielskripte für das Versenden von Dateien per E-Mail, das Mounten einer ISO-Datei, das Festlegen von schreibgeschützten Dateien, das Bearbeiten von Dateien mit gedit ROOT-Berechtigungen und das Öffnen des Terminals am aktuellen Standort , usw.

Durchsuchen Sie die Skripts und nehmen Sie eines als Vorlage zum Verschlüsseln von Dateien, Hochladen in die Cloud, Komprimieren zum Sichern oder was auch immer Sie tun müssen.

3

Wenn Sie jederzeit in der Lage sein möchten, etwas zu tun, tun Sie, wie es ulidtko sagt, und verwenden Sie ~/.gnome2/nautilus-scripts.

Wenn Sie in der Lage sein möchten, Anpassungen vorzunehmen, wenn Sie es sehen, installieren Sie das Nautilus-Actions-Paket und gehen Sie dann zu System-> Preferences-> Nautilus Actions Configuration.

3
zpletan

TL; DR

Die beste Lösung für App-Entwickler ist python-nautilus .

Erstellen Sie Ihr python -Skript ( folgtBeispiele und bad Dokumentation ) und kopieren Sie es in den richtigen Ordner:

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

Ausführliche Erklärung

Angenommen, Sie möchten eine Anwendung erstellen, die der Benutzer mit einem Skript oder einer .deb -Datei installiert. In diesem Zusammenhang werde ich erläutern, warum python-nautilus meiner Meinung nach eine bessere Lösung ist als Nautilus-Aktionen und die Nautilus-Skripte .

Nautilus Actions

Dies ist die einzige Lösung, die eine grafische Benutzeroberfläche bietet und es daher einfach macht, ein komplexes Verhalten zu erstellen. Entscheiden Sie beispielsweise, welche Menüeinträge angezeigt werden sollen, wenn der MIME-Typ der ausgewählten Datei text/plain ist.

Das Hauptproblem bei dieser Lösung ist, dass es nicht einfach (wenn überhaupt möglich) ist, die Einträge auf einen anderen Computer zu importieren, ohne dass das Konfigurationstool und der Benutzer sie importieren. Sagen wir einfach, es wäre nicht möglich, mit einem Skript zu arbeiten.

Nautilus-Skripte

Dies ist die einfachere Lösung. Nehmen Sie ein Skript auf, legen Sie es in einen Ordner und fertig. Dies würde es definitiv einem Installationsskript oder einer .deb -Datei ermöglichen, einen neuen Eintrag im Kontextmenü zu erstellen. Was sind die Probleme? Wo soll ich anfangen...

  • Es wird immer unter einem Untermenü "Skripte" angezeigt.
  • Es wird nicht angezeigt, wenn Sie nichts ausgewählt haben.
  • Sie können nicht entscheiden, ob Sie den Eintrag anzeigen möchten oder nicht.
  • Erlaubt keine Tooltips oder andere Titel. (Vielleicht bin ich wählerisch)

Eine gute App verwendet solche Verknüpfungen nicht, da dies die Benutzerfreundlichkeit beeinträchtigt.

Python-Nautilus

Nicht so einfach zu erstellen wie die vorherigen Lösungen, bietet aber das Beste aus beiden Welten. Skripterstellung und Anpassung.

Mit dieser Lösung können Sie ein python -Skript erstellen, das die in nautilus ausgewählten Dateien empfängt, und Sie können entscheiden, ob Sie einen Eintrag anzeigen möchten oder nicht und was Sie mit diesem Eintrag tun möchten. Hier können Sie auch Untermenüs und/oder coole Sachen erstellen.

Der Nachteil ist der große Mangel an Dokumentation, und Entwickler, die nur einen Eintrag hinzufügen möchten , verlieren möglicherweise einige Stunden, um einen funktionierenden Prototyp (In Bei meinen Recherchen habe ich eine Lösung auf Basis von C gefunden, die weitaus komplizierter war.

Normalerweise verwende ich Visual Studio Code, während es unter Windows einen Kontextmenüeintrag Open with Visual Studio Code bietet, unter Linux fehlt ihm die gleiche Funktionalität, mit der Python -Lösung wäre das Problem leicht zu lösen. Ich denke, dass Apps unter Linux von einer Nautilus-Integration profitieren könnten.

Ich hoffe, diese Erklärung hat Ihnen bei der Entscheidung geholfen.

2