Emezeta.com

Guía: Personalizar escritorio GNU/Linux con Openbox


Una de las principales ventajas que ha tenido siempre GNU/Linux es su modularidad. Es totalmente posible sustituir «fragmentos» del sistema de modo que, si alguno no nos gusta o no cumple nuestras expectativas (que pueden ser muchas y muy diversas), lo cambiamos por una alternativa que se adapte mejor a nuestras necesidades. Esta pequeña base se puede aplicar tanto a un simple programa como al propio interfaz gráfico del sistema (gestor de ventanas). Y eso es justo lo que vamos a hacer en este artículo.

Personaliza tu escritorio Linux con Openbox
Personaliza tu escritorio Linux con Openbox

A raíz de lo ocurrido con el cierre de CrunchBang me puse a trastear un poco con algunos gestores de ventanas ligeros que, alejándonos de escritorios tradicionales y más comunes como Gnome, Unity o KDE, son más ágiles y consumen menos recursos (memoria, carga de CPU o batería en portátiles). En este artículo utilizaremos Openbox, un fantástico gestor de ventanas con tres características más que deseables: extremadamente sencillo, muy potente y ampliamente personalizable.

Disclaimer: Si perteneces al tipo de persona que quiere todo hecho y listo para funcionar, este artículo NO es para ti. Prueba con alguna distro de Linux u otro sistema. Este artículo está orientado a usuarios (con o sin conocimientos) que prefieren personalizar su sistema al detalle, en favor de consumir menos recursos del sistema y tener un escritorio configurado a medida.

¿Por qué Openbox?

En Layer 3 Networking blog tienen una excelente comparativa de escritorios de Linux, donde miden el consumo de RAM de diferentes escritorios y gestores de ventanas de GNU/Linux bajo las mismas condiciones. A continuación podemos ver dicha comparativa, donde se incluyen gestores de ventanas ultra-minimalistas como TinyWM o miWM y hasta entornos completos de escritorio como Gnome3, Unity o KDE:

Consumo de memoria RAM de escritorios de GNU/Linux bajo mismas condiciones
Consumo de memoria RAM de escritorios de GNU/Linux bajo mismas condiciones

He elegido Openbox porque es un gestor de ventanas estable, bien documentado, ágil y muy personalizable, capaz de conseguir resultados atractivos y vistosos, con un coste de recursos ridículo. Además, su configuración es muy sencilla y se guarda en dos ficheros diferentes en la cuenta del usuario (rc.xml y menu.xml). Esto da varias ventajas:

  • Configurar nuestro Openbox se reduce a modificar dichos archivos XML.
  • Es extremadamente sencillo hacer una copia de seguridad.
  • Basta con copiar esos archivos en un nuevo Openbox para tenerlo listo.
  • Permite tener diferentes configuraciones de escritorio por usuario.
  • Existen herramientas gráficas que hacen la configuración menos tediosa.

Lo que vemos a continuación es sólo un humilde ejemplo de como podemos dejar nuestro escritorio Openbox con esta guía. Sin embargo, existen mejores ejemplos que muestran las posibilidades y potencia de Openbox en DeviantArt. Echad un vistazo, porque hay diseños impresionantes y muy trabajados.

Ejemplo de escritorio GNU/Linux personalizado con Openbox
Ejemplo de escritorio GNU/Linux personalizado con Openbox

Dicho esto, comencemos. Intentaré explicar todo al máximo detalle para que incluso los usuarios sin demasiados conocimientos en GNU/Linux puedan seguir la guía sin problemas. No obstante, si hay algún detalle que no explico en profundidad, pueden preguntarlo en los comentarios.

1. Instalación de GNU/Linux (Debian)

En mi caso, partiré de una instalación de un sistema Debian con el escritorio base (Gnome3). Para ello, solo tenemos que descargarnos la versión Debian NetInst de su página oficial (una imagen ISO de aproximadamente 300MB que instala lo necesario y el resto lo descarga de Internet).

