En el menú de GNOME tenemos la opción la opción Abrir en una terminal que abre dicha carpeta en una terminal de GNOME ¿Que pasa si en lugar de la terminal por defecto usamos algo diferente como Guake? Ahí no tenemos la opción de cambiar y yendo mas lejos aun ¿Si lo queremos abrir en Guake y en un programa en especifico?
Por otro lado si bien es verdad que tenemos la posibilidad de usar el menú Abrir con otra aplicación y seleccionar una aplicación de GNOME no solo no es muy practico por la cantidad de clics sino que ademas surge la pregunta de ¿Que pasa si lo queremos abrir en un programa de consola en lugar de una de GNOME ?
Digamos por ejemplo lo que queremos abrir un archivo en VIM y encima de todo en una pestaña de Guake? Si, lo se, soy bastante exigente con lo que quiero aunque para eso uso Linux después de todo, básicamente lo que quiero hacer es lo siguiente:
Para lograrlo lo primero es crear el siguiente directorio:
mkdir -p ~/.local/share/nautilus/scripts
Luego que tenemos el directorio dentro del el creamos un archivo llamado Abrir en VIM (Guake) así con espacios y todo ubicando en ~/.local/share/nautilus/scripts y dentro colocamos:
#!/bin/bash guake-toggle echo -e "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | xargs -i guake -n " " -r "vim" -e "vim {}"
El primer comando desplegara la ventana de Guake y en el segundo mediante la variable NAUTILUS_SCRIPT_SELECTED_FILE_PATHS se le pasa a Guake la ruta del archivo y este (por guake) ejecutara VIM pasando le la ruta del archivo como argumento, a su vez renombrar la nueva pestaña como el nombre vim
Al hacer botón derecho sobre un archivo y seleccionar Scripts -> Abrir en VIM (Guake) automáticamente se desplegara Guake y en una nueva pestaña mostrara en VIM el archivo seleccionado.
Por otro lado también podemos duplicar la función Abrir en una terminal aunque esta vez para que abra en Guake en lugar de la terminal predeterminada podemos crear un archivo dentro de la carpeta ~/.local/share/nautilus/scripts crear un archivo llamado Abrir esta carpeta en guake y dentro el siguiente contenido:
#!/bin/bash guake-toggle current_nautilus_path=$(echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed -e 's/%/\\x/g' -e 's_^file://__' | xargs -0 printf "%b") guake -n " " -e "cd $current_nautilus_path"
Los scripts no necesitan estar en bash, puede ser en cualquier lenguaje y las variables de entorno sean pasados a estos de igual forma que en bash y estarán disponibles en los scripts, aparte de las dos usadas aquí existen otras que pueden ser de interés según lo que se pretenda implementar.
Aqui se utilizo para abrir un archivo en VIM o abrir una consola en un directorio especifico, sin embargo se puede usar para múltiples tareas, las posibilidades son infinitas
Administrador de Sistemas, Programador, Docente y ahora resulta que también Blogger (peor es ser tictoker). Más de 20 años de experiencia en computación atendiendo nabos y resolviendo problemas, los cuales si no fuera por estos nabos, no habrían ocurrido en primer lugar. Escribo más que nada sobre tecnología y herramientas en general, además de algunos artículos con opiniones tan subjetivas como irrelevantes, así que si no te gustan, mejor madura y superalo.