Ubuntu: Solucionar problema de copiar-pegar con Inkscape (UniConvertor Failed)

Hola a todos y todas,

Hoy me meto con Inkscape, el editor vectorial por excelencia del mundo open-source. Inkscape está en los repositorios oficiales de Ubuntu desde hace años y se instala con un simple sudo apt-get install inkscape en una terminal.

Captura de pantalla de 2014-01-07 10:02:38

Sin embargo, desde hace varias versiones de Ubuntu (desde la 12.04 precisamente) he estado experimentando aleatoriamente un problema realmente molesto. ¿Qué pasa? Estamos trabajando en Inkscape, le damos copiar a cualquier objeto y cuando lo queremos pegar aparece un error horrible. El error tira:

UniConvertor Failed: Cannot list /home/$USER/uniconvertor:[Errno2] No such file or directory: /home/$USER/uniconvertor

Cuando le queremos dar “Aceptar”, el botón no funciona. Lo único que queda es apretar “Escape”. Tras 2-5 segundos el cartel vuelve a aparecer. Y si lo cerramos volverá a aparecer nuevamente… hasta el infinito. Lo único que quedará por hacer es tratar de apretar ctrl+s para salvar los cambios entre la aparación de los mensajes y luego cerrar Inkscape violentamente.

Captura de pantalla de 2014-01-05 21:21:35

Nada, lo digo: es una reverenda cagada que pase esto con un programa tan importante en lo que se supone es “su ambiente natural” (i.e. GNU/Linux).

La solución al Error UniConvertor Failed de Inkscape

Bueno, como siempre traté de hacerlo en un comando. Este script lo tengo desde hace un tiempo, así que está súper probado. Las soluciones que hay en internet son variadas, y lo primero que uno esperaría es instalar todas las versiones de Uniconvertor. NO. La salida viene por otro lado. Abran una terminal y peguen esta Ninja-Solution ^_^:

sudo apt-get install build-essential python-all-dev liblcms1-dev libjpeg62-dev libpaps-dev -y && cd ~ && sudo chmod 755 ../../usr/share/inkscape/extensions/gimp_xcf.py && sudo chmod 755 ../../usr/share/inkscape/extensions/jessyInk_export.py && sudo chmod 755 ../../usr/share/inkscape/extensions/uniconv_output.py && sudo sed -i '110,217 s/^/#/' ../../usr/share/inkscape/extensions/gimp_xcf.py && sudo sed -i '103,115 s/^/#/' ../../usr/share/inkscape/extensions/jessyInk_export.py && sudo sed -i '88,92 s/^/#/' ../../usr/share/inkscape/extensions/uniconv_output.py

Explicación: instalamos paquetes faltantes, cambiamos permisos de archivos locos y, lo más importante, editamos parte del archivo univonv_output.py eliminando la causa del error. Eso es todo.

Edit: Aparentemente este es un problema que se da cuando corremos Inkscape junto con otros programas. Particularmente JDownloader, pero además diversos programas de tipo “gestores de portapapeles”. El fix funciona para JDownloader y Percellite (gestor de portapapeles), el problema sin embargo persiste con Diodon (otro gestor de portapapeles). Probablemente con otros gestores el fix funcione o no, será cuestión de probar. :)

Tadaaaaa! ^_^

Ahora si, a disfrutar de Inkscape :)
Salú!

Ubuntu: Solucionar problema de copiar-pegar con Inkscape (UniConvertor Failed)