En el apartado Small CDS or USB sticks seleccionamos la versión para nuestro equipo. Generalmente es amd64 (64 bits), salvo que tengamos un equipo bastante antiguo o queramos instalarlo en una máquina virtual, en ese caso, i386 (32 bits) suele ser la opción más viable.

La instalación es bastante sencilla. Los que nunca han instalado un GNU/Linux, pueden probar a instalarlo en una máquina virtual con VirtualBox y así no tener riesgo de perder datos. Durante la instalación, marcaremos las siguientes opciones:

Instalación básica de Debian
Instalación básica de Debian

Los más atrevidos (y con más conocimientos) pueden instalar un sistema base sin escritorio y comenzar a instalar lo necesario desde cero. Es una opción más tediosa que necesitará más trabajo, pero en contraposición conseguirás un sistema aún más ligero.

2. Pasos previos necesarios

Una vez instalado nuestro sistema Debian, nos identificamos con nuestra cuenta e iniciamos sesión en el escritorio por defecto del sistema (que es Gnome Shell). Vamos al menu de actividades y buscamos la Terminal de root (en rojo, con privilegios de administrador).

Privilegios de administrador

Por defecto nuestro usuario (a partir de ahora usaré «manz» para referirme al usuario del sistema) no tiene privilegios de administrador, por lo que no podríamos instalar nada ni cambiar archivos de configuración. Para solucionar esto, desde la terminal de root escribimos:

adduser manz sudo

Con esto, hemos añadido el usuario manz al grupo de usuarios que pueden utilizar sudo, una herramienta que permite a usuarios comunes tener privilegios de administrador temporalmente. Si a alguien le interesa, también puede hacerlo manualmente editando el archivo /etc/sudoers.

Cerramos la terminal de root y abrimos una nueva terminal normal.

Instalador de paquetes

Para instalar componentes en nuestro sistema Linux utilizaremos la herramienta apt. Se trata de un gestor de paquetes en el que le especificamos los nombres de los paquetes a instalar, y él mismo se encarga de buscar, descargar e instalar las dependencias y el propio programa, listo para utilizar.

Antes de comenzar, escribiremos la siguiente línea para actualizar la lista de paquetes de apt y tenerlo al día:

sudo apt-get update 

Si buscas algo similar para Windows, echa un ojo a chocolatey, mencionado en profundidad en el artículo Mejorar la terminal de Windows.

Editor de textos

También es recomendable algunas herramientas que necesitamos más adelante, así como instalar un editor de texto de terminal como vim, nano o mcedit (a gusto del consumidor) para hacer cambios en los archivos de configuración. Si prefieres editores gráficos, puedes instalar algún editor como gEdit o jEdit, citados en el artículo Los mejores editores de texto para programar:

sudo apt-get install git vim nano mcedit gedit

Una vez terminados estos pasos previos, comenzamos la instalación del entorno Openbox.

3. Instalación de Openbox

Como vimos en la comparativa anterior, existen múltiples gestores de ventanas para GNU/Linux. Nosotros vamos a utilizar y configurar Openbox. Para ello, escribimos en la terminal:

sudo apt-get install openbox openbox-themes obconf obmenu

Una vez hecho, cerramos sesión en el escritorio Gnome Shell actual y volvemos a la pantalla inicial de login (por defecto se está utilizando gdm3, también se puede optar por instalar y utilizar otros más ligeros como lightdm o slim).

En dicha pantalla, si nos fijamos bien, al seleccionar nuestro usuario y antes de escribir la contraseña, nos permite seleccionar el gestor de ventanas que queremos utilizar. Elegimos el recién instalado Openbox e iniciamos sesión.

La primera impresión que tendremos es que algo ha ido mal. Un árido y terriblemente tosco escritorio con apenas un pequeño menú contextual al hacer clic derecho del ratón. Tranquilo. Iremos personalizándolo poco a poco. Empezaremos seleccionando Terminal emulator:

Un decepcionante escritorio Openbox recién instalado
Un decepcionante escritorio Openbox recién instalado

En el momento de escribir esta guía, Debian incorpora la versión 3.5.0 de Openbox en apt. Puedes saber que versión tienes escribiendo en una terminal:

openbox --version

