Openbox en ubuntu 8.04

Ubuntu tiene gnome, kubuntu kde, xubuntu xfce, los tres entornos de escritorios principales que proporcionan un gestor de ventanas y multitud de programas para casi todo.

Sin embargo, existen otros gestores de ventanas, casi todos bastante minimalistas que resultan muy ligeros, prácticos, potentes, y totalmente configurables, y que además de a sí mismos, permiten configurar los programas que se usen para cada función, entre ellos los principales fluxbox, icewm, openbox o pekwm.

Después de probar con algunos de ellos he decidido pasarme a openbox, y aquí explico como lo he instalado y configurado en ubuntu 8.04. El objetivo del cambio, reducir aun más el consumo de recursos, y dejar el escritorio totalmente a gusto.


  • Instalación de openbox:
Se encuentra en los repositorios universe así que lo podemos instalar fácilmente, asi como un par de paquetes para configurarlo de manera gráfica:
sudo aptitude install openbox obconf obmenu
Una vez instalado, cuando volvamos a entrar en la pantalla de elección de usuario, podremos elegir ya si iniciar con gnome o gnome-openbox (gnome pero sustituyendo el gestor de ventanas metacity por openbox) u openbox puro y duro.

  • Configuración:
Openbox se configura editando el archivo ~/.config/openbox/rc.xml, sin embargo casi todo se puede hacer gráficamente usando el programa obconf:

obconf

Podemos elegir el tema, y si no nos gusta ninguno siempre podemos buscar otros temas por la red. Si aun así ninguno nos convence podemos incluso editarlo a nuestro antojo, aunque esto ya no resulta tan fácil.
También podemos configurar las fuentes de texto, la botones de manejo de ventanas, bastante más potente y configurable que en metacity, y un montón de cosas más.
Lo único que no se puede configurar gráficamente son los atajos de teclado, y aunque ya vienen algunos atajos por defecto, para añadir o modificarlos tendremos que editar el archivo con un editor de texto, buscamos la sección keyboard y añadimos una lineas, dependiendo de la función:

-Ejecutar un programa:



-Mostrar un menú:



Hay muchas más funciones, aquí hay una lista de las funciones disponibles, así como de la explicación de las opciones para cada una.

De manera similar se puede hacer para configurar el ratón, sección mouse.

Finalmente, también se puede configurar el comportamiento de openbox ante determinadas aplicaciones, como decorar, fijar la posición en la que se abre, dibujar sombra, enfocar al abrir, elegir escritorio en el que se abre, que lo haga maximizado o minimizado en la barra, que no se mueve en la barra, etc. Para ello buscamos al final del archivo la sección applications.

Por ejemplo, para no decorar las ventanas de mplayer:



Free Image Hosting at www.ImageShack.us

O buscando otro ejemplo más enrevesado, conseguir una terminal que no aparezca en la lista de ventanas, que no se minimice, que no tenga bordes de ventana, que aparezca siempre por debajo del resto de ventanas, ...
  • Menú:
Otra de las características de openbox es la existencia de un menú disponible con un click derecho en el escritorio, muy rápido, el de gnome a veces tardaba en cargar,el menú se configura en el archivo ~/.config/openbox/menu.xml. Sin embargo podemos usar obmenu para configurarlo de manera gráfica:

obmenu

Aparte de los elementos de menú normales y submenús, también se puede incluir algo que creo que es exclusivo de openbox, los llamados pipemenus, submenús que se generan dinámicamente, y donde se puede representar prácticamente de todo, aquí hay una buena colección de ejemplos. Yo uso uno para tener acceso directo a los marcadores de navegador de archivos, y otro que hace la función de monitor de sistema para tener acceso a los procesos que están ejecutándose y poder matarlos, detenerlos y conocer su consumo fácilmente.

Muy de reseñar es también el menú disponible con el botón central del ratón en el que tendremos una lista de las ventanas abiertas, así como acceso para modificar el número de escritorios.




  • Fondo de pantalla:
Para poder modificarlo gráficamente podemos usar nitrogen, he empaquetado la ultima versión para ubuntu hardy, nitrogen_1.3-1_i386.deb.



Para ejecutarlo desde una terminal:

nitrogen /directorio/donde/estanlos/fondosdepantalla

También permite recuperar el escritorio de la sesión anterior:

nitrogen --restore

  • Paneles:
De todo lo que se suele mostrar en los paneles, yo personalmente solo necesito el taskbar donde se iconizan los programas que trabajan en segundo plano, y también en plan minimalista una lista de las ventanas abiertas.
Hay muchas aplicaciones que cumplen esa función, empezando por el propio gnome-panel, pypanel, fbpanel, xfce-panel...

