Desaventuras en la tierra de Linux, parte 16

Recientemente uno de mis discos duros empezó a dar problemas, todo funcionaba bien en mi PC hasta que intentaba actualizar la imagen de arranque de Linux como parte de una actualización de software y ya que la partición de arranque estaba en ese disco duro problemático, cada vez que intentaba la actualización, Linux montaba el sistema de archivos en / como de sólo lectura como una protección tanto al software como al hardware. En resumen, podía usar mi PC normalmente (mi carpeta /home funcionaba correctamente) mientras no intentara la actualización de la imagen de arranque. Lo anterior no parecía ser un problema hasta que tuve que instalar nuevo software usando el gestor de paquetes, lo cual resultó imposible ya que había una instalación de software previa incompleta. Aunque compilar el nuevo software manualmente o intentar instalarlo como usuario eran ambas posibilidades, entendí que era hora de cambiar el disco duro dañado y así comenzó esta aventura.

Read More

Compilar programas para Windows desde Linux – Parte 1

¿Eres un usuario de Linux y disfrutas haciendo tus programitas en C o C++ pero quieres compartirlos con el resto del mundo que seguramente usa Windows?. Compartirles el código es una posibilidad pero el usuario promedio no sabría qué hacer con él así que tus opciones se reducen a entregarles un ejecutable listo para usar en Windows. Por suerte, compilar tus programas para Windows es relativamente fácil en Linux, sobre todo si alguna vez usaste MinGW en Windows. MinGW es, por así decirlo, el gcc para Windows. MinGW ofrece compiladores para C y C++ (entre otros) que generan archivos ejecutables .exe para Windows así que, como te imaginarás, solamente tenemos que instalar MinGW para poder usarlo para generar ejecutables para Windows desde nuestra distro de Linux. Para instalar MinGW en Debian Stretch, basta con instalar el paquete mingw-w64 desde el gestor de paquetes.

Read More

GIMP 2.10 en Debian Stretch

Como lo he escrito múltiples ocasiones en otros posts, los repositorios estables son a la vez la mejor y la peor parte de Debian. Por un lado, el software en los repositorios estables está, en teoría, garantizado que funcione sin problemas pero por otro lado eso significa no es raro encontrarse con que el software en los repositorios estables es software con varios años de antigüedad 😦 . GIMP es un ejemplo de esto, la versión en el repositorio estable de Debian es la 2.8.18 a pesar de que la versión 2.10 ya fue lanzada de forma oficial hace tiempo, así que si quieres probar la nueva versión de GIMP, los repositorios estables no son una opción.

Es posible que la versión más reciente de GIMP esté disponible en repositorios como el de backports o el de debian-multimedia pero ahora la página oficial de GIMP ofrece un link a la versión para Flatpak que es lo más cercano a tener un ejectuable oficial. Para instalar y ejecutar GIMP para Flatpak basta ejecutar los comandos que aparecen en la página oficial de GIMP:

flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref 
flatpak run org.gimp.GIMP//stable

Ya en el pasado hice un post sobre Flatpak también relacionado con GIMP, sobra mencionar que debes tener Flatpak instalado en tu sistema y que lo puedes instalar desde el gestor de paquetes de Debian Stretch. Si es la primera vez que instalas o ejecutas un programa de Flatpak se instalará una máquina virtual de Flatpak ya que, si recuerdas los posts anteriores, Flatpak es un sistema que ofrece una forma de virtualización que permite ejecutar programas aislados del resto del sistema y, sobre todo, gracias al uso de máquinas virtuales o runtimes, permite usar librerías diferentes a las instaladas en el sistema sin que estas causen conflictos.

gimp-2.10

La versión de Flatpak es lo más cercano que tendremos a un ejecutable oficial de GIMP para Linux y sin duda es mejor y más sencillo que tener que compilarlo manualmente como lo hicimos alguna vez con la versión de desarrollo 2.9. Sin embargo, sabemos que me gusta tomar el camino más difícil así que decidí intentar compilar GIMP manualmente y crear un ejecutable nativo para Debian Stretch.