Si te apetece tener la última versión, siempre puedes descargar el tarball de la web de descarga de Openbox y compilar el sistema siguiendo estas instrucciones.

4. Configuración de temas de Openbox

Empecemos con la personalización del sistema. Lo primero es cambiar la horrible apariencia inicial de Openbox. En el paso 3 instalamos el paquete openbox-themes que incluye varios temas de serie para Openbox.

Escribimos obconf (Openbox Configuration) en la terminal y se nos abrirá una pantalla similar a esta:

Configurando el tema de Openbox con ObConf
Configurando el tema de Openbox con ObConf

En ella, en la pestaña Tema, podremos examinando los aspectos de ventana existentes, que básicamente cambian el aspecto de las barras de título y los menús contextuales de Openbox. Seleccionamos el que más nos guste (mi preferido es Onyx) y cerramos.

Si ninguno de ellos nos convence, en la sección Openbox de Box-Look podemos encontrar una gran cantidad de temas descargables, como por ejemplo el magnífico Turquoise Nights, e instalarlos a través del botón Instalar un nuevo tema (seleccionando el archivo .obt).

Los temas de Openbox se pueden instalar manualmente en dos rutas diferentes:

Ruta Descripción
/home/manz/.themes/ En este caso, el tema sólo estará disponible para el usuario manz.
/usr/share/themes/ En este caso, el tema estará disponible para todos los usuarios del equipo.

5. Elección de una (o varias) tipografías

Sin cerrar la pantalla obconf, vamos a la pestaña Apariencia y vemos algunas opciones entre las que se encuentra cambiar el orden de los botones minimizar, maximizar o cerrar (entre otros) de las ventanas, o seleccionar las fuentes o tipografías que se utilizarán en las ventanas:

Jovencillo emponzoñado de whisky: ¡qué figurota exhibe!, pangrama utilizado en Linux
Jovencillo emponzoñado de whisky: ¡qué figurota exhibe!, pangrama utilizado en Linux

La utilización de una buena tipografía es uno de los aspectos más importantes en cualquier diseño, y en este caso no es una excepción. En este artículo de ejemplo utilizo Envy Code R, una tipografía de Damien G. bastante legible y atractiva.

En el artículo Cómo identificar una fuente o tipografía tienes algunos consejos sobre cómo averiguar o identificar fuentes conocidas, junto a varios enlaces con páginas con tipografías descargables como DaFont o Google Fonts.

Las fuentes o tipografías suelen estar en formato TrueType (TTF) u OpenType (OTF), e instalarlas es tan sencillo como hacer doble clic en ellas y pulsar el botón Instalar tipografía. La herramienta obconf proporciona varias opciones adicionales más de las que no hablaremos, con las que se pueden configurar otros detalles relacionados: ratón, márgenes de pantalla, redimensión de ventanas, etc... Toda esta información se guarda en el archivo /home/manz/.config/openbox/rc.xml.

Si optamos por instalar las tipografías manualmente, existen dos rutas donde podemos guardarlas:

Ruta Descripción
/home/manz/.fonts/ En este caso, la fuente sólo estará disponible para el usuario manz.
/usr/share/fonts/ En este caso, la fuente estará disponible para todos los usuarios del equipo.

Si las guardamos de forma manual, recordar escribir en una terminal fc-cache, lo que actualizará la lista de fuentes, teniendo en cuenta así las últimas instaladas. Además, podemos utilizar el comando fc-list : family para ver un listado con las fuentes disponibles.

6. Configuración de menús de Openbox

Habíamos mencionado que Openbox es un escritorio extremadamente ligero a costa de prescindir de algunos detalles. Por ejemplo, la única forma de interactuar con el sistema es a través de un menú contextual que aparece al pulsar sobre el fondo del escritorio.

Dicho menú de Openbox se puede configurar mediante ObMenu (Openbox Menu) escribiendo en una terminal el comando obmenu. Nos aparecerá una pantalla como la siguiente:

Configuración del menú de Openbox mediante obmenu
Configuración del menú de Openbox mediante obmenu

