Antworten:
Die folgende Antwort ist veraltet: Eine kürzlich aktualisierte Antwort ist diese .
Früher waren Kontextmenüs von Nautilus durch Nautilus-Erweiterungen anpassbar . 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 im Verzeichnis ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
in früheren Versionen) ablegen. Diese werden im Dateikontextmenü im Untermenü Skripte angezeigt.
~/.local/share/nautilus/scripts
Ordner zum Einfügen Ihrer Skripte verwenden sollten. Und selbst dann werden nur Skripte angezeigt Wenn Sie mit der rechten Maustaste auf eine Datei oder einen Ordner klicken und keinen leeren Bereich.
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 in dieser Lösung.
Wir können unsere eigenen Kontextmenüpunkte mit Nautilus-Aktionen definieren .
Führen Sie das Nautilus-Actions-Konfigurationstool entweder vom Dash oder von einem Terminal mit aus
nautilus-actions-config-tool
In der Aktion Registerkarte geben Sie Ihre Aktion eine sinnvolle Bezeichnung, zB „Open in Terminator“ , und wählen Sie diese in der Auswahl angezeigt werden oder im Kontextmenü.
Öffnen Sie als Nächstes die Registerkarte Befehl , um die auszuführenden Befehle einzugeben
Geben Sie den vollständigen Pfad zu Ihrem Befehl ( /usr/bin/command_to_run
) und den Programmoptionen an.
Nach dem Abmelden und erneuten Anmelden wird das Kontextmenü mit der rechten Maustaste angezeigt:
nautilus-actions-config-tool
, und fügen Sie "gnome-desktop-item-edit
Man kann die Python-Nautilus- Erweiterung als Alternative zu verwenden nautilus-actions
.
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 :)
nautilus-python
und extensions
Ordner , wenn sie nicht da sind.
Wenn Sie jederzeit in der Lage sein möchten, etwas zu tun, tun Sie das, wie es ulidtko sagt, und verwenden Sie es ~/.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.
29. November 2016 Ära Ubuntu 14.04, 16.04 und 16.10 sowie frühere Versionen.
Eine Anleitung zu Nautilus zum Erstellen eines eigenen Skripts finden Sie hier ( Hilfe zu Ubuntu - Nautilus-Skripten ). Grundsätzlich Sie:
~/.local/share/nautilus/scripts/
chmod +x script_name
Unter ( Hilfe zu Ubuntu - Nautilus-Beispielskripten ) finden Sie Beispielskripten 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, 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.
Die beste Lösung für App-Entwickler ist die Verwendung von Python-Nautilus .
Erstellen Sie Ihr Python-Skript ( folgende Beispiele und fehlerhafte Dokumentation ) und kopieren Sie es in den richtigen Ordner:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Angenommen, Sie möchten eine Anwendung erstellen, die der Benutzer mit einem Skript oder einer .deb
Datei installiert. In diesem Zusammenhang erkläre ich, warum ich python-nautilus
eine bessere Lösung im Vergleich zu Nautilus-Aktionen und den Nautilus-Skripten finde .
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 vorliegt text/plain
.
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.
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...
Eine gute App verwendet solche Verknüpfungen nicht, da dies die Benutzerfreundlichkeit beeinträchtigt.
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. Außerdem können Sie 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 ein paar Stunden, um einen funktionierenden Prototyp zu erstellen.
Normalerweise verwende ich Visual Studio Code, während es unter Windows einen Kontextmenüeintrag bietet. Unter Open with Visual Studio Code
Linux fehlt ihm die gleiche Funktionalität. Mit der Python-Lösung wäre es einfach, das Problem 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.