LibreOffice y el escritorio Plasma

Buena noticia: El proyecto LibreOffice está desarrollando un plug-in para que su librería gráfica (VCL) pueda integrarse con Qt5 y el escritorio Plasma.

Mala noticia: A juzgar por la cantidad de veces que la palabra «broken» aparece en la propuesta del próximo GSoC, falta mucho para que esa nueva interfaz resulte mínimamente utilizable.

En estos momentos, al lanzarlo desde un escritorio Plasma LibreOffice se abre por defecto con el ya arcaico y más que problemático plug-in para VCL de kde4. Dependiendo de la configuración del sistema (combinación de tarjeta gráfica, controladores, versión del sistema gráfico) el resultado de esto puede ir desde tener problemas con el refresco de pantalla a sufrir una experiencia realmente frustrante con elementos de la interfaz que no se ven, partes de la página que se sobreponen, pérdida de los límites de texto y los bordes de secciones… en fin, un lío.

¿Solución? Pues utilizar el plug-in para GTK3, que luego de un tortuoso inicio finalmente a partir de la versión 6 funciona más que bien.

En openSUSE Leap esto implica instalar el paquete libreoffice-gtk3 y desinstalar libreoffice-kde4.

Nota: en cada actualización de LibreOffice el paquete libreoffice-kde4 vuelve a instalarse, por lo que también es aconsejable marcarlo como «tabú» en YaST2 para que quede completamente bloqueado.

Y sí, hay que soportar el menú para seleccionar archivos de GTK3 que no es precisamente una belleza, pero al menos podemos hacerlo más pasable con un clic derecho en algún elemento de la lista y seleccionando que ordene las carpetas antes que los archivos

En serio, ¿a quién se le ocurre poner por defecto una configuración en la que las carpetas se mezclan con los archivos? Pero bueno, que ese problema es de GTK3, no de LibreOffice, por lo que mejor me dejo de divagar.

La selección se mantendrá entre sesiones.

Si en nuestro escritorio Plasma vamos a la configuración del sistema y en «estilo de las aplicaciones» seleccionamos un tema apropiado (yo tengo Briza para todo: Plasma, GTK2 y GTK3) LibreOffice se verá decentemente bien, y como para muestra basta un botón repito aquí una captura de pantalla de una entrada anterior

Las contradicciones de esta vida: la mejor forma de utilizar LibreOffice en KDE/Plasma es seleccionar las librerías de gnome/GTK.

En fin, que se sobrevive.

Anuncios

El lector de noticias QuiteRSS

Por motivos que quedarán claros a la brevedad, actualizar a openSUSE 42.3 significó para mi entre otras cosas la triste decisión de abandonar Akregator.

Akregator siempre resultó un tanto «limitado», lo sé, y presentaba algunas «dificultades» (a.k.a bugs) con el icono de la bandeja del sistema que hacían que a veces no resultara fácil el distinguir el número de artículos sin leer, entre otros asuntos gráficos. Pero para mi era suficiente. En el paso de las versiones para KDE 4 a la nueva para Plasma 5, Akregator ha resuelto todos estos problemas… pero con una táctica un tanto discutible: ha eliminado toda información en el icono.

La lógica es clara: eliminar la información sobre el icono resuelve de un plumazo todos los errores de presentación de información sobre el icono, ¿verdad?

O sea, está bien que mis exigencias para un programa del estilo sean mínimas, pero digo, eliminar completamente el único indicio de que hay artículos nuevos sin leer, pues que ya ha sido demasiado.

Y es por esto que decidí probar otras opciones. Ahora mismo estoy utilizando QuiteRSS, un lector de noticias escrito en Qt5 y que es mucho más potente que Akregator, a pesar de que superficialmente puedan parecer similares.

La lista de feeds todavía es work in progress

Una de las mejores características de QuiteRSS es su sistema de notificaciones. No solo vemos en el icono de la bandeja del sistema si tenemos artículos sin leer y cuántos, también podemos acceder a ellos desde la notificación misma, abrirlos en un navegador externo, navegar la lista, borrar artículos o incluso marcarlos como leídos (en forma individual o todos en bloque) sin necesidad de abrir la ventana principal del programa