El proceso fue largo y difícil ya que GIMP 2.10 tiene como dependencias muchas librerías que no están en el repositorio estable de Debian; además, muchas, si no es que la mayoría, de esas librerías también tienen versiones mínimas requeridas que son superiores a las que usamos antes para compilar GIMP 2.9 por lo que las versiones que usamos para compilar GIMP 2.9 ya no sirven. Después de cazar versiones recientes de muchas librerías, sistemas de compilación como meson y todas sus dependencias, después de luchar para compilar librerías que requieren opciones que no son nada obvias y de instalarlas en rutas personalizadas ajustando las respectivas variables de entorno, finalmente fui capaz de compilar exitosamente el GIMP 2.10 en Debian Stretch y, aunque escribí una larga lista de instrucciones detalladas para compilarlo, no creo que valga la pena obligar a nadie a pasar por todo eso ahora que existe la versión oficial para Flatpak. Todo ese trabajo para compilar GIMP 2.10 manualmente aún puede ser de utilidad si quieres probar la versión de desarrollo más reciente… tengo planeado un post sobre eso.

Ripear DVD con FFmpeg, Recargado

Hace tiempo escribí algunos posts con instrucciones para ripear un DVD usando FFmpeg. En esos posts mencionaba que primero deberías probar con Handbrake antes de intentar ripear el DVD de la forma difícil desde la línea de comandos usando MPlayer y FFmpeg. Entonces, ¿cuál es la razón para escribir este post? ¿Cuál es el problema con Handbrake?. El problema de Handbrake es el típico problema de Linux de interfaces de usuario terribles 😦 . Si eres como yo y quieres ripear todos los títulos de un DVD, con Handbrake tienes que seleccionar un título, configurar las opciones, agregarlo a la cola de tareas y después seleccionar el siguiente título y repetir 😦 . Aunque el proceso puede tomar solamente unos cuantos clicks, cuando te encuentras con un DVD con muchos títulos, esos son algunos cientos de clicks más de los que quiero hacer; sin mencionar que tienes que escribir manualmente el nombre para cada uno de los archivos de salida ya que Handbrake te sugerirá el mismo nombre para todos los títulos sin importar si ya tienes uno con ese nombre en la cola de tareas. No entiendo como el programa “especializado” para ripear DVDs no tiene una opción para seleccionar varios o todos los títulos de un DVD 😦 .

Read More

En corto No. 12 -FFmpeg AV1

Si eres usuario de Firefox, es probable que en días recientes hayas visto notificaciones de Mozilla sobre el codec de video AV1 que promete una compresión de video incluso mayor a la de x265/HEVC mientras que, al mismo tiempo, es un formato abierto y libre de regalías.

Decidí hacer pruebas con este nuevo codec usando FFmpeg. Lo primero que noté es que la versión de FFmpeg en el repositorio estable de Debian aún no soporta este formato, así que tuve que ir directo a la página de FFmpeg donde me llevé la grata sorpresa de que ahora se ha unido a la creciente lista de software para que ofrece static builds, ejecutables precompilados y listos para usar para Linux. Ya en posts anteriores he mencionado lo difícil que era conseguir ejecutables listos para usar en Linux, lo que solía dejarte solamente dos opciones: usar una versión vieja del software o compilarlo tú mismo. Al parecer esto empieza a cambiar ya que cada vez veo más programas para Linux que ofrecen versiones listas para usar ya sea en forma de static builds o como contenedores de Docker, Flatpak, etc., y esto me alegra.

Volviendo a FFmpeg, la página ofrece la alternativa de instalarlo usando los repositorios de backports o deb-multimedia, o bien el ya mencionado static build. Descargué el static build y después de descomprimirlo estaba listo para usar; sin embargo, al intentar codificar un video usando el codec AV1 descubrí que la velocidad de codificación era de ~0.02 fps, en otras palabras, es imposible de usar 😦 .

Actualmente el codec AV1 está clasificado como experimental en FFmpeg por una razón y no está listo para el uso cotidiano. No hace mucho tiempo, el codec x265 también era muy lento en FFmpeg pero ha sido optimizado desde entonces. Es lógico pensar que seguramente el codec AV1 también será optimizado una vez que esté correctamente implementado. Hasta entonces, habrá que esperar.

Desaventuras en la tierra de Linux, parte 15-2

En el post anterior escribí acerca de como pareciera que todos los programas para Linux están llenos de bugs. Es verdad que Linux se usa mucho en servidores principalmente porque ofrece una mayor seguridad pero la mayoría de las tareas en las que Linux sobresale son aquellas en las que tienes que interactuar con el sistema a través de una terminal usando la línea de comandos.

Read More