Categoría: Sin categoría

  • Cómo instalar TextSnatcher en Debian 13/MX Linux con soporte en Español (¡Parcheando el código fuente!)

    Si alguna vez has utilizado Windows, probablemente conozcas la comodidad de usar herramientas OCR (Reconocimiento Óptico de Caracteres) integradas como la de PowerToys (Text Extractor) para copiar texto directamente de imágenes, videos o PDFs bloqueados. En el ecosistema Linux, TextSnatcher es la alternativa perfecta que cumple esta misma función con tan solo arrastrar el ratón.

    Sin embargo, si eres usuario de MX Linux o Debian 13, es muy probable que te hayas topado con un muro frustrante al instalarlo desde Flathub: el idioma español no aparece por ningún lado y la aplicación no reconoce correctamente nuestras palabras, obligándonos a corregir el texto manualmente.

    Hoy te voy a explicar por qué sucede esto y, aplicando la regla de Simplicity First, cómo resolverlo de raíz compilando la aplicación de forma nativa y agregando nosotros mismos la opción faltante en su código fuente.

    El problema: Flatpak y un “olvido” en el código

    El principal inconveniente de instalar TextSnatcher mediante Flatpak es su naturaleza de sandbox. Al estar aislado, el paquete empaquetado a menudo no incluye diccionarios adicionales para ahorrar espacio y, peor aún, no tiene permisos para leer los paquetes de idioma (tessdata) que ya tienes instalados en tu sistema operativo.

    La solución lógica es purgar esa versión e instalar la herramienta de forma nativa desde su código fuente. Sin embargo, al hacerlo, descubrimos algo insólito: el motor OCR (Tesseract) sí detectaba el español, pero el menú desplegable de la aplicación no lo mostraba.

    Analizando el código fuente escrito en Vala, nos dimos cuenta de que el desarrollador sí había programado la lógica del botón para el español, pero olvidó agregarlo al contenedor visual de la interfaz.

    ¡Manos a la obra para solucionarlo!

    Paso 1: Purgar Flathub y limpiar residuos

    Primero, debemos eliminar la versión aislada y cualquier dato residual que pueda causar conflictos o quedarse en la memoria caché de nuestro menú de aplicaciones. Abre tu terminal y ejecuta:

    Bash

    flatpak uninstall --delete-data com.github.rajsolai.textsnatcher
    flatpak uninstall --unused
    

    Paso 2: Instalar dependencias base en Debian 13

    Ahora, dotaremos a nuestro sistema de las herramientas necesarias para compilar el programa y del motor OCR con su respectivo diccionario en español.

    Bash

    sudo apt update
    sudo apt install tesseract-ocr tesseract-ocr-spa scrot git meson valac libgranite-dev libgtk-3-dev libhandy-1-dev libportal-dev ninja-build
    

    Paso 3: Clonar el código fuente

    Descargamos el repositorio oficial de TextSnatcher en nuestro equipo:

    Bash

    git clone https://github.com/RajSolai/TextSnatcher.git
    cd TextSnatcher
    

    Paso 4: El Parche (Agregando el español a la interfaz)

    Aquí viene la magia. Vamos a corregir el pequeño olvido del desarrollador. Utiliza tu editor de texto favorito (por ejemplo, nano o Gedit) para abrir el archivo donde se gestionan los botones de los idiomas.

    Dependiendo de la versión del repositorio, suele estar en src/components/LanguageButton.vala o directamente en src/MainWindow.vala.

    Bash

    nano src/components/LanguageButton.vala
    

    Busca el bloque de código cerca del final del archivo donde verás una lista que dice menu_list.add (eng) ;, seguida de otros idiomas como chi_sim, jpn, fra, etc.

    El botón spa ya está declarado más arriba en el código, así que solo necesitas insertar esta línea dentro de ese bloque para que se muestre en pantalla:

    Vala

            menu_list.add (spa) ;
    

    Guarda los cambios (en nano: Ctrl+O, Enter, y Ctrl+X).

    Paso 5: Compilar e Instalar

    Con el código modificado, procedemos a construir la aplicación.

    Bash

    meson setup build --prefix=/usr
    cd build
    meson compile
    sudo ninja install
    

    Nota para solucionar errores de permisos: Si en algún momento ejecutaste comandos previos como administrador y ahora meson compile te arroja un error de escritura (ej. unable to open [...] for writing), simplemente devuélvele la propiedad de la carpeta a tu usuario con sudo chown -R $USER:$USER /ruta/a/tu/TextSnatcher y vuelve a intentarlo, o compila con sudo meson compile.

    ¡Resultado óptimo!

    ¡Y eso es todo! Ahora puedes buscar TextSnatcher en tu lanzador de aplicaciones de MX Linux. Al abrirlo y hacer clic en el ícono de traductor, verás con orgullo que el idioma Spanish ya está disponible en la lista.

    Al ser una instalación nativa, la herramienta se comunicará perfectamente con Tesseract OCR y tus capturas de texto en español serán rápidas, precisas y sin necesidad de correcciones manuales.

    ¡Espero que este tutorial te haya ahorrado un buen dolor de cabeza! Déjame tus comentarios si te funcionó o si tienes alguna duda con el proceso de compilación.