De vez en cuando se me ocurren ideas de acciones que me gustaría tener disponibles en el menú contextual de Nautilus. ¿Cómo los agrego allí? ¿Hay algo así como un complemento Thunar UCA para Nautilus?
De vez en cuando se me ocurren ideas de acciones que me gustaría tener disponibles en el menú contextual de Nautilus. ¿Cómo los agrego allí? ¿Hay algo así como un complemento Thunar UCA para Nautilus?
Respuestas:
La siguiente respuesta está desactualizada: esta es una respuesta actualizada recientemente .
Los menús contextuales de Nautilus solían ser personalizables por las extensiones de Nautilus . Tenga en cuenta que este enlace conduce a un documento archivado; Los desarrolladores de Gnome eliminaron esa documentación y ya no admiten ese tipo de personalización. Sin embargo, aún puede funcionar.
También puede colocar scripts de shell simples en el directorio ~/.local/share/nautilus/scripts
( ~/.gnome2/nautilus-scripts
en versiones anteriores), y aparecerán en el menú contextual del archivo en el submenú Scripts .
~/.local/share/nautilus/scripts
carpeta para colocar sus scripts. E incluso entonces solo se mostrarán scripts cuando haces clic derecho en un archivo o carpeta y no espacio vacío.
En la fecha en que se lanzó Ubuntu 18.04, Nautilus-Actions estaba / ya no está disponible. También parece haber sido reemplazado por un nuevo programa, llamado Filemanager-Actions, que de lo contrario parece idéntico.
Para instalar este programa, vea esta solución.
Podemos definir nuestros propios elementos del menú contextual con el botón derecho del mouse con nautilus-actions .
Ejecute la herramienta de configuración de acciones Nautilus desde el tablero o desde un terminal con
nautilus-actions-config-tool
En la pestaña Acción, asigne a su acción una etiqueta sensible, por ejemplo, "Abrir en Terminator" y elija mostrar esto en la selección o en el menú contextual.
Luego abra la pestaña Comando para ingresar los comandos a ejecutar
Entregue la ruta completa a su comando ( /usr/bin/command_to_run
) y opciones de programa.
Después de cerrar sesión y volver a iniciarla, se mostrará el menú contextual del botón derecho a continuación:
nautilus-actions-config-tool
, y Agregue 'Crear iniciador' al menú contextual de Nautilus (sin gnome-desktop-item-edit
)
Se puede usar la extensión python-nautilus como alternativa a nautilus-actions
.
Instalar:
sudo apt-get install python-nautilus
Un simple ejemplo:
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,
Copie este script de Python en ~/.local/share/nautilus-python/extensions
y reinicie nautilus. Cuando hace clic derecho en el escritorio y selecciona su elemento, se ejecutará su simple comando bash :)
nautilus-python
y extensions
carpetas si no están allí.
29 de noviembre de 2016 era Ubuntu 14.04, 16.04 y 16.10 más versiones anteriores.
Consulte las instrucciones de Nautilus para crear su propio script aquí ( Ayuda Ubuntu - Nautilus Scripts How to ). Básicamente usted:
~/.local/share/nautilus/scripts/
chmod +x script_name
Hay scripts de muestra ubicados en ( Ayuda Ubuntu - Scripts de muestra Nautilus ) para enviar archivos por correo electrónico, montar un archivo ISO, configurar archivos para solo lectura, editar archivos con privilegios ROOT de gedit, abrir el terminal en la ubicación actual, etc.
Revise los scripts y tome uno como plantilla para cifrar archivos, cargarlos en la nube, comprimirlos para hacer una copia de seguridad o lo que sea que necesite hacer.
La mejor solución para los desarrolladores de aplicaciones es usar python-nautilus .
Cree su script de Python ( siguientes ejemplos y documentación incorrecta ) y cópielo en la carpeta correcta:
mkdir -p ~/.local/share/nautilus-python/extensions && cp script.py ~/.local/share/nautilus-python/extensions
Digamos que desea crear una aplicación que el usuario instale con un script o un .deb
archivo, con eso en mente explicaré por qué creo que python-nautilus
es una mejor solución en comparación con las acciones nautilus y los scripts nautilus .
Esta es la única solución para ofrecer una GUI y, por lo tanto, facilita la creación de un comportamiento complejo, por ejemplo, decidir qué entradas del menú mostrar si el tipo MIME del archivo seleccionado es text/plain
.
El principal problema con esta solución es que no es fácil (si es posible) importar las entradas a otra computadora sin la Herramienta de configuración y el usuario la importa, digamos que no sería posible hacerlo con un script.
Esta es la solución más sencilla, recoger un script, colocarlo en una carpeta y listo. Esto definitivamente permitiría un script de instalación o un .deb
archivo para crear una nueva entrada en el menú contextual. ¿Cuáles son los problemas? Dónde empiezo...
Una buena aplicación no usa accesos directos como este, porque arruina la experiencia del usuario.
No es tan fácil de crear como las soluciones anteriores, pero ofrece lo mejor de ambos mundos. Scripting y personalización.
Esta solución le permite crear un script python que recibe los archivos seleccionados en nautilus y le permite decidir si desea mostrar una entrada o no y qué hacer con esa entrada. También le permite crear submenús y / o cosas interesantes.
El inconveniente es la gran falta de documentación y los desarrolladores que solo desean agregar una entrada pueden encontrarse perdiendo un par de horas para crear un prototipo que funcione (en mi investigación encontré una solución basada en C que era mucho más complicada que esto).
Normalmente uso Visual Studio Code, mientras que en Windows ofrece una entrada de menú contextual Open with Visual Studio Code
, carece de la misma funcionalidad en Linux, con la solución de Python sería fácil resolver el problema. Creo que muchas aplicaciones en Linux podrían beneficiarse de tener una integración nautilus.
Espero que esta explicación te haya ayudado a decidir qué elegir.