Saltar al contenido

Categoría: Gnu/Linux

DCMTK en Arch Linux: de PKGBUILD personal al repositorio oficial

Hace más de 15 años, a mediados de 2008, escribí un pequeño PKGBUILD para empaquetar la librería DCMTK en Arch Linux. En ese momento no pensaba que se convertiría en una de las tareas más largas que haría dentro de la comunidad. Todo comenzó como un simple hobby: necesitaba la librería para un proyecto de un laboratorio de bioingeniería, allí trabajaba con una computadora con Arch Linux, pero como no existía un paquete disponible, decidí crearlo yo mismo para facilitar mi trabajo y, de paso, compartirlo con otros.

El mantenimiento de DCMTK lo largo de los años

Con el tiempo, lo que empezó como algo puntual se convirtió en una especie de ritual. Cada vez que salía una nueva versión de DCMTK, preparaba el paquete, lo probaba y lo publicaba para que cualquiera pudiera instalarlo fácilmente. Incluso este mismo año, antes de que se liberara oficialmente la nueva versión, me contactaron para tener el paquete listo a tiempo. Y así lo hice, adelantándome al lanzamiento oficial, tal como lo había hecho tantas veces antes.

Lo que no imaginaba es que, después de tantos años, DCMTK pasaría a formar parte de los repositorios oficiales de Arch Linux. Por un lado, me da un poco de nostalgia ya no ser el mantenedor después de tanto tiempo, porque este paquete me acompañó desde mis días de estudiante hasta hoy, pasando por las decadas del 2000, 2010 y 2020. Pero por otro lado, siento mucha satisfacción al ver que ahora forma parte de manera oficial del ecosistema de Arch.

Eso significa que mi esfuerzo inicial sirvió como semilla y que la comunidad seguirá dándole vida más allá de mí. En retrospectiva, fue un gran recorrido y considero que viví la esencia del software libre: aportar algo que ayude a otros y ver cómo esas contribuciones crecen y se transforman con el tiempo.

Gracias por leer este artículo y por acompañarme en esta pequeña despedida de uno de mis proyectos más longevos dentro de Arch.

Deja un comentario

Mi experiencia con mi nuevo proyecto de software libre: KIM6 para Plasma 6

En esta entrada quiero compartir mi aventura actualizando KIM (KDE Image Manipulator) a KDE Plasma 6, que ahora terminó siendo mi nuevo proyecto de software libre llamado KIM6 (poco creativo el nombre). Este proyecto no es solo un fork de un proyecto clásico, sino una misión para traer de vuelta una herramienta que he usado por más de 15 años y que, con las actualizaciones de KDE, necesitaba actualizaciones de compatibilidad.

KIM6 en acción
KIM6 en acción

Por qué decidí revivir KIM

KIM siempre ha sido mi método favorito para administrar las imágenes importadas desde mi cámara o celular, me parece que es muy fácil de acceder y usar, además sus scripts me han facilitado la vida: redimensionar fotos, convertir formatos, crear presentaciones de diapositivas… ¡todo desde el menú contextual! Pero con el tiempo, el proyecto original quedó abandonado, y las actualizaciones de KDE —de KDE 3 a KDE 4, luego a Plasma 5, y ahora a Plasma 6— se rompieron cosas. Nunca imaginé que terminaría haciendo un fork, pero aquí estoy, ¡y ha sido una gran experiencia!

El proceso fue un reto: adaptar scripts antiguos a un entorno moderno, entender cómo KDE ha evolucionado y asegurarme de que KIM no solo funcione, sino que funcione como debe ser en Plasma 6. Cada transición trajo sus desafíos: en KDE 4, el cambio de Konqueror a Dolphin como administrador de archivos predeterminado; en Plasma 5, ajustes en APIs; y en Plasma 6, una nueva nomenclatura de servicios. Pero la base de KIM sigue siendo sólida, y eso me permitió modernizarla sin perder su esencia.

Un viaje técnico y nostálgico

Actualizar KIM fue como abrir una cápsula del tiempo. Me encantó sumergirme en el código, ver cómo funcionaba en los días de Konqueror y adaptarlo al mundo de Dolphin. Las herramientas de configuración han cambiado, los nombres de los servicios también, pero el corazón de KIM —hacer que la gestión de imágenes sea rápida y sencilla— sigue intacto. Fue un desafío técnico, sí, pero también un recordatorio de cómo la tecnología evoluciona y cómo proyectos como este pueden seguir siendo relevantes con un poco de amor y esfuerzo.

