El asunto de la posibilidad de personalizar el escritorio fue algo que me fascinó desde la primera vez que utilicé GNU/Linux. Sacando de por medio todo asunto ideológico y demás, fue el punto más atractivo y el que seguramente hizo que me quedara allí para siempre. El sistema en cuestión, más precisamente, fue Ubuntu 7.10, u 8.04, simplemente experimentaba con algo nuevo que había leído por ahí. Además no arriesgaba nada, para ese entonces ya había salido Wubi.
Comencé conociendo Beryl (pero sin llegar a usarlo) y, posteriormente, Compiz Fusion, más que nada por el cubo y el decorador Emerald. Creo que, por el momento, el único uso que le daba era probar los efectos que traía e intentar ordenar y decorar todo de una manera coherente, como si lo que mostraba la pantalla fuera un lienzo interactivo pero con cierto tono geek o friki, como más os guste. En fin, a partir de entonces, mi forma de ver el escritorio cambió a partir de ese pequeño experimento y el tiempo me llevó a que, un tiempo después, terminara adaptando Debian como sistema operativo principal.
Este potencial que yo le encontraba al escritorio GNU/Linux como forma de expresión artística, venía desarrollándose hacía tiempo. De hecho, es bastante lógico verlo de este modo pues quienes han diseñado las primeras interfaces han requerido de la intervención de la creatividad artística para que sean tanto funcionales como atractivas. Lamentablemente, los sistemas operativos mayoritarios (o, puntualizando, Windows y MacOSX) plantean un diseño y lo dejan fijo, impidiendo que los escritorios de los usuarios puedan cambiar drásticamente sin la intervención de una aplicación externa.
Mientras tanto, por la otra senda, desarrollos como GNOME y KDE, comenzarían a otorgar más independencia durante sus primeros días pero aún no la suficiente. Al mismo tiempo surgían nuevos gestores de ventanas (además de los viejos, como twm) que, justamente, no hacen más que dibujar las ventanas en un entorno un poco más amigable que la línea de comandos. Una cosa lleva a la otra, lamentablemente no puedo describirlo con precisión porque para ese entonces ni sabía lo que era una computadora. Sin embargo, habiendo salido Blackbox en 1997, comenzaron a surgir variantes a partir de éste (Fluxbox y Openbox quizá los más notables). La premisa, un gestor de ventanas y nada más.
Repasando lo que estaba diciendo, tenemos tanto los escritorios ya formados y los que no traen nada en absoluto o, mejor dicho, ni siquiera podrían llamarse escritorios. Ahora, volviendo al concepto lienzo interactivo, el segundo es el más adecuado para llevar a cabo esta idea. Como no tenemos más que ventanas, alguien querrá tener una barra de tareas. Se toma el trabajo y la programa. De paso también quiere un programa para lanzar aplicaciones; lo programa también. Finalmente, algo que brinde información tal como los elementos que se agregan a las barras de tareas o como docks de antaño. Así podríamos seguir y terminamos encontrándonos con el mismo sistema GNU/Linux de siempre pero con una cara distinta, propia, que no le pertenece a nadie más que a esa persona.
El tiempo ha pasado, Internet se fue haciendo masivo y se fueron formando comunidades de personas que quieren tener su identidad propia y compartirlo con los demás. A principio del nuevo milenio, apareció opendesktop.org, sitio que mantiene los famosos *-look.org que proveen de íconos, temas y demás y los *-apps.org con aplicaciones para embellecer y agregar más funciones a nuestro escritorio.
Suficiente de historia, no quiero seguir porque no es un período que pude apreciar, así que avancemos un poco más. Según FreshMeat (o Freecode), la primer versión estable de Openbox salió el 27 de abril de 2002. Menciono a Openbox porque, cuando lo había comenzado a usar, se había vuelto popular como entorno para personalizar (entre otros que luego mencionaré). Siendo un descendiente de Blackbox (aunque ahora ya no compartan código) podemos decir que comparten la misma premisa. Por lo menos con eso me encontré cuando lo instalé: nada.. Un sistema muy popular, y del cual ya he escrito, que lo emplea por defecto en Crunchbang.
Herramientas para llevar a cabo el estilo propio varían según la creatividad del usuario, las capacidades para programar y la voluntad para aprender. Digo, uno podría tomar, hoy en día, a KDE o XFCE (ejemplos por excelencia de escritorios personalizables) y cambiar todo de lugar a gusto propio; sin embargo, no alcanza. Según la creatividad, uno podría sentarse a diseñar un esquema ingenioso que interactúe con el fondo de pantalla, por decir algo. Por dar un ejemplo, he visto que se han dibujado en el fondo mismo el diseño de la barra de tareas, luego hacer a la barra propiamente dicha transparente. Nota sobre el ejemplo enlazado: no sé si particularmente este hace uso de lo que quiero mostrar; sin embargo, una forma de agregar una decoración a la barra en la parte superior derecha era hacer el ícono de inicio como si fuera la parte ancha de la cinta y sobre el fondo dibujar el resto.
Según las capacidades para programar y la voluntad de aprender, uno puede llegar más lejos y armar toda la vista a gusto propio. Programar puede ponerse tedioso, especialmente aprender ya que puede llevar mucho tiempo hacer algo verdaderamente útil e interesante pero podemos tomar atajos y, ahí, es donde entra en juego la voluntad de aprender. Ya he escrito sobre dzen en otra oportunidad, que hace la mayor parte del trabajo por nosotros. Nos dibuja la barra para que no nos tengamos que preocupar más que por obtener la información necesaria con un script, cosa que con bash es relativamente sencillo de hacer, comprender y aprender. También está conky, con el cual, incluso, existe la posibilidad de pasar la información por medio de dzen.
Como es de imaginar, la personalización da lugar a varios estilos. Algunos de ellos es al estilo MacOSX o Windows 7. O, básicamente, copiar otro estilo. Luego, también se ve mucho, es el minimalismo. En resumen, se podría definir como la ausencia de lo superfluo. Ahora, hay diferentes formas de lograrlo. Una puede ser justamente eso: un escritorio sin íconos, una barra de tareas y tal vez un lanzador de aplicaciones. Algo así como el primer arranque de un sistema cualquiera. Podríamos llamarlo orden también. Por otro lado, también he visto que vaya acompañado también por formas no muy complicadas (bordes rectos), sin colores muy llamativos y molestos y, por sobre todo, aprovechar todo el espacio en pantalla usando tipografías pequeñas (como las artwiz).
A partir de ahora, me voy a enfocar en lo segundo. Ahí entran en juego, principalmente, los gestores de ventanas. Si bien hay entornos de este estilo con KDE o GNOME, siento que no es lo mismo. Podemos mencionar como los más representativos a los *box (como ya he dicho, Blackbox, Fluxbox y Openbox, tal vez algún otro más) pero también a los que disponen las ventanas en mosaico como dwm (ya lo he mencionado), awesome, scrotwm, subtle, xmonad y un largo etcétera. No voy a meterme con las diferencias entre cada uno de ellos, posiblemente en otro momento. Todos coinciden en ser livianos y, al mismo tiempo, minimalistas por no traer características más que manejar ventanas.
Es bastante común entre estos entornos ver configuraciones del estilo que venía diciendo. De hecho, dejarlos así es lo que los hace más atractivos. Sin embargo, no está todo en su apariencia. La personalización va más allá. El uso, que en las capturas no es visible, juega otro rol importante ya que, además recordemos, que debe ser usado y no sólo admirado. Ejemplos de esto pueden ser usar atajos como lanzadores o para activar funciones del gestor de ventanas; o integrar un conjunto de aplicaciones al esquema de colores, como pueden ser Emacs, vi, tema GTK; aunque todo eso ya va debido a las necesidades de cada uno.
Me gustaría hacer un paréntesis y compararlo con la composición musical: digamos que lo que vemos es simplemente la melodía, cualquiera que se sentara a escribir puede lograr una melodía; por otro lado, para acompañarla vamos a tener que escribirle una armonía detrás que la sustente y le de otro toque. Eso pasaría con el uso que no es cuestión de hacerlo y punto, sino que requiere conocimientos más profundos como, en nuestro caso, programar o, por lo menos, saber leer un archivo de configuración. Aunque, por supuesto, existen atajos.
Openbox y Fluxbox cuentan con configuradores y selectores de temas. El del primero se llama obconf y el del segundo viene integrado pero no en todos los casos es tan sencillo: por citar dos ejemplos, en dwm la forma de configurarlo es modificando el código fuente en C (aunque para modificar las pequeñas cosas no es tan complicado) o xmonad que su configuración está escrita en Haskell. Para el resto de las funciones, aplicaciones recurrentes son gmrun para lanzar aplicaciones, tint2 para la barra de tareas, nitrogen o feh para el fondo de pantalla y, especialmente, aplicaciones en consola (como por ejemplo la dupla mpd y ncmpcpp para escuchar música). Todo configurado a mano y haciendo uso de scripts de arranque para dejar todo en condiciones al momento de usar el escritorio. Hablando de aplicaciones en consola, un detalle que nunca falta es modificar el ~/.Xdefaults el cual se encarga de la configuración estándar de nuestra terminal (más que nada para xterm o rxvt que no tienen perfiles como gnome-terminal o konsole). Hay esquemas realmente bonitos para tener en cuenta.
En fin, podríamos seguir enumerando distintos casos y posibilidades pero eso ya para vuestra experimentación, así que, a continuación os dejaré enlaces que he encontrado útiles:
- DotShare.it (configuraciones y esquemas de colores para aplicaciones en consola)
- Foros y Wiki de Archlinux
- xwinman (información sobre varios gestores de ventanas)