Come posso scrivere gli script Nautilus in Python?


16

Voglio scrivere una sceneggiatura di Nautilus in Python. È possibile? Se è possibile, come posso farlo?

Risposte:


19

Script di Nautilus

Gli script Nautilus possono essere scritti in qualsiasi linguaggio di programmazione, incluso Python. Devi solo rendere eseguibile il tuo file sorgente di Python e copiarlo ~/.gnome2/nautilus-scripts nelle versioni di Ubuntu precedenti alla 14.04. Per Ubuntu 14.04 e versioni successive la directory è diversa:~/.local/share/nautilus/scripts

Sarà inoltre necessario aggiungere #!/usr/bin/env pythoncome prima riga del file. Si noti che per impostazione predefinita #!/usr/bin/env pythonpunta a Python2. Se hai bisogno specificamente di Python 3, usa #!/usr/bin/env python3.

Una volta fatto tutto questo, lo script sarà accessibile dal scriptssottomenu del menu di scelta rapida in Nautilus.

menu degli script nautilus

Vedi anche: https://help.ubuntu.com/community/NautilusScriptsHowto

Estensioni Nautilus

Le estensioni di Nautilus hanno una maggiore flessibilità rispetto agli script, ad es. possono essere utilizzati per aggiungere un elemento direttamente al menu di scelta rapida. Sono disponibili collegamenti in python ( python-nautilus ).

Visitare la pagina Web di questa libreria e visualizzare la documentazione per ulteriori informazioni.


1
Nota che mentre la domanda e la risposta sono specifiche di Python (e funziona), la stessa strategia è ugualmente efficace per Bash, Perl, Ruby e altri linguaggi di scripting purché il #! indica l'interprete giusto.
Freedom_Ben,

@Freedom_Ben In realtà, non sono solo i linguaggi di script che possono essere utilizzati, ma anche eseguibili compilati. Nautilus esegue semplicemente qualunque file si trovi in ​​quella cartella e fornisce file su cui l'utente desidera operare sull'eseguibile tramite l'ambiente.
Sergiy Kolodyazhnyy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.