El punto verde a la izquierda de cada entrada marca el artículo como leído, la cruz a la derecha lo borra definitivamente mientras que el globo abre el artículo en el navegador predefinido (claramente, con un clic en el título se abre en QuiteRSS). También es posible marcar todos los nuevos artículos como leídos o navegar la lista (si hay más de una página) con los botones de abajo a la derecha.

Eso sí, las opciones por defecto del programa no son precisamente las mejores por lo que resulta conveniente revisar la configuración, a la que se accede ya sea desde el menú contextual en el icono de la bandeja del sistema, el menú principal o la tecla F8.

Entre las opciones que conviene modificar está la transparencia de las notificaciones que resulta absurdamente alta

Originalmente estaba en 60%, lo cual era un disparate. Para la captura probé en 20% y finalmente me quedé con el 10%… en cualquier momento pongo la transparencia en 0%…

Eso y quitar el sonido de la notificación, claramente.

Una cosa con la que tuve un poco de problemas al principio fue la actualización automática de los feeds: al principio no funcionaba, a pesar de tener configurada la actualización automática en las preferencias generales del programa. Luego noté que la actualización automática puede configurarse para cada canal separadamente y que esa sí funciona

En fin, dejo al lector interesado el explorar todo lo que ofrece el programa.

La única «pega», y solo por decir algo, es que su tema de iconos no cuadra con el resto del escritorio Plasma. No he encontrado un modo de cambiarlo, por lo que si tienes una sugerencia, lector, aquí abajo están disponibles los comentarios 😉

Un último detalle sobre el uso del programa en el escritorio Plasma: el icono estará oculto por defecto, por lo que hay que entrar en las Preferencias de la bandeja del sistema y ajustar la visibilidad para que esté siempre visible. Que después de todo la idea era tener todo siempre a la vista.

openSUSE: actualizar la distribución por internet

Tengo que admitirlo: soy un maestro en el arte de procrastinar. Esto ha significado que mi actualización de openSUSE Leap 42.2 a 42.3 sucedió exactamente un día después de la fecha en la que la más antigua alcanzó el end of life.

Sí, me llevó seis meses el juntar las ganas necesarias para actualizar la distribución… pero bueno, ya está, y debo decir que si bien fue in extremis el proceso ha resultado placentero y libre de problemas.

En fin, que he aquí los detalles, para recordarlos la próxima vez (solo será cuestión de cambiar los números de versión).

openSUSE ahora soporta oficialmente la actualización por internet y por buenas razones: la experiencia es infinitamente superior a lo que era hace solo un par de años, y eso que ya en aquel entonces no era tan mala.

Para una guía extremadamente cautelosa sobre cómo realizar esta actualización pueden consultar esta página. Yo tomé una vía un tanto más «agresiva», por lo que si eres un poco aventurero sigue leyendo.

En general se recomienda borrar todos los repositorios extras, dejando solo OSS y Updates, antes de realizar el infame zypper dup para, solo al final de la actualización, volver a configurar lo que sea necesario. Pero yo decidí no seguir este prudente consejo: fui adelante con todos mis repositorios, así a lo bestia, y no tuve problemas de ningún tipo.