¿Qué hace a KIM6 tan especial?

KIM no es solo un conjunto de scripts, es una solución completa para cualquiera que use KDE y trabaje con imágenes. Imagina esto: estás en Dolphin, haces clic derecho en una foto, y boom, puedes:

  • Redimensionar y comprimir imágenes para ahorrar espacio.
  • Rotar o convertir a diferentes formatos en segundos.
  • Procesar en lote para ahorrar tiempo con múltiples archivos.
  • Exportar para la web con optimización automática.
  • Crear presentaciones de diapositivas sin complicaciones.
  • Renombrar y organizar tu colección de imágenes como un pro.

Todo esto, integrado directamente en el menú contextual de Dolphin. Si usas KDE Plasma, KIM es la herramienta que no sabías que necesitabas, pero que ahora no querrás soltar.

Únete a mejorar KIM6

KIM6 está alojado en GitHub, y es un proyecto de código libre donde todos son bienvenidos. ¿Eres desarrollador? ¿Traductor? ¿O simplemente quieres sugerir ideas? ¡Tu aporte puede hacer la diferencia! Clona el repositorio, crea una rama y envía tu pull request. Entre todos podemos llevar KIM6 al siguiente nivel.

Y si quieres apoyar este esfuerzo, considera hacer una donación vía PayPal. Cada contribución me ayuda a dedicar más tiempo a mejorar KIM6 y mantenerlo actualizado para la comunidad: Dona vía PayPal.

Mi recomendación: ¡Prueba KIM6 hoy!

Si usas KDE Plasma, KIM es una joya que hará tu vida más fácil. Instalarlo es tan simple como ejecutar sudo ./install.sh, y en minutos tendrás un arsenal de herramientas para imágenes al alcance de un clic. Visita el repositorio en GitHub y prueba KIM6.

Este fork no solo es un rescate técnico, es mi forma de devolverle a la comunidad de KDE algo que me ha acompañado por años. Espero que KIM6 te encante tanto como a mí.

¡Descárgalo, úsalo y comparte tu experiencia!

Deja un comentario

Root Access: Rap sobre Linux

Una de las cosas que mas me gusta compartir en mi blog, es música geek. Esta vez te comparto Root Access un Rap sobre GNU/Linux, para que descanses de tanto contenido de SuSE que he publicado en el blog.

¿De qué se trata Root Access?

Root Access es un rap que celebra la cultura Linux y el poder de tener control total del sistema. Desde el primer compás, la producción destaca por su energía: la mezcla de beats contundentes con letras ingeniosas y referencias a comandos como sudo y su crea una atmósfera que resuena tanto en los veteranos como en los nuevos usuarios del mundo Linux. La estética del video, que recuerda a pantallas de terminales y código en movimiento, complementa perfectamente la letra, enfatizando el contraste entre la rigidez del sistema y la creatividad de quienes lo manejan.

La letra no solo es divertida, sino que también invita a reflexionar sobre el valor de la libertad digital, la personalización y la seguridad que ofrece tener acceso root en un entorno que muchas veces está dominado por sistemas cerrados. Es un recordatorio de que, en el mundo del software libre, el conocimiento y la autonomía son poder, y que cada línea de código es una declaración de independencia frente a lo convencional.

Así que disfruta a continuación de este gran rap:

Root Access | Linux Rap | Official AI Music

¿Te gustó? Si es así deja tu comentario o comparte una canción similar sobre el Software Libre.

Deja un comentario

Cómo tener un terminal de Ghostty siempre disponible al presionar una tecla (en Linux)

Si estas inmerso en el mundo tech, habrás notado que hace unas semana salió la version 1.0 de Ghostty. Un terminal multi-plataforma, con aceleración por GPU y enfocado a usar código nativo. Lo he estado desde entonces y remplazé a Yakuake (que siempre lo he usado en KDE) por este gran terminal, principalmente por el rendimiento que se siente al presionar las teclas. Sin embargo, uno de los problemas que tengo es que por ahora, no tiene una opción para mostrar un terminal al presionar una tecla, que es la principal razón por la que usaba Yakuake. Pues hoy te enseñaré cómo puedes lograr esto en tu sistema.

¿Por qué Ghostty?