En ella podremos ir creando nuevos menús u opciones (ítems) en dichos menús, así como ordenarlos. Al crear un nuevo ítem, en la parte baja de obmenu escribiremos:

  • Label: El nombre de la opción que aparecerá en el menú.
  • Action: Generalmente Execute, que ejecutará el comando que escribiremos en el siguiente campo. También se puede utilizar Reconfigure (actualizar el menú contextual), Restart (reinicio rápido de gestor de ventanas) y Exit (salir del gestor de ventanas).
  • Execute: Comando a ejecutar si seleccionamos Execute en el campo anterior.

Para comenzar, podemos crear un nuevo ítem con el texto ObMenu que ejecute el comando obmenu (en minúsculas). Pulsamos el icono de guardar y comprobamos que se ha añadido dicha opción en el menú contextual. Recuerda seleccionar la opción Reconfigure para obligar al sistema a actualizar el menú.

Obmenu tiene algunas otras opciones avanzadas interesantes, como por ejemplo crear pipes que no son más que scripts que se ejecutan en vivo y muestran opciones como los últimos emails recibidos en Gmail o un calendario de días del mes actual.

Toda esta información se guarda en el archivo /home/manz/.config/openbox/menu.xml.

7. Configuración de temas GTK++

De momento hemos hecho algunos cambios muy sutiles. Sin embargo, seguimos con ese horrible y vetusto aspecto en los controles de las ventanas. Esto ocurre porque en principio, nuestro Linux esta utilizando el tema Raleigh para GTK+, una de las bibliotecas más populares para crear ventanas e interfaces gráficos de usuario.

Aspecto del tema Raleigh para GTK+
Aspecto del tema Raleigh para GTK+

Abrimos una terminal de texto y escribimos el siguiente texto, que instalará varios motores de temas GTK y LXAppearance, un interfaz para gestionarlos:

sudo apt-get install lxappearance gtk.-engines-* gnome-themes .+-icon-theme

Una vez terminada la instalación, escribimos lxappearance. Podemos también añadirlo en nuestro menú de Openbox, para así acceder desde el menú a partir de ahora.

En LXAppearance, la primera pestaña (Controles) nos permitirá seleccionar el tema GTK+ que más nos guste. Por ejemplo, yo he seleccionado Adwaita, una modificación de Clearlooks. Además, también podemos seleccionar la fuente por defecto que utilizaremos.

Si no te convencen los temas disponibles, puedes descargarte temas para GTK+2 o GTK+3 desde la página de Gnome-look. Para instalarlos, simplemente los guardamos previamente en la ruta /usr/share/themes/ y nos aparecerán automáticamente en LXAppearance.

Aspecto del tema Adwaita para GTK+
Aspecto del tema Adwaita para GTK+

Nota: Comprobarás que, si abrimos algún programa que requiera privilegios de root, como por ejemplo synaptic-pkexec, mantiene el tema Raleigh. Si quieres solventar este problema, escribimos el siguiente comando:

sudo cp ~/.gtkrc-2.0 /root/.gtkrc-2.0

Dicho comando hará una copia de la configuración del interfaz del usuario manz al usuario root. Otra opción sería ejecutar gksudo lxappearance y realizar la configuración para los programas que sean ejecutados con privilegios root.

Existen otros gestores que puedes instalar a través de apt-get para modificar temas, como gtk-chtheme, gtk-theme-switch o qt4-qtconfig, este último para modificar entornos basados en QT, otra biblioteca de interfaces de usuario.

8. Seleccionar un tema de iconos

Continuamos en LXAppearance, pero ahora avanzamos a la pestaña Tema de iconos. En ella podemos seleccionar un conjunto temático de iconos que sea más afín a nuestros gustos.

Uno de mis paquetes de iconos preferidos es Flattr, que puede instalarse en el sistema rápidamente escribiendo la siguiente línea de comandos:

sudo git clone https://github.com/NitruxSA/flattr-icons.git /usr/share/icons/flattr

Por Internet podemos encontrar múltiples packs de iconos para descargar que no tienen nada que envidiarle a Flattr, como Elementary, Faenza o Moka. Su instalación se basa en pulsar el botón Instalar y seleccionar el paquete de iconos (debe estar en formato .tar.gz).