Lo que hice fue lo siguiente:

  1. Abrir YaST2 e ir a Instalar / desinstalar software.
  2. Paquete → Todos los paquetes → Actualizar si hay una versión disponible para actualizar 42.2.
  3. Actualizado el sistema, recorrer la lista de paquetes instalados que puede verse en la pestaña Repositorios → @System (si la pestaña no está visible, es posible activarla con el menú Ver). La idea es localizar cualquier paquete cuyo número de versión esté en rojo y resolver el problema que ese color representa: si bien se da mucho menos que en versiones anteriores de openSUSE, cada tanto algún paquete (especialmente de Packman) queda huérfano o con una versión equivocada, por lo que conviene corregirlo antes de la actualización de sistema.
  4. Opcional (¡si bien hay que hacerlo periódicamente!): buscar en YaST2 todo lo relacionado con el kernel y «purgar» los kernels viejos. Por algún motivo openSUSE no borra los kernel antiguos cuando los actualiza, por lo que van acumulándose.
  5. Configuración → Repositorios y, por cada repositorio configurado (¡no hay que olvidar ninguno!) editarlo para cambiar cada instancia de «42.2» por «42.3» (o, si lees esto en el futuro, las versiones que correspondan). Por ejemplo, pasar de
  6. Es aquí donde tomé distancia de las recomendaciones normales para este procedimiento: todo el mundo aconseja borrar los repositorios excepto los oficiales, pero como comenté antes yo los dejé activos a todos (que en mi caso suman 21: packman, firefox, libreoffice 5.4, KDE extra, science, publishing…), cada uno con su prioridad bien configurada (recuerden: un número más pequeño implica mayor prioridad)
  7. Cuando terminé de editar todos los repositorios, cerré todas las aplicaciones y abrí una terminar virtual, pero de las de verdad: konsole o gnome-terminal son emuladores de terminal y si la sesión gráfica se cae, también esas terminales virtuales. En sistemas Linux siempre tenemos disponibles por defecto 6 terminales virtuales verdaderas a las cuales se accede con los atajos de teclado Ctrl-Alt-F1 a F6 (Ctrl-Alt-F7 nos devuelve a la sesión gráfica).
  8. En esta terminal virtual (yo elegí la primera) me registré como administrador (usuario, root), escribí zypper dup, Intro y dejé que el programa hiciera su trabajo.
  9. Tuve que aceptar un par de licencias y no mucho más: solo esperar. Zypper buscó todos los paquetes respetando correctamente la prioridad de cada repositorio (yo tengo a packman con 70, KDE-extra, publishing y libreoffice con 80, los otros repositorios no oficiales con 90 y los de base con 99), resolvió por si solo todas las dependencias, descargó por si solo todos los paquetes y los instaló sin protestar y sin problemas.
  10. Cuando todo terminó (le llevó par de horas) reinicié la máquina con
    • reboot

Listo.

ACTUALIZACIÓN: luego de publicar este artículo, LibreOffice 5.4 llegó al repositorio normal de actualizaciones por lo que el repositorio de LibO lo he eliminado.

Cuando hice algo como esto a mediados del 2015 luego tuve que corregir una pila de paquetes que quedaron mal instalados, pero ahora no: como dije antes las prioridades fueron respetadas, no tuve que reconfigurar nada y todo se instaló sin problemas. Solo tuve que corregir una cosa al final

Un único paquete había quedado huérfano, y era de packman 😉

En fin, que el paso al próximo Leap seguramente lo haré de la misma forma. Solo espero lograrlo antes de que esta versión llegue al end of life

Aunque, conociéndome, lo veo difícil.

Recrear el «quick-start» de LibO en KDE Plasma

LibreOffice 5.4 es la última versión en ofrecer el «quick-start», la pequeña aplicación que se coloca en la bandeja del sistema para agilizar el acceso a los diferentes componentes del programa: a partir de 6.0 será eliminada.

NOTA: Al parecer han dado un paso atrás y el «quick-start» seguirá disponible por algunas versiones más. No pregunten.

Originalmente esta pequeña componente fue creada porque, en la época de OOo, el inicio de la aplicación era dolorosamente lento: al mejor estilo de los productos de Redmond este «inicio rápido» cargaba, silenciosamente, el programa completo durante el inicio del sistema. La idea era que al estar ya cargado en memoria se agilizaba su arranque… al costo de hacer el inicio del sistema más lento, se entiende.

En los últimos tiempos LibO ha logrado hacer que el inicio del programa sea más ágil, reduciendo enormemente el tiempo necesario para cargar la aplicación por lo que el «inicio rápido» ha dejado de ser tan útil, ¿verdad?

