Di tanto in tanto mi vengono in mente idee di azioni che vorrei avere disponibili nel menu contestuale di Nautilus. Come li aggiungo lì? Esiste qualcosa come un plug-in Thunar UCA per Nautilus?
Di tanto in tanto mi vengono in mente idee di azioni che vorrei avere disponibili nel menu contestuale di Nautilus. Come li aggiungo lì? Esiste qualcosa come un plug-in Thunar UCA per Nautilus?
Risposte:
La risposta di seguito è obsoleta: una risposta recentemente aggiornata è questa .
I menu di scelta rapida di Nautilus erano personalizzabili dalle estensioni di Nautilus . Si informa che questo collegamento porta a documenti archiviati; Gli sviluppatori di Gnome hanno rimosso quella documentazione e non supportano più quel tipo di personalizzazione. Potrebbe comunque funzionare comunque.
È inoltre possibile posizionare gli script di shell semplici nella directory ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
nelle versioni precedenti) e verranno visualizzati nel menu di scelta rapida dei file nel sottomenu Script .
~/.local/share/nautilus/scripts
cartella per inserire gli script. E anche in questo caso verranno visualizzati solo gli script quando fai clic destro su un file o una cartella e non spazio vuoto.
Alla data di rilascio di Ubuntu 18.04 Nautilus-Actions era / non è più disponibile. Sembra anche che sia stato sostituito da un nuovo programma, chiamato Filemanager-Actions, che altrimenti sembra identico.
Per installare questo programma, vedere questa soluzione.
Possiamo definire le nostre voci del menu contestuale del tasto destro del mouse con azioni nautilus .
Esegui lo strumento di configurazione Nautilus-Actions dalla Dash o da un terminale con
nautilus-actions-config-tool
Nella scheda Azione assegna alla tua azione un'etichetta sensibile, ad esempio "Apri in Terminator" e scegli di visualizzarla nella selezione o nel menu contestuale.
Quindi aprire la scheda Comando per inserire i comandi da eseguire
Fornisci il percorso completo per il tuo comando ( /usr/bin/command_to_run
) e le opzioni del programma.
Dopo la disconnessione e l'accesso, verrà visualizzato il menu di scelta rapida di seguito:
nautilus-actions-config-tool
, e Aggiungi 'Crea launcher' al menu contestuale di Nautilus (senza gnome-desktop-item-edit
)
Si può usare l' estensione python-nautilus come alternativa a nautilus-actions
.
Installare:
sudo apt-get install python-nautilus
Un semplice esempio:
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,
Copia questo script Python in ~/.local/share/nautilus-python/extensions
e riavvia nautilus. Quando fai clic con il tasto destro sul desktop e selezioni il tuo oggetto, il tuo semplice comando bash verrà eseguito :)
nautilus-python
e extensions
cartelle se non ci sono.
Se vuoi essere in grado di fare qualcosa in qualsiasi momento, fai come dice Ulidtko e usalo ~/.gnome2/nautilus-scripts
.
Se vuoi essere in grado di personalizzare quando lo vedi, installa il pacchetto nautilus-actions, quindi vai su Sistema-> Preferenze-> Configurazione azioni Nautilus.
Era del 29 novembre 2016 Ubuntu 14.04, 16.04 e 16.10 e versioni precedenti.
Vedi le istruzioni di Nautilus per creare il tuo script qui ( Aiuto Ubuntu - Come usare gli script Nautilus ). Fondamentalmente tu:
~/.local/share/nautilus/scripts/
chmod +x script_name
Ci sono script di esempio disponibili in ( Aiuto Ubuntu - Nautilus Sample Scripts ) per inviare file di posta elettronica, montare un file ISO, impostare i file in sola lettura, modificare i file con privilegi ROOT gedit, aprire il terminale nella posizione corrente, ecc.
Guarda gli script e prendine uno come modello per crittografare i file, caricarli sul cloud, comprimere per eseguire il backup o qualunque cosa tu debba fare.
La migliore soluzione per gli sviluppatori di app è usare python-nautilus .
Crea il tuo script Python ( seguenti esempi e documentazione errata ) e copiarlo nella cartella corretta:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Supponiamo che tu voglia creare un'applicazione che l'utente installa con uno script o un .deb
file, tenendo presente che spiegherò perché penso che python-nautilus
sia una soluzione migliore rispetto alle azioni nautilus e agli script nautilus .
Questa è l'unica soluzione per offrire una GUI e quindi rende facile creare comportamenti complessi, ad esempio decidere quali voci di menu mostrare se il tipo mime del file selezionato è text/plain
.
Il problema principale con questa soluzione è che non è facile (se possibile) importare le voci su un altro computer senza lo strumento di configurazione e l'utente che lo importa, diciamo solo che non sarebbe possibile fare con uno script.
Questa è la soluzione più semplice, prendi uno script, mettilo in una cartella e il gioco è fatto. Ciò consentirebbe sicuramente a uno script di installazione o un .deb
file di creare una nuova voce nel menu di scelta rapida. Quali sono i problemi? Da dove comincio...
Una buona app non usa scorciatoie come questa, perché rovina l'esperienza dell'utente.
Non è facile da creare come le soluzioni precedenti, ma offre il meglio di entrambi i mondi. Scripting e personalizzazione.
Questa soluzione consente di creare uno script Python che riceve i file selezionati in nautilus e decidiamo se si desidera mostrare una voce o meno e cosa fare con quella voce. Ti permette anche di creare sottomenu e / o cose interessanti.
Lo svantaggio è la grande mancanza di documentazione e gli sviluppatori che vogliono solo aggiungere una voce potrebbero ritrovarsi a perdere un paio d'ore per creare un prototipo funzionante (nella mia ricerca ho trovato una soluzione basata su C che era molto più complicata di così).
Normalmente uso Visual Studio Code, mentre su Windows offre una voce di menu contestuale Open with Visual Studio Code
, manca la stessa funzionalità su Linux, con la soluzione Python sarebbe facile risolvere il problema. Penso che le app in Linux potrebbero trarre vantaggio dall'integrazione di nautilus.
Spero che questa spiegazione ti abbia aiutato a decidere cosa scegliere.