Selección del tema de iconos Flattr para nuestro sistema
Selección del tema de iconos Flattr para nuestro sistema

Si optamos por instalar los temas de iconos manualmente, existen dos rutas donde se pueden guardar:

Ruta Descripción
/home/manz/.icons/ En este caso, los iconos sólo estarán disponibles para el usuario manz.
/usr/share/icons/ En este caso, los iconos estarán disponibles para todos los usuarios del equipo.

Recuerda que todas las opciones configuradas a través de LXAppearance son guardadas en el archivo /home/manz/.gtkrc-2.0.

9. Fondo de pantalla (wallpaper)

Poco a poco le vamos dando forma al escritorio. Ahora nos toca utilizar algún programa para establecer el fondo de pantalla (o wallpaper). Lo primero, obviamente, es disponer de varias imágenes para utilizar de fondo de pantalla.

Podemos utilizar el propio Google Imágenes, buscando algún concepto seguido de la palabra wallpaper y/o en Herramientas avanzadas seleccionar tamaño de imagen grande. También podemos acceder a LenguajeCSS.com, apartado Documentación, sección Banco de imágenes, donde tenemos un listado de páginas con imágenes a alta resolución sin derechos de autor. Nos descargamos algunas imágenes y la guardamos en la carpeta Imágenes de nuestra cuenta de usuario.

Una vez hecho esto, procedemos a instalar Nitrogen, con el que gestionaremos los fondos de pantalla:

sudo apt-get install nitrogen

Una vez instalado, escribimos en una terminal nitrogen (y lo añadimos en obmenu). De forma opcional, podemos escribir después la carpeta donde tenemos las imágenes descargadas. Si no lo hacemos, pues simplemente seleccionamos la carpeta desde la opción Preferences.

Establecer un fondo de pantalla en GNU/Linux con Nitrogen
Establecer un fondo de pantalla en GNU/Linux con Nitrogen

En la parte inferior izquierda, también podemos seleccionar el color de fondo del escritorio (si no queremos utilizar imágenes) o el modo en el que se mostrará la imagen (reescalada, centrada, en mosaico, zoom, etc...).

La potencia de nitrogen es que, no sólo disponemos de un interfaz gráfico sencillo para fondos de pantalla, sino que además también lo podemos gestionar a través de línea de comandos:

nitrogen --set-zoom-fill /home/manz/Imágenes/blue-space.jpg

Algunos usuarios utilizan otras herramientas de gestión de wallpapers más ligeras y simples, como feh o oboinus, sin embargo, creo que nitrogen es la opción más interesante.

Nota: En la imagen podemos ver que la terminal es semi-transparente y se aprecia el fondo de pantalla. Algunas terminales como gnome-terminal o lxterminal, en sus Preferencias permiten seleccionar el grado de transparencia del fondo de la ventana.

10. Autoarranque de programas

En el apartado anterior, tras establecer un fondo de escritorio, si cerramos la sesión y volvemos a iniciar, veremos que la configuración del wallpaper no se mantiene. Para solventarlo, haremos lo siguiente (y lo tomaremos en cuenta para ir añadiendo más programas cuando lo necesitemos):

Abrimos el archivo /home/manz/.config/openbox/autostart con nuestro editor preferido (vim, nano, gedit...), que no es más que un script que se ejecuta cada vez que iniciamos sesión en Openbox.

vim ~/.config/openbox/autostart

Nota: Cada vez que se escribe el símbolo «~», se hace referencia a la ruta del usuario, en este caso: /home/manz/. Si escribes ls ~, comprobarás que es lo mismo que escribir ls /home/manz/.

Es posible que el archivo autostart no exista. No pasa nada, lo creamos y escribimos una primera línea con el siguiente contenido:

nitrogen --restore&

Esto indicará a nitrogen que restaure el fondo de pantalla que teníamos configurado cada vez que inicie sesión. El símbolo & lo utilizaremos para indicar al sistema que ese comando debe ejecutarse en segundo plano (y aunque se cierre la ventana de la terminal, no finalizará el programa).