Bueeeeeeeeeno… Depende. Ciertamente cargar todo el paquete en memoria aún cuando no iba a ser utilizado no era la mejor de las ideas, pero el «inicio rápido» tenía algunas (pequeñas) ventajas extras como por ejemplo conseguir que el programa se iniciara mostrando la lista de plantillas.

Hoy mostraré cómo recrear las funciones «útiles» del inicio rápido de LibO en un entorno Plasma. Seguramente se podrá hacer algo parecido en otros escritorios.

Primero que nada creamos una carpeta que podríamos llamar «LibreOffice Rápido». Dentro de esta carpeta hacemos un clic derecho → Crear nuevo → Enlace a aplicación. Esto nos creará un archivo «desktop» que podremos utilizar para crear un enlace a la aplicación que queramos. Por ejemplo escribiendo bajo Orden en la pestaña Aplicación lo siguiente

libreoffice --writer %U

lograremos iniciar Writer mientras que con

libreoffice --draw %U

iniciará Draw.

NOTA 1: Sí, ya sé que podemos arrastrar el acceso directo correspondiente desde el menú de aplicaciones, pero como veremos más abajo es mejor crear el acceso «a mano» desde cero.

NOTA 2: El lector interesado en saber qué es eso del «%U» puede consultar la especificación de los archivos desktop.

Hasta aquí todo fácil. ¿Cómo hacemos ahora para llamar la lista de las plantillas? Pues con

libreoffice .uno:NewDoc

mientras que si queremos que nos presente directamente el menú para abrir un archivo podemos utilizar

libreoffice .uno:Open

Estas instrucciones «.uno» usan el «API» de LibO para realizar diferentes tareas y son parte del lenguaje de macros del programa. Si el lector quiere saber más al respecto tendrá que preguntarle a un experto del tema, como por ejemplo mi amigo Mauricio, administrador de los foros de la comunidad.

Ahora en nuestro escritorio Plasma desbloqueamos los elementos gráficos y en un panel cualquiera insertamos una «vista de carpeta»

Ahora solo nos queda configurar la vista de carpeta para que apunte a la carpeta «LibreOffice Rápido» con lo cual veremos los accesos rápidos que hemos creado… todos ellos mostrando la extensión .desktop, lo cual queda bastante feo. ¡Ningún problema! Podemos simplemente hacer un clic derecho sobre cada acceso rápido y seleccionar Cambiar nombre para eliminar la extensión del archivo que Plasma los seguirá reconociendo.

NOTA: Y aquí está la razón para no arrastrar los accesos desde el menú ya que al parecer estos últimos no están bien formateados y al quitarles la extensión Plasma deja de reconocerlos como accesos a programas. Los archivos .desktop creados desde Plasma funcionan a la perfección.

Todo listo.

Desempaquetar un archivo rpm

Todo aquel que por cualquier motivo (y mejor no entremos en los porqué que no quiero deprimirme) se vea obligado a utilizar skype en Linux y no quería actualizar a la última, patética versión habrá seguramente recibido en las últimas semanas un amable correo electrónico indicando que las versiones 4 y anteriores serán descontinuadas a partir del primero de julio y que hay que pasarse obligatoriamente a la versión 5.3, la cual está oficialmente marcada como beta y falla más que escopeta de feria.

Sí, exacto. Pienso igual.

Bueno, la cuestión es que esta nueva versión viene distribuida solamente como rpm y deb y que yo no tengo ganas de instalar un rpm que no venga de un repositorio de mi distro, por lo que ha sido esta una buena oportunidad para desempolvar las viejas recetas sobre cómo desempaquetar archivos rpm para una «instalación local».

Veamos.

Un archivo, gráficamente

Un rpm es simplemente un archivo comprimido al que se le han agregado metadatos. El formato de compresión elegido ha sido, históricamente, cpio, pero versiones recientes del estándar pueden utilizar bzip2, lzip, lzma, xz o, desde la versión 5, xar.