Ghostty es una terminal que combina lo mejor de ambos mundos: la simplicidad de las terminales clásicas y las características modernas que necesitamos hoy en día. Es rápida, ligera y altamente personalizable. Además, su rendimiento es notable, especialmente en comparación con otras terminales que he usado en el pasado. La respuesta al presionar las teclas es instantánea, algo que valoro mucho como desarrollador.

Mis requerimientos

Desde los días que jugaba Quake y otros FPS. Me acostumbré a abrir la consola con ~, pero al momento de usar Linux necesito esa tecla así que la cambie por F1, porque esta mas arriba en la mayoría de teclados. En este ejemplo usaré F1 como la tecla que abrirá Ghostty.

Otro requerimiento en Linux es que sea pantalla completa para simular las terminales de antes (nunca superé esto) que ocupan toda la pantalla. Creo que me ayuda a comprender a separar la UI del terminal y evitar mezclar acciones.

Configurando abrir Ghostty con una tecla

Para abrir Ghostty con una tecla, hay 2 cosas que se deben hacer, un script para iniciar la aplicación si no está abierta. Pero si esta abierta, configurar Ghostty para que muestre la ventana de la terminal al abrir.

Paso 1: crear el script

Una vez instalado Ghostty, podemos empezar a crear el script. En mi caso como estoy usando Wayland con KDE, utilizo kdotool para ejecutar acciones a ventanas/aplicaciones. Si utilizas X11 puedes usar xdotool bajo cualquier entorno para controlar la ventana, solo remplaza el comando donde sea necesario.

Luego puedes usar este script detectar si Ghostty está abierto, si lo está, se enfoca la ventana. De lo contrario, se ejecuta el terminal. Puedes guardar este script en un lugar accesible, por ejemplo, en ~/scripts/open_ghostty.sh

#!/bin/bash

APP_NAME="ghostty"
CLASS_NAME="com.mitchellh.ghostty"

if [[ $(pgrep -x "$APP_NAME") ]]; then
# App is running. Get the window ID. Using tail -1 handles multiple instances.
WINDOW_ID=$(kdotool search --class "$CLASS_NAME" | head -1)

if [[ -n "$WINDOW_ID" ]]; then # Check if a window ID was actually found
# Check if the window is minimized (using window state)
WINDOW_STATE=$(kdotool getactivewindow)

if [[ "$WINDOW_STATE" == "$WINDOW_ID" ]]; then # Check if x position is negative (likely off-screen = minimized)
    kdotool windowminimize "$WINDOW_ID"
 else
    kdotool windowactivate "$WINDOW_ID"
    kdotool windowstate --add NO_BORDER --add FULLSCREEN "$WINDOW_ID"
    kdotool windowunmap "$WINDOW_ID" # Important for restoring from   minimized state
  fi
 else
   echo "Error: Could not find a valid window ID for $APP_NAME."
 fi
 else
   # App is not running, launch it
   "$APP_NAME" & # Important: Quote the variable to handle spaces in app name
 fi

Asegúrate de darle permisos de ejecución al script:

chmod +x ~/scripts/open_ghostty.sh

Paso 2: Asignar el script a la tecla F1

  • Abre la aplicación de Configuración del sistema de KDE Plasma.
  • Busca y selecciona «Atajos de teclado» (Shortcuts).
  • Haz clic en «Editar» > «Nuevo» > «Acción global» > «Comando/URL».
  • En el campo «Nombre», escribe algo descriptivo, como «Abrir Ghostty».
  • En el campo «Comando», ingresa la ruta completa a tu script, por ejemplo: /home/tuusuario/scripts/open_ghostty.sh.
  • Haz clic en el campo «Atajo de teclado» y luego presiona la tecla F1 en tu teclado.
  • Si la tecla F1 ya está asignada a otra función, deshabilita o cambia ese atajo antes de continuar.
  • Cierra la ventana de configuración y presiona F1 para probar si el script se ejecuta correctamente.
  • ¡Listo! Ya tienes tu terminal configurada.

Conclusión

Si eres un amante de las terminales y buscas una experiencia rápida y eficiente, te recomiendo probar Ghostty. Con lo leído en este artículo podrás tener acceso inmediato a un terminal y ser mas productivo.

Y tú, ¿qué terminal usas? ¿Has probado Ghostty? ¡Déjame tus comentarios!


Espero que este artículo te haya sido útil. Si tienes alguna pregunta o sugerencia, no dudes en dejarla en los comentarios. ¡Hasta la próxima! 🚀

Deja un comentario