En mi búsqueda por optimizar las tareas administrativas, me encontré con una joya: Espanso. Es un expansor de texto que permite que, al escribir un alias (como
:nombre), el sistema lo reemplace automáticamente por otro dato (como un DNI).Sin embargo, usarlo en un entorno moderno como Tuxedo OS con Wayland tiene sus trucos. Aquí les comparto la hoja de ruta que me funcionó después de lidiar con dependencias y permisos.
1. Instalación del paquete correcto
En sistemas modernos, es vital elegir la versión que corresponda a tu servidor gráfico. Como mi sistema usa Wayland, el paquete .deb tradicional de X11 me daba errores.
En sistemas modernos, es vital elegir la versión que corresponda a tu servidor gráfico. Como mi sistema usa Wayland, el paquete .deb tradicional de X11 me daba errores.
Descargué del repositorio oficial el paquete específico:
espanso-debian-wayland-amd64.deb.Lo instalé usando
apt(aunque si los repositorios fallan,gdebies un gran aliado).
2. El desafío de los permisos (Wayland)
Wayland es más estricto con la seguridad. Para que Espanso pueda "leer" el teclado y reemplazar texto, tuve que hacer dos cosas fundamentales:
A. Dar permisos al grupo de entrada:
sudo usermod -aG input $USER
Importante: Después de esto, hay que reiniciar la sesión para que el sistema reconozca el nuevo permiso.
B. Instalar kdotool: En KDE Plasma, Espanso necesita esta herramienta para simular las pulsaciones de teclas:
sudo apt install kdotool
3. Configuración del teclado
Si Espanso no detecta automáticamente tu idioma, hay que decírselo en el archivo de configuración global:
nano ~/.config/espanso/config/default.yml
Asegúrate de que contenga estas líneas:
keyboard_layout:
layout: es
Mucho muy importante: antes de "layout" debe haber 2 espacios en blanco
4. El "Toque Maestro": Automatización con Awk
Tengo una lista de 60 colegas en un archivo colegas.csv (Formato: Nombre, DNI). Escribir cada disparador a mano en el archivo de Espanso sería una locura. Así que diseñé un script de terminal que procesa el CSV y genera el archivo de configuración de Espanso al instante. El script debe lanzarse justo donde se encuentra el archivo CSV:
echo "matches:" > ~/.config/espanso/match/base.yml && awk -F',' '{gsub(/[^[:print:]]/,""); gsub(/ /,"",$1); printf " - trigger: \":%s\"\n replace: \"%s\"\n", tolower($1), $2}' colegas.csv >> ~/.config/espanso/match/base.yml
¿Qué hace este script?
Limpia caracteres invisibles que a veces deja Excel.
Elimina espacios en los nombres para que los alias sean de una sola palabra.
Convierte todo a minúsculas.
Genera el formato YAML que Espanso requiere.
5. Puesta en marcha
Finalmente, para activar todo:
espanso service register espanso service start
Si todo está bien, al escribir :espanso el sistema debería responderte con un "Hi there!". A partir de ahí, solo es cuestión de usar los nombres de mis colegas y ver cómo se transforman en sus documentos.
Un extra
Se puede crear un alias para hacer todo un script que haga toda la tarea:
entra a editar tu archivo de alias, en mi caso:
nano ~/.bash_aliasesalias actualizar-dnis='echo "matches:" > ~/.config/espanso/match/base.yml && awk -F"," "{gsub(/[^[:print:]]/,\"\"); gsub(/ /,\"\",\$1); printf \" - trigger: \\\":%s\\\"\\n replace: \\\"%s\\\"\\n\", tolower(\$1), \$2}" ~/colegas.csv >> ~/.config/espanso/match/base.yml && espanso restart'
Y con esto, lee nuestro archivo CSV, borra lo anterior, lo reescribe y reinicia espanso para que los cambios surtan efecto. Muy importante, actualizar los alias de bash:
source ~/.bash_aliases¡Espero que esta guía les ahorre un par de dolores de cabeza y les abra la puerta a la automatización en Linux!