Como sea, cualquier programa de compresión de datos debería ser capaz de abrirlo. Por ejemplo, Ark abre archivos rpm sin problemas por lo que en KDE solo tenemos que hacer clic derecho → Extraer → Extraer archivo comprimido aquí, autodetectar subcarpeta.

Un archivo, en línea de comandos

En la carpeta que contiene el archivo.rpm creamos una subcarpeta, entramos en ella, abrimos allí una terminal y escribimos

rpm2cpio ../archivo.rpm | cpio -id

La i es para «extraer» y la d para crear directorios si son necesarios. Digo, en caso de que alguien quisiera saberlo. Por supuesto siempre tenemos

cpio --help

para más opciones (la página man del programa no me parece muy útil).

Muchos archivos a abrir recursivamente

También podríamos estar interesados en descomprimir la instalación de la versión de desarrollo de LibreOffice, que está dividida en unos 50 archivos rpm, para hacer pruebas y ver qué tiene de nuevo sin molestar la instalación «normal». Hace ya muchos años escribí sobre esto (aquí, aquí y aquí), pero no está de más el repasar la instrucción.

Como antes, creamos una subcarpeta dentro de la carpeta que contiene todos los rpm, entramos allí y abrimos una terminal para ejecutar el siguiente código

for i in ../*.rpm; do rpm2cpio $i | cpio -id; done

Lo que hace esta línea es crear un bucle que va pasando por todos los archivos rpm, descomprimiéndolos y copiando el contenido recursivamente.

Todo listo.

SciDAVis 1.18

Ajustes polinomiales, logarítmicos, exponenciales, con funciones definidas por el usuario, trasformadas rápidas de Fourier, filtros, integración y derivación numérica… Que el usuario elija.

También permite operar rápidamente sobre los datos, definir funciones, personalizar los gráficos, exportarlos en formato SVG o PDF para incluirlos en cualquier documento…

Además de descargar el código fuente desde la página principal del proyecto es posible instalarlo rápidamente en varias distribuciones Linux (Fedora, openSUSE, Debian, xubuntu…) desde este repositorio.

En Editar → Preferencias → General → Aplicación podemos elegir el Estilo de la interfaz gráfica. Seleccionando Breeze se integra bastante bien al escritorio Plasma por lo que casi que ni se nota que sigue siendo una aplicación Qt4.

Convertir archivos EPS en formatos vectoriales «modernos»

El formato de imágenes vectoriales EPS es uno de los más antiguos aún en uso, pero por muchos motivos ha sido superado por otros formatos como PDF o SVG.

Writer tiene un gran soporte de imágenes SVG, un problemático soporte para PDF (mejora en cada versión, pero todavía le falta) y un inexistente soporte para EPS. ¿Qué hacer entonces si tenemos que utilizar imágenes en formato EPS?

Existen muchos convertidores de imágenes vectoriales (como UniConvertor, parte del proyecto sK1), pero en la mayor parte de los casos estas aplicaciones nos ofrecen demasiadas opciones por lo que hoy iremos a lo más sencillo.

Hace ya unos años hablé de cómo convertir una imagen PDF en una SVG, hoy comentaré el primer paso: ir de EPS a PDF.

Para esto necesitamos la aplicación de línea de comandos epstopdf. La forma de utilizarla es simple:

epstopdf entrada.eps --outfile=El-PDF.pdf

Listo: hemos convertido el archivo EPS en un PDF de una página perfectamente formateado. Para luego convertir ese PDF en un SVG solo tendremos que seguir lo comentado en el otro artículo:

pdf2svg El-PDF.pdf El-SVG-definitivo.svg

He probado con viejos archivos EPS de mi tesis de doctorado y la conversión es perfecta.

La instrucción epstopdf ofrece muchas más opciones. Quien tenga curiosidad puede consultar la ayuda del programa con

epstopdf --help

o bien el manual con

man epstopdf

(recuerda, lector: konqueror muestra páginas man perfectamente por lo que si te encuentras en KDE presiona CtrlAlt-F2 para abrir krunner y escribe man:epstopdf)