11. Paneles o barras

A partir de este punto, veremos como añadir ciertas características a nuestro sistema que algunos usuarios podrían querer omitir. Por ejemplo, hay usuarios que se pueden sentir perdidos sin una barra o panel inferior (o superior) donde aparezcan los programas abiertos. Sin embargo, otros usuarios preferirán prescindir de ella y se manejarán con el atajo ALT+TAB para moverse.

Probablemente, el sistema de paneles más ligero, potente y configurable que podemos utilizar sea tint2, que está disponible vía apt:

sudo apt-get install tint2

Una vez instalado, descargaremos e instalaremos también tintwizard, un interfaz gráfico para configurarlo. Este no existe en los repositorios de Debian, así que lo descargaremos e instalaremos desde una terminal:

wget https://tintwizard.googlecode.com/files/tintwizard-0.3.4.tar.gz
tar -xzvf tintwizard-0.3.4.tar.gz
sudo mv tintwizard.py /usr/bin/tintwizard

Una vez hecho esto, abrimos tint2 escribiendo el comando tint2& en una terminal (con & para que nos permita seguir escribiendo) y luego ejecutamos tintwizard para abrir el interfaz de configuración. Nos aparecerá el panel y una ventana de configuración:

Panel tint2 configurado para mostrar una barra inferior con sólo iconos
Panel tint2 configurado para mostrar una barra inferior con sólo iconos

En ella podremos ir modificando todos los aspectos de tint2: capas del panel, posiciones, colores, márgenes, tamaños, comportamiento de las tareas abiertas, configuración del reloj o la bandeja de sistema, acción al pulsar con los diferentes botones del ratón y un largo etcétera. También nos permite pulsar Apply Config y cambiar la apariencia de la barra sobre la marcha.

Toda la configuración de tint2 se guarda en el archivo /home/manz/.config/tint2/tint2rc. He subido la configuración tint2rc del ejemplo de la imagen, de modo que cualquiera puede descargarlo y utilizarlo en su sistema.

Recuerda que tienes que añadir tint2& al archivo /home/manz/.config/openbox/autostart si quieres que se abra cada vez que inicies sesión.

Si tint2 no te convence por alguna razón, ten en cuenta que sólo es una sugerencia. No estás limitado a usar este panel. Existen muchos otros como PyPanel, FBPanel, Trayer o LXPanel, este último, mostrado en la siguiente imagen:

LXPanel, el panel de tareas del escritorio LXDE
LXPanel, el panel de tareas del escritorio LXDE

Otro complemento interesante es AllTray, que nos permite enviar cualquier tarea o programa abierto a la bandeja de sistema (systray).

Docks

Algunas personas, en lugar de usar un panel o barra de tareas prefieren utilizar un Dock, muy similares a los paneles, pero generalmente más pequeños, vistosos e interactivos.

Docky es un Dock para Gnome que también podemos utilizar en Openbox. Muy sencillo y cómodo de utilizar, y bastante configurable (vía menú con botón derecho). Además, dispone de varios Docklets, una especie de widgets para realizar ciertas acciones o mostrar información:

Docky, un estupendo y visual Dock para GNU/Linux
Docky, un estupendo y visual Dock para GNU/Linux

Otros dock más ligeros son aDeskbar o wbar (la versión de los repositorios de apt de Debian es de cuando los arcoíris eran en blanco y negro, descargar mejor la de la web que también incluye wbar-config, un configurador gráfico).

12. Composición de escritorio

Los más despiertos quizás se habrán dado cuenta de un detalle. Si abrimos varias terminales, podemos comprobar que la transparencia de las ventanas es emulada. No se trata de una transparencia real, ya que lo único que hace es dibujar el fondo de pantalla con cierta transparencia, pero no refleja los objetos que realmente están detrás:

Transparencia emulada en GNU/Linux (sin xcompmgr)
Transparencia emulada en GNU/Linux (sin xcompmgr)

