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?
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-scriptsen versiones anteriores), y aparecerán en el menú contextual del archivo en el submenú Scripts .
Tenga en cuenta que, como se dice en askubuntu.com/questions/281062/… si está en ubuntu 13.04 que usa una versión más nueva de Nautilus, se supone que debe usar la ~/.local/share/nautilus/scriptscarpeta 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.
Logan
2
no es esto anticuado?
@cipricus lo es. Respondido en 2011, que es hace 6 años . 12 lanzamientos de Ubuntu anteriores.
ulidtko
la pregunta no está marcada como edición específica y hay respuestas muy recientes
@dessert: no veo ningún punto en ajustar la pregunta a una respuesta desactualizada solo porque esa respuesta se marcó como definitiva en el pasado. Eso haría que la respuesta actualizada (y más votada) se vea fuera de lugar aquí, cuando el camino a seguir sería simplemente marcar la última respuesta como definitiva. - Otra forma de hacerlo sería agregar una pequeña edición a la respuesta definitiva, ahora obsoleta, que se vincula con la actualizada: lo que acabo de hacer.
30
Actualización para Ubuntu 18.04
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.
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:
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 importNautilus,GObjectclassColumnExtension(GObject.GObject,Nautilus.MenuProvider):def __init__(self):passdef 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/extensionsy reinicie nautilus. Cuando hace clic derecho en el escritorio y selecciona su elemento, se ejecutará su simple comando bash :)
puede que tenga que crear nautilus-pythony extensionscarpetas si no están allí.
souravc
Probé la mayoría de las soluciones en este tema y descubrí que la solución de Python es la mejor. Aunque no es perfecto, principalmente debido a la falta de documentación, permite una secuencia de comandos y portabilidad más flexibles.
Ricardo Rodrigues
3
Si desea poder hacer algo en cualquier momento, haga lo que dice ulidtko y úselo ~/.gnome2/nautilus-scripts.
Si desea poder personalizarlo cuando lo vea, instale el paquete nautilus-actions, luego vaya a Sistema-> Preferencias-> Configuración de acciones Nautilus.
Navega al directorio ~/.local/share/nautilus/scripts/
Coloque su script (escrito en Bash, Perl o Python) allí.
Marque el script como ejecutable usando Nautilus o desde la terminal con chmod +x script_name
Nautilus pone a disposición del script las variables ambientales: NAUTILUS_SCRIPT_SELECTED_FILE_PATHS, NAUTILUS_SCRIPT_SELECTED_URIS, NAUTILUS_SCRIPT_CURRENT_URI y NAUTILUS_SCRIPT_WINDOW_GEOMETRY
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.
Digamos que desea crear una aplicación que el usuario instale con un script o un .debarchivo, con eso en mente explicaré por qué creo que python-nautiluses 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 .debarchivo para crear una nueva entrada en el menú contextual. ¿Cuáles son los problemas? Dónde empiezo...
Siempre aparece debajo de un submenú de Scripts.
No se muestra si no tiene nada seleccionado.
No le permite decidir si debe mostrar la entrada o no.
No permite información sobre herramientas o títulos diferentes. (Tal vez estoy siendo exigente)
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.
Esta es exactamente la razón por la que también quería agregar un menú contextual. ¿Podrías publicar tu solución python-nautilus "Abrir con código VS"? Gracias.
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 .fuente
~/.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.Actualización para Ubuntu 18.04
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.
Acciones Nautilus
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
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:
fuente
nautilus-actions-config-tool
, y Agregue 'Crear iniciador' al menú contextual de Nautilus (singnome-desktop-item-edit
)Se puede usar la extensión python-nautilus como alternativa a
nautilus-actions
.Instalar:
Un simple ejemplo:
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 :)fuente
nautilus-python
yextensions
carpetas si no están allí.Si desea poder hacer algo en cualquier momento, haga lo que dice ulidtko y úselo
~/.gnome2/nautilus-scripts
.Si desea poder personalizarlo cuando lo vea, instale el paquete nautilus-actions, luego vaya a Sistema-> Preferencias-> Configuración de acciones Nautilus.
fuente
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.
fuente
TL; DR
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:
Explicación detallada
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 quepython-nautilus
es una mejor solución en comparación con las acciones nautilus y los scripts nautilus .Acciones 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.
Nautilus Scripts
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.
python-nautilus
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.
fuente