Categorías
Linux y Software Libre

Automatizando la apertura de Tilix al inicio de la sesión.

Tengo que reconocer que he escrito poco últimamente. Las actualizaciones de Manjaro se han completado sin problemas, mi equipo se ejecuta suavemente y de las principales noticias del software libre creo que hay otros sitios que se encargan de eso y lo hacen muy bien.

Es parte de mi rutina abrir una ventana de Tilix y por lo general abro 3 mosaicos, en uno esta htop para monitorear mis procesos, en otra mi herramienta de Python Ping para monitorear el funcionamiento de los equipos de la red y una más vacía para teclear los comandos que necesite.

Tilix con su mosaico de terminales.
Así es más o menos como me gusta el mosaico de terminales en Tilix.

Esto lo hacía todos los días, así que un buen dia, le invertí un poco de tiempo a la apertura de Tilix con esta configuración desde el inicio con aceptables resultados.

Crear un archivo Bash.

Lo primero que se me ocurrió fue hacer un archivo Bash que luego mandaría llamar desde el inicio de sesión de XFCE y así lo hice.

El archivo Bash no es complicado, le agregué algunas pausas, porque noté que si no lo hacía, en lugar de abrir una sola ventana con sus mosaicos correspondientes abría ventanas individuales.

#!/bin/bash
  
tilix -w /home/usuario/scripts/ -e ./python_ping3.py &
sleep 4
tilix -a session-add-right -x "htop" &
sleep 4
tilix -a session-add-down & 
sleep 4

En el código se pueden ver varios parámetros que se pueden utilizar al momento de ejecutar tilix, como establecer su posición o de una vez, ejecutar algún comando o script.

A veces me sigue mostrando un par de ventanas individuales, pero luego lo que hago es arrastrar las ventanas hacía la otra, hasta dejar el arreglo como me gusta.

Ejecutar el script al iniciar la sesión en XFCE.

Con el script listo, lo único que falta es que se ejecute al iniciar la sesión, para eso arrancamos el programa Sesión e inicio y lo agregamos a la lista.

Ejecutar el script en bash al iniciar la sesión.

Y con eso queda automatizada la tarea.

¡Saludos y hasta la próxima!

Categorías
Linux y Software Libre

Buscar y eliminar archivos en una sola línea con find.

find es de esos comandos en linux que demuestran el poder de la terminal de Linux. Se que a veces no parece lo más intuitivo, pero si se domina correctamente, una sola línea en la terminal ahorra mucho tiempo.

Tratando de economizar algo de espacio en varios discos duros me encontré con esos archivitos Thumb.db. Estos archivos generados automáticamente (creo que desde Windows XP) contienen las miniaturas de las imágenes de una carpeta. Entiendo que tienen su propósito, pero en Linux no los ocupo.

Menciono a los archivos Thumb.db como ejemplo, pero este consejo se puede aplicar a cualquier grupo de archivos que pueda encontrar find.

Busca y encuentra.

No es mala idea primero buscar los archivos que se quieren eliminar, digo, solo por seguridad, no vaya a ser que en el primer intento se eliminen archivos que quieres conservar.

Supongamos que quieres buscar en una carpeta con Imágenes todos los archivos Thumbs.db, entonces tecleamos:

find /MiCarpetaConImagenes -name "Thumbs.db"

y te dará como resultado todos los archivos (incluyendo la ruta) que encontró.

/MiCarpetaConImagenes/Carpeta1/Thumbs.db
/MiCarpetaConImagenes/Carpeta2/Thumbs.db
/MiCarpetaConImagenes/Carpeta3/Thumbs.db
.
.
.
/MiCarpetaConImagenes/CarpetaN/Thumbs.db

Si todo parece correcto, entonces pasamos al siguiente paso.

Busca y destruye.

Si quieres eliminar los archivos que encontraste, entonces agrega esto al final de tu comando de búsqueda.

-exec rm -rf {} \;

De esa forma, la instrucción quedaría más o menos así:

find /MiCarpetaConImagenes -name "Thumbs.db" -exec rm -rf {} \;

Y si ejecutan la búsqueda nuevamente, lo más probable es que ya no arroje resultados, pues porque esos archivos ya fueron eliminados.

La opción delete.

En las versiones más modernas de find existe la opción -delete que borra los archivos que encuentra, pero si no funciona, pueden usar el consejo anterior.

Dicho esto, en lugar de agregar la opción -exec con sus argumentos, basta con incluir la opción -delete para borrar los archivos y si quieres ver cuales son los archivos eliminados añade la opción -print.

find /MiCarpetaConImagenes -name "Thumbs.db" -delete -print

Busca y actúa

Como verán find abre un montón de posibilidades. Se pueden buscar archivos para borrarlos, copiarlos, moverlos, jugar con expresiones regulares, bueno, lo que guste y mande. Hay una parte de búsqueda y otra de acción. Lo que quieran hacer con los archivos es posible.

Eliminar archivos de respaldo antiguos

Por ejemplo, se me ocurrió incluir en mi script de respaldos una rutina que elimine los archivos con una antigüedad mayor de 90 días.

find /CarpetaRespaldos/ -type f -mtime +90 -delete -print

El manual de find es muy completo, se los dejo para futuras referencias.

Imagen de David Pennington en Unsplash.

Categorías
Linux y Software Libre

Agregar texto a una imagen con ImageMagick

Hice un pequeño script en Bash para agregar texto a una imagen con ImageMagick.

agregartexto script en bash | Agregar texto a una imagen con ImageMagick
El script y al mismo tiempo una muestra del resultado.

Bueno en realidad hace un poco más que eso. En el momento en el que se ejecuta, le agrega un texto en la parte inferior derecha de la imagen, si es muy grande la redimensiona y al final la optimiza para que sea de un tamaño adecuado.