Esto ocurre porque no tenemos ningún sistema de composición activado. Vamos a ver como activar uno de estos gestores, más concretamente el gestor xcompmgr (X Composite Manager), para activar ciertos efectos, como las transparencias reales en ventanas. Escribimos en una terminal:

sudo apt-get install xcompmgr

Una vez terminada la instalación, ejecutamos el comando xcompmgr. Si todo va bien, veremos como se activa la transparencia real entre ventanas, reflejando ahora sí, los objetos que están detras de una ventana semi-transparente.

Sin embargo, podemos conseguir más detalles con xcompmgr. Si lo ejecutamos con los siguientes parámetros: xcompmgr -cCfF -t-3 -l-5 -r5 activamos también detalles como las sombras en las ventanas (ver las sombras que se reflejan en el menú contextual de la imagen).

Además, especificando -D4 también podemos conseguir aplicar un retardo a los menús o ventanas, de modo que se desvanezcan o aparezcan gradualmente: xcompmgr -cCfF -t-3 -l-5 -r5 -D4:

Transparencia real en GNU/Linux (con xcompmgr)
Transparencia real en GNU/Linux (con xcompmgr)

Tener en cuenta que xcompmgr es uno de los gestores de composición más conocidos, pero existen otros como xcompmgr-dana (basado en xcompmgr) o compton (basado en xcompmgr-dana), que merecen la pena ser mencionados.

Si queremos utilizar la composición de escritorio, añadimos la línea xcompmgr -cCfF -t-3 -l-5 -r5 -D4& al archivo /home/manz/.config/openbox/autostart.

13. Widgets de información en escritorio

Uno de los detalles más llamativos e interesantes de los escritorios personalizados es la posibilidad de crear «widgets» de escritorio que contengan información que es actualizada en tiempo real. Para ello, utilizaremos Conky, probablemente la mejor opción para este tema:

sudo apt-get install conky

Mediante la modificación del archivo de configuración /etc/conky/conky.conf podremos crear un widget con información del sistema: fechas, tiempo de funcionamiento del sistema, actividad de la CPU, temperatura, carga de la batería, programas que consumen más recursos o memoria RAM, espacio libre en disco, barras de uso de red cableada o WiFi y un largo etcétera:

Conky, crea tus propios widgets de información en el escritorio
Conky, crea tus propios widgets de información en el escritorio

Conky permite incluso crear múltiples widgets de forma simultánea, simplemente especificando los archivos de configuración concretos: conky -c config2.conf. En la siguiente dirección tienes la configuración del widget de Conky mostrado en la imagen anterior: conky.conf.

Al final de dicho archivo, se puede ver la plantilla utilizada para mostrar los campos, muy similar a un motor de plantillas HTML. Aquí tienes las instrucciones para construir un widget con Conky. Pero insisto, esto es sólo un humilde ejemplo basado en uno de los ejemplos oficiales. Echen un vistazo buscando Conky en DeviantArt, hay widgets realmente sorprendentes.

Añadimos la línea conky& al archivo /home/manz/.config/openbox/autostart.

14. Atajos de teclado en GNU/Linux

Existe un gestor de atajos de teclado muy interesante llamado obkey (Openbox Key), el cuál nos permitirá crear combinaciones de teclas y asociarle una acción: desde ejecutar un comando hasta operaciones relacionadas con el escritorio de Openbox, como minimizar ventanas, moverse a otros escritorios, cambiar el foco, redimensionar ventanas, etc...

En primer lugar, ya que obkey no está disponible en los repositorios de apt, lo descargamos e instalamos en nuestro sistema:

wget https://obkey.googlecode.com/files/obkey-1.0.tar.gz
tar -xzvf obkey-1.0.tar.gz
cd obkey-1.0
sudo python setup.py install

Una vez hecho esto, podemos ejecutarlo escribiendo en una terminal obkey (o incluyéndolo en el menú contextual del sistema, mediante obmenu). Nos aparecerá algo similar a esto:

Obkey, gestor de combinaciones o atajos de teclado para Openbox
Obkey, gestor de combinaciones o atajos de teclado para Openbox

