¿Cómo puedo escribir scripts de Nautilus en Python?


16

Quiero escribir un script Nautilus en Python. ¿Es eso posible? Si es posible, ¿cómo puedo hacer eso?

Respuestas:


19

Nautilus Scripts

Los scripts de Nautilus se pueden escribir en cualquier lenguaje de programación, incluido python. Solo necesita hacer que su archivo fuente de Python sea ejecutable y copiarlo ~/.gnome2/nautilus-scripts en versiones de Ubuntu anteriores a 14.04. Para Ubuntu 14.04 y posteriores, el directorio es diferente:~/.local/share/nautilus/scripts

También deberá agregar #!/usr/bin/env pythoncomo la primera línea del archivo. Tenga en cuenta que, de forma predeterminada, #!/usr/bin/env pythonapunta a Python2. Si necesitas Python 3 específicamente, úsalo #!/usr/bin/env python3.

Una vez que haya hecho todo esto, se podrá acceder al script desde el scriptssubmenú del menú del botón derecho en Nautilus.

menú de scripts nautilus

Ver también: https://help.ubuntu.com/community/NautilusScriptsHowto

Extensiones Nautilus

Las extensiones de Nautilus tienen más flexibilidad que las secuencias de comandos, por ejemplo. se pueden usar para agregar un elemento directamente al menú contextual. Hay enlaces de python disponibles ( python-nautilus ).

Visite la página web de esta biblioteca y vea la documentación para obtener más información.


1
Tenga en cuenta que si bien la pregunta y la respuesta son específicas de Python (y funciona), la misma estrategia es igualmente efectiva para Bash, Perl, Ruby y otros lenguajes de secuencias de comandos siempre que el #! señala al intérprete correcto.
Freedom_Ben

@Freedom_Ben En realidad, no solo se pueden usar los lenguajes de script, sino también el ejecutable compilado. Nautilus simplemente ejecuta cualquier archivo que esté en esa carpeta y proporciona archivos en los que el usuario desea operar al ejecutable a través del entorno.
Sergiy Kolodyazhnyy
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.