Para el taskbar uso pypanel, un panel muy configurable, se encuentra en los repositorios así que para instalarlo:
sudo aptitude install pypanel
Para configurarlo hay que editar el archivo ~/.pypanelrc, si al ejecutar pypanel no hay ninguno creado el propio programa creará uno, bastante autoexplicativo, en cualquier caso aquí hay más ejemplos.



Para la lista de ventanas uso visibility, una aplicación realmente minimalista, he aquí un paquete para instalarla en hardy, visibility_20070409-1_i386.deb.

Una vez instalado, para configurarlo hay que editar el archivo ~/.config/visibility/config para dejarlo a nuestro gusto, aquí hay algunos ejemplos. A su vez también podemos editar el archivo ~/.config/visibility/override para sustituir los iconos que no nos gusten, muy útil para añadirle iconos a esos programas que no los tienen.




  • Editor GTK:
Para configurar la apariencia de las aplicaciones GTK, tema, iconos, fuente principal uso LXappearance, se trata del programa de configuración del escritorio LXDE.
Para instalarlo en hardy podemos instalarlo desde estos paquetes deb, en función de tu arquitectura,

lxappearance_0.2-4~lxde_amd64.deb
lxappearance_0.2-4~lxde_i386.deb

o también puedes añadir los repositorios del escritorio LXDE, para así poder contar con actualizaciones automáticas:

Como siempre para modificar la lista de repositorios:

sudo gedit /etc/apt/sources.list

y añadimos estás dos líneas al final del archivo:
deb http://ppa.launchpad.net/lxde/ubuntu hardy main
deb-src http://ppa.launchpad.net/lxde/ubuntu hardy main
guardamos los cambios, y podemos instalarlo, tras actualizar la lista de paquetes:
sudo aptitude update
sudo aptitude install lxappearance

Free Image Hosting at www.ImageShack.us

  • Editor QT:
Aqui supongo que habrá editores más ligeros, pero sin duda el más completo, el que viene con KDE, kcontrol, que podéis instalar desde los repositorios

sudo apt-get install kcontrol

y que permite configurar todo sobre la apariencia de programas escritos con librerías qt.

  • Fuentes antialiasing:
Sin duda una de las cosas que más que ha costado configurar, al principio usaba la configuración de gnome, lanzando el proceso gnome-settings-daemon, pero al ejecutarlo lanzaba varias aplicaciones más de gnome que no me interesaban.
Investigando encontré este script para poder extraer la configuración de gconf. El script escribe la información relevante en los archivos ~/.Xdefaults y ~/.gtkrc. Sobre la configuración de gtk ya he comentado un programa gráfico adecuado, sin embargo, en .Xdefaults aparecen líneas que dan un gran cambio al aspecto de las aplicaciones



La líneas del archivo que .Xdefaults que hacen ese milagro, por si no lo tienes configurado así en gnome:
Xft.antialias: 1
Xft.dpi: 96.000000
Xft.hinting: 1
Xft.hintstyle: hintnone
Xft.rgba: rgb
Y para conseguir que la configuración tenga efecto, hay que ejecutar la orden:

xrdb ~/.Xdefaults

Todas las ventanas que se ejecuten a continuación tomaran la nueva configuración.

  • Efectos de escritorio:
Compiz es por sí mismo un gestor de ventanas, así que no puede correr dentro de openbox, sin embargo si se pueden añadir efectos de escritorio. Para ello uso xcompmgr, que se encuentra en los repositorios, por lo que para instalarlo:

sudo aptitude install xcompmgr

Este programa permite efectos tales como aparición y desaparición gradual de las ventanas (fading), sombras o transparencias.
Para hacerlo funcionar hay que modificar el archivo xorg.conf para que soporte composición
sudo gedit /etc/X11/xorg.conf

y añadimos esta sección:
Section "Extensions"
Option "Composite" "Enable"
EndSection

Para ver como funciona lo mejor es leer el manual (man xcompmgr) para conocer las opciones de que dispone. Personalmente yo lo lanzo con la siguiente orden:

xcompmgr -fF -I-.002 -O-.003 -D3 -cC -t-5 -l-6 -r5

y este es el resultado, las ventanas tienen se abren y cierran de manera progresiva, y además presentan un borde.

Free Image Hosting at www.ImageShack.us

Para conseguir transparencias podemos usar el programa transset que se encuentra en los repositorios, o mejor, la versión mejorada, transset-df, lo he empaquetado para ubuntu hardy, transset-df_6-1_i386.deb.

Por defecto al ejecutarlo el cursor cambiará esperando que se pulse sobre una ventana que modificará su transparencia, esta versión modificada además permite cambiar la transparencia en incrementos (se puede asociar con algún atajo de teclado) y hacerlo por nombre de ventana para evitar la intervención del usuario y automatizar el proceso.

