Danielside

informática softwarelibre divagaciones música

Compilar XFCE 4.14 en Devuan ASCII/Debian Stretch

Mis entornos de escritorio favoritos son XFCE e i3, cada uno lo uso bajo unas circunstancias determinadas.

Me encanta el equilibro de XFCE, es un entorno fácil de usar pero muy configurable y es muy ligero en cuanto al uso de recursos. Con unos cuantos retoques lo puedes dejar con muy buena pinta.

El desarrollo de XFCE no es rápido, pero me gusta la idea de ir haciendo mejoras en un sistema que de por sí funciona (los últimos años se han centrado en la titánica tarea de usar GTK3) en lugar de cambiar todo el concepto de escritorio y toda la interacción cada poco tiempo. Soy animal de costumbres. Admiro los progresos de GNOME, la estampida y vuelta al redil de Unity, los avances de KDE Plasma, etc. Es sano que haya muchas iniciativas y todas tienen su público, pero no son para mi.

El desarrollo de XFCE como digo es lento y es difícil encontrar distribuciones que tengan la última versión disponible. Como XFCE 4.14 tiene cosas que me gustan voy a intentar compilarlo e instalarlo para sustituir al XFCE 4.12 de mi Devuan ASCII (Debian Stretch).

Bajar el código

Bajar el fichero comprimido con todo el código.

GNU Toolchain

También llamada “toda la mandanga que hay que tener instalada para poder compilar cosas”. Debian tiene un paquete muy útil llamado build-essential.

Dependendencias

Lista de dependencias que he instalado. Estas son todas las dependencias listadas como obligatorias, todas las opcionales que he podido encontrar, más todas aquéllas que no aparecen en la guía de instalación pero que he podido averiguar a partir de los mensajes de la configuración de cada paquete. Aquí lo dejo todo masticado:

intltool libglib2.0-dev libgtk-3-dev libstartup-notification0-dev libgladeui-dev libwnck-3-dev libpng-dev libexif-dev libnotify-dev libfreetype6-dev libjpeg-dev libgudev-1.0-dev libxcursor-dev xserver-xorg-input-libinput-dev libupower-glib-dev libcpupower-dev libcolord-gtk-dev libcolord-dev libxklavier-dev libxml-perl libthunarx-2-dev libpoppler-glib-dev libffmpegthumbnailer-dev libgsf-1-dev libxfconf-0-dev libxfce4ui-2-dev

Compilar

Para todos los paquetes del core el mantra de descomprimir, compilar e instalar será el mismo. Ahora iremos recorriendo los paquetes comprimidos en el orden que se expone y los iremos compilando y dejando instalados.

Lo primero es elegir un directorio de instalación, yo he elegido /opt/xfce4. Ese directorio hay que pasárselo a todos los configure a partir de ahora.

Antes de empezar a compilar:

export PKG_CONFIG_PATH="/opt/xfce4/lib/pkgconfig:$PKG_CONFIG_PATH"

En la guía oficial para compilar XFCE falta un paquete que me he encontrado en la distribución core, thunar-volman. Yo pongo aquí la misma lista incluyendo ese. Estos son los pasos para cada paquete:

  1. tar xf paquete.tar.bz2
  2. cd paquete
  3. ./configure --prefix="/opt/xfce4"
  4. make [-jN]
  5. [sudo] make install

Si tienes varios cores, que va a ser lo más normal, puedes pasarle a make cuantos de ellos quieres que use con el parámetro -jN donde N es el número de cores a usar en la compilación. Finalmente la orden de instalación del paquete requerirá o no permisos de root en función de donde instales. En el caso de /opt/xfce4 los requiere. Este es el orden en el que tenemos que proceder con los paquetes:

  • libxfce4util
  • xfconf
  • libxfce4ui
  • garcon
  • exo
  • xfce4-panel
  • Thunar
  • thunar-volman
  • xfce4-settings
  • xfce4-session
  • xfwm4
  • xfdesktop
  • xfce4-appfinder
  • tumbler

Recordar, para cada uno de ellos descomprimir, configurar con el prefijo, compilar y dejar instalado antes de pasar al siguiente. El orden es crítico.

Usar

Si teníamos ya una instalación de XFCE debemos desinstalarlo por completo, incluyendo todos los paquetes que comienzan por xfce4* y los que comienzan por libxfce4*. No debe quedar ningún rastro para no mezclar versiones.

Una vez desinstalado completamente, tienes la opción de conservar tu configuración local o no. La configuración de XFCE de tu usuario está en ~/.config/xfce4.

Añade las rutas de los binarios del nuevo XFCE al PATH, yo lo he hecho en /etc/profile directamente. Las rutas son /bin y /sbin del directorio donde hayas instalado, en mi caso /opt/xfce4.

No he sido capaz de integrar el nuevo XFCE 4.14 con el login manager lightdm. En teoría lo único que hace falta para que lo reconozca es que exista un fichero desktop en /usr/share/xsessions indicando como arrancarlo. Este fichero se llamará xfce4.desktop y tendrá el siguiente contenido:

[Desktop Entry]
Encoding=UTF-8
Name=Xfce4
Comment=Use this session to run Xfce4 as your desktop environment
TryExec=/opt/xfce4/bin/startxfce4
Exec=/opt/xfce4/bin/startxfce4
Icon=/opt/xfce4/share/pixmaps/xfce4_xicon1.png
Type=Application

El login manager slim sí que lo ha reconocido. Si tienes el mismo problema que yo, solo tienes que desinstalar lightdm, instalar slim, reiniciar el equipo y en la pantalla de login seleccionar que quieres usar XFCE. ¡A disfrutar!

Más aplicaciones

Hasta aquí lo que respecta al core, pero XFCE distribuye un conjunto de aplicaciones aparte que se pueden encontrar aquí https://archive.xfce.org/src/apps/. Se puede seguir el mismo mantra de compilación que para las aplicaciones del core. Veamos un ejemplo con la aplicación de captura de pantallas:

tar xf xfce4-screenshooter-1.9.7.tar.bz2
cd xfce4-screenshooter-1.9.7/
sudo apt-get install libsoup2.4-dev
./configure --prefix=/opt/xfce4
make -j2
sudo make install

Si lo estás haciendo en la misma sesión justo después de compilar todo el core, ok, pero si vuelves después de unos días no te olvides de establecer la variable PKG_CONFIG_PATH como hicimos anteriormente, para que cada aplicación encuentre sus dependencias.

No hay documentación sobre dependencias, déjate llevar en cada paquete por los mensajes que te da el configure. Así averigüé que este en concreto necesitaba libsoup. Si ves que la versión que requiere es muy alta tienes que ir descargándote la siguiente versión más antigua, hasta que encuentres uno que te encaje.

Después de esto ya tenemos disponible el comando xfce4-screenshooter. El problema es que no está en los menús, porque ningún paquete del sistema se ha encargado de añadirlo. El programa menulibre te puede servir para añadir la entrada al menú de aplicaciones.


Archivado en categoría(s) GNU/Linux

Enlace permanente



Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.