XFCE4 dentro de Windows

Les venía a contar mi corta pero productiva experiencia con las herramientas que produce suckless que es un grupo de programadores que se dedica a programar pequeñas herramientas de uso cotidiano a nivel UNIX, más que nada para el entorno gráfico pero dentro de un contexto minimalista.

Si no se acuerdan o no lo sabían las herramientas de UNIX están basadas en la idea de que deben ser simples y hacer una cosa bien. En el contexto de los años 70s y 80s eran utilidades básicas del sistema operativo como cp, cat o grep, ese tipo de herramientas que todo usuario de Linux al menos debe haber usado al menos un par de veces e incluso el concepto del entubado o cuando una utilidad le pasa su salida a otra dentro de la misma línea a través de una separación con una línea vertical (no es el tema del artículo pero acá hay una explicación sobre los tubos en Linux). Bueno, esa mentalidad la retomó Suckless y le dio un giro más contemporáneo enfocado en las herramientas que utilizamos a diario en X.

Algunas características de las aplicaciones son:

  • Están escritas en C
  • El código fuente está documentado
  • Cualquier modificación se hace a través de ese código fuente
  • No suelen tener muchas dependencias
  • Los binarios son livianos

Qué tipo de software me puedo encontrar en Suckless?

  • Terminal (st)
  • Navegador (surf)
  • Administrador de ventanas (dwm)
  • Menú (dmenu)
  • Cliente IRC (ii)

Ellos también hicieron un porte de varias utilidades de plan9 a Linux/BSD que es más liviano que el plan9port. También tienen herramientas pensadas para realizar una tarea puntual, por ejemplo, tabbed que crea pestañas sobre las ventanas de otro programa que no cuente con ellas, por ejemplo, surf. Así que en este caso, ellos no crearán ninguna aplicación con pestañas ya que para eso está tabbed.

En mi opinión la filosofía de trabajo me parece más interesante que cada aplicación en particular pero si hubiera que destacar algo sería (en mi caso) st, la cual al compilar por defecto es apenas una versión un poco más limpia, liviana y capada de xterm. Pero hay una infinidad de parches para hacerla funcionar igual o mejor que el clásico xterm. Mi st funciona con un pantone tipo solaris que se puede pasar de claro a oscuro con F6 y habilitar el desplazamiento, además lo hago correr con tabbed así:

tabbed -r 2 st -w '' -e tmux

Lo pueden agregar a un alias para que quede mejor, así lo pueden manejar más fácil y crear ventanas con Ctrl+b, c en tmux o pestañas con tabbed usando Ctrl+Mayús+Entrar (que no es lo mismo!). Ese comandito es casi un manejador de “ventanas” por sí mismo! (si te van las aplicaciones de consola, claro).

dwm, surf y dificultades dentro de WSL

Como les conté antes utilizo WSL2 con entorno gráfico para levantar el entorno gráfico con escritorio remoto y utilizar aplicaciones con GUI nativas en Linux. Pues bien, compilé dwm nativamente y probé cambiar xfce por dwm y anduvo muy bien. Sólo cambié en /etc/xrdp/startwm.sh la última línea que había editado entonces por exec dwm y nada más.

Sobre surf que es el navegador web hay que decir dos cosas:

Lo primero es que es lo que más dependencias he visto tener y lo más problemático de hacer andar en WSL (dentro de Windows sin escritorio remoto). Tienes que instalar en Ubuntu primero un sistema X como el VcxSrv y con libgl indirecto, instalar en tu distro de WSL la librería webkit2gtk y xft:

export LIBGL_ALWAYS_INDIRECT=1

Luego inicias surf con:

tabbed surf -e https://duckduckgo.com

Pero el problema es que se rompe. Es un problema que no he podido resolver todavía.

Lo segundo que quería decir de surf es que a pesar de todo lo que pasa dentro de Windows, fuera de Windows (en el entorno gráfico con WSL va perfecto ya que está funcionando dentro de su sistema). Pero por defecto la reproducción de video no funciona. Como suelo ver videos en Internet no puedo usarlo tanto como quisiera.

La polémica con suckless

Hay una controversia con Suckless, el equipo en sí respecto a un presunto compromiso ideológico, que supuestamente son nazis pero creo que eso hay que dejarlo a cada uno. No está comprobado que lo sean en su conjunto al menos y tampoco creo que debiese influir en la decisión de usar o no algo (como mucho en participar si te genera dudas) pero para mi no es tema. Sólo lo escribo porque estoy al tanto del conflicto pero si fuera por un tema ideológico habría que dejar de usar y consumir un montón de cosas.