Tanto xcompmgr como transset se puede configurar de manera gráfica usando gcompmgr, sobretodo para ajustar los valores que mejor se ajusten a nuestro gusto es muy útil, lo he empaquetado para ubuntu hardy, gcompmgr_0.21-1_i386.deb.

Free Image Hosting at www.ImageShack.us

También se puede conseguir un cubo de escritorio usando 3ddesktop.

Aunque realmente si lo que buscas son efectos de escritorio, quizá openbox no sea tu opción.

  • Salvapantallas:
Sin duda la mejor opción es usar el programa xscreensaver, está en los repositorios así para instalarlo:

sudo aptitude install xscreensaver

si a su vez queremos tener muchos protectores de pantalla para elegir instalamos también los paquetes de datos: xscreensaver-data, xscreensaver-data-extra xscreensaver-gl, xscreensaver-gl-extra.

Para configurarlo lanzamos xscreensaver-demo




  • Programas ejecutados al inicio:
Para conseguir que los programas que queramos se ejecuten al inicio los añadimos en el archivo ~/.config/openbox/autostart.sh, no olvidándonos de añadir tras cada programa &
Si algún programa da problemas al empezar siempre tenemos la opción de añadir antes de él la opción sleep x && para que espere un poco antes de arrancar. Este es el archivo que yo tengo con los programas de inicio:

# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.
thunar-volman &
pulseaudio &
xrdb ~/.Xdefaults &
xcompmgr -fF -I-.002 -O-.003 -D3 -cC -t-5 -l-6 -r5 &
(sleep 5 && visibility) &
(sleep 5 && nitrogen --restore) &
(sleep 5 && pypanel) &
(sleep 6 && nm-applet) &
(sleep 10 && sh /home/jjgomera/configuracion/conky.sh) &
xscreensaver -no-splash &
xterm -bg black -fg white -geometry 85x40+260+130 -fn *-fixed-*-*-*-14-*
(sleep 5 && transset-df -n jjgomera@ordenata 0.3) &

  • Resultado

Y finalmente unas capturas para dar una idea de como queda

Escritorio con menú principal, toda la info en pantalla es por parte de conky, la terminal es xterm con transparencia gracias a transset-df.



Firefox es el único programa que no me gusta con tema negro, más que nada porque las páginas que visito en su mayoría son blancas.



Para conseguir que una aplicación no use el tema gtk por defecto hay que lanzarlo de la siguiente manera:
bash -c 'GTK2_RC_FILES=/usr/share/themes/Clearlooks/gtk-2.0/gtkrc firefox-2'

Simplemente hay que indicar la ruta del archivo gtkrc del tema que queremos usar en ese momento para ese programa concreto. El resto de programas quedan bien con un tema negro



Aparte de esteticamente, el resultado es muy satisfactorio, el sistema recién arrancado consume ~150 MB y 7-10% de CPU (descontando firefox y amule) Prácticamente la mitad que con gnome, y sin prescindir de ninguna de los servicios básicos, simplemente sustituyéndolos.

Adjunto aquí los archivos de mi configuración para openbox, visibility, pypanel y conky

Fuente de información: Me he basado básicamente en la maravillosa guía de urukrama, donde se dan más alternativas para cada programa

6 comentarios:

Miles dijo...

A mi me encantan también los escritorios minimalistas y ligeritos, que para consumir recursos ya está el Windows Vista. Uso XFCE desde hace varios años, pero de vez en cuando me gusta trastear con otras alternativas.
El tuto de openbox en ubuntu 8.04 te ha quedado muy, muy bien. Me lo guardo en favoritos para aplicarlo cuando tenga tiempo libre.
Saludos y gracias.

Miles dijo...

Por cierto. Sobre LXappearance, ¿sabes si esta aplicación afectaría a la configuración de los temas gtk de otros escritorios (p.e. XFCE) que pudieras tener en el mismo PC?

volante dijo...

En gnome no, pero en xfce no sabría decirte.

El programa lo que modifica es el archivo ~/.gtkrc, así que localízalo y comprueba si está asociado con la configuración de xfce, cambia algo (tema, iconos...) en el panel de control de xfce y comprueba si cambia el archivo .gtkrc

Anónimo dijo...

Hola. Como pones o como se llaman esos "widgets" de calendario, clima, etc que tiene en el screenshot?? gracias

volante dijo...

Hola, se llama conky, está en los repositorios de todas las distribuciones principales, y es infinitamente configurable.

Anónimo dijo...

JJ muchas gracias, el mejor tuto que he visto de Openbox, ando montando una distro personal para que corra solor O, y aqui hay informacion valiosisima, gracia por compartir. Diego