La tecla super equivale a la tecla windows. Todos los datos especificados en obkey serán guardados en el archivo /home/manz/.config/openbox/rc.xml.

Si buscamos algo más potente (que incluya también atajos de ratón), podemos instalar los paquetes xbindkeys y xbindkeys-config mediante apt y trastear con ellos, ya que funciona de la misma forma que obkey pero con muchas más posibilidades. Una posible aplicación sería asociar una combinación de teclas al comando transset-df, que convierte en semi-transparente la ventana seleccionada (si tenemos la composición de escritorio activa).

15. Instalar otros programas necesarios

Tenemos casi todo el sistema personalizado. Ahora sería interesante ir instalando algunas aplicaciones para hacer más sencillo el uso del equipo:

sudo apt-get install thunar clipit gmrun lxrandr chromium-browser galternatives dzen2 

Veamos que acabamos de instalar, uno por uno:

  • Thunar es un estupendo explorador de archivos, muy ligero y rápido. Otros exploradores de archivos interesantes son pcmanfm, tuxcmd (estilo Norton Commander), rox-filer (ultraminimalista) o mc y ranger (basados en terminal). Dolphin, Nautilus o Krusader son otras alternativas más completas pero mucho más pesadas.
Thunar, un excelente y ligero explorador de archivos
Thunar, un excelente y ligero explorador de archivos
  • Si añadimos clipit al /home/manz/.config/openbox/autostart tendremos un historial de los textos que copiemos registrados cada vez que iniciemos sesión.

  • Por su parte, gmrun es un lanzador de aplicaciones minimalista. Por ejemplo, podemos abrir el mencionado gestor de atajos obkey para hacer que se ejecute el comando gmrun cada vez que pulsemos la combinación de teclas ALT+F2.

  • LXRandR es una interfaz para configurar algunos aspectos del monitor (o monitores) utilizados, como la resolución de pantalla, la tasa de refresco o los monitores extendidos donde se está mostrando la pantalla.

  • Chromium-browser es el navegador Chromium, la versión open source de la comunidad de Chrome, incluída en los repositorios de Debian. También es posible instalar Google Chrome desde su propia página.

  • gAlternatives es un sistema para gestionar las alternativas del sistema Linux. Por ejemplo, si tenemos varias versiones de java instaladas y queremos utilizar una por defecto, podemos gestionarlo desde aquí. También se suele utilizar para establecer variables generales como x-terminal-emulator o x-www-browser, que representan la terminal o el navegador por defecto del sistema respectivamente.

Por último, dzen2 es un minimalista y simple sistema de notificaciones. Podemos utilizar simples comandos para mostrar notificaciones al usuario por pantalla:

echo Esto es una notificación con dzen2 | dzen2 -p 2 -bg darkred -fg white

Si te interesa conocer más comandos similares a mc o ranger (basados íntegramente en terminal), puedes echar un vistazo a La gran guía de supervivencia de la terminal de GNU/Linux, donde damos un repaso a un sistema donde hacemos prácticamente de todo desde una terminal.

Resultado final

Hemos llegado al final de esta guía de Openbox. Espero que no haya resultado muy pesada y que consiguiera su objetivo: despertar la curiosidad del usuario por la personalización a medida de un sistema GNU/Linux.

Si te quedaste con ganas de trastear con más comandos de GNU/Linux, aquí tienes 20 curiosidades geeks para terminales de Linux como ver videos desde una terminal en ASCII, un refuerzo negativo para usuarios con dislexia al escribir el comando ls o un gestor de procesos basado en el clásico juego Doom.

Escritorio Openbox personalizado con Conky, tint2, xcompmgr, tema Onyx y set de iconos Flattr
Escritorio Openbox personalizado con Conky, tint2, xcompmgr, tema Onyx y set de iconos Flattr

Ahora toca la parte donde, probablemente, aprenderemos más: las aportaciones de los usuarios en los comentarios. Agradezco cualquier información de programas o sistemas interesantes para complementar o personalizar nuestro sistema (a ser posible, alternativas ligeras y configurables), pero lo más importante de todo es que se mencione por que se considera una buena opción y que ventajas tiene sobre otras.