El CÓMO de Configuración de Openbox

Nathan Zachary  Autor
Joshua Saddler  Autor
José María Alonso  Traductor

Actualizado 12 de noviembre, 2009

1.  Introducción

¿Qué es Openbox?

Bien, ya ha instalado El Servidor X y se ha dado cuenta de que TWM simplemente no va a cubrir sus necesidades. Puede que haya tenido alguna experiencia con grandes entornos de escritorio como KDE, GNOME, y Xfce. Uno de los componentes de estas enormes suites de escritorio es el llamado gestor de ventanas (o de forma más corta WM). El gestor de ventanas es el responsable de la apariencia y colocación de los contenedores (o "ventanas") dentro de los cuales se ejecutan los programas. Openbox es un gestor de ventanas minimalista sin características que no sean esenciales.

¿Porqué debo usarlo?

Openbox, al contrario que los grandes entornos de escritorio, depende de muy pocas librerías. Por esta razón puede ofrecer un entorno gráfico ligero que se ejecuta muy rápidamente, incluso en hardware antiguo. Independientemente de si su hardware es antiguo o nuevo, Openbox también ofrece un entorno de trabajo altamente personalizable y discreto. Esto implica que si no necesita o no quiere un panel, una barra de herramientas, reloj, o cualquier otro programa, ¡la elección es suya!

2.  Instalación y configuración

Instalación inicial

Después de hacer emerge y de configurar xorg-server, la instalación de Openbox puede realizarse con un simple comando:

Listado de Código 2.1: Instalando Openbox

(Use emerge -av openbox para prever qué paquetes serán instalados)
# emerge openbox

Al igual que con otros gestores de ventanas y entornos de escritorio, necesitará indicarle al servidor X que cargue Openbox automáticamente, añadiéndolo a su ~/.xinitrc.

Listado de Código 2.2: Añadiendo Openbox a su .xinitrc

$ echo "exec openbox-session" >> ~/.xinitrc

Esto arrancará automáticamente su sesión Openbox cuando teclee startx en el terminal.

Importante: Ya que cada usuario tiene su propio .xinitrc, necesitará asegurarse de que ejecuta este comando como su propio usuario, no como root.

Nota: Puede también reemplazar el gestor de ventanas que por defecto usan KDE, GNOME o Xfce por Openbox siguiendo las instrucciones en Openbox dentro de entornos de escritorio .

Ahora que ha hecho emerge de Openbox y lo ha añadido a su .xinitrc, continúe y ejecute el comando startx para ver a Openbox en acción. Como puede ver, el escritorio ¡es simplemente un completo desorden!. En consonancia con la filosofía de Openbox, lo que se ve es un entorno troncal desde el cual puede construir su propio escritorio completamente a su gusto.

Ya que lo único que ve es una pantalla negra, se debería preguntar dónde está el menú. Si hace clic con el botón derecho del ratón, notará que un menú aparece en la posición del cursor. Este menú no es más que un ejemplo para ilustrar el estilo de un menú de Openbox. Ya que es únicamente un ejemplo, ninguna de las opciones en este menú funcionarán hasta que no haya hecho emerge de esos programas. En la próxima sección, verá como crear su propio menú que contenga enlaces a sus programas.

Configuración del menú

Ya que el menú por defecto de Openbox es esencialmente inútil por las razones mencionadas arriba, ahora es el momento en el que crearemos uno que funcione. Todo en el menú de Openbox se escribe en el fichero llamado apropiadamente menu.xml, el cual puede encontrarse en la localización específica de usuario en ~/.config/openbox/menu.xml, o en la localización para todo el sistema en /etc/xdg/openbox/menu.xml. Por defecto, el único fichero menu.xml que se crea es el que afecta a todo el sistema, el cual aplica para todos los usuarios del sistema.

Una forma fácil de obtener un menú básico que pueda modificar es usar MenuMaker, el cual generará un fichero menu.xml basado en los programas que tiene instalados actualmente en su sistema. Para hacer esto en primer lugar debe hacer emerge:

Listado de Código 2.3: Instalando MenuMaker

# emerge menumaker

Una vez que está instalado, asegúrese de terminar la sesión de root y de volver a su sesión de usuario. Tendrá entonces que indicarle a Menumaker que cree un menú utilizando específicamente la sintaxis XML de Openbox:

Listado de Código 2.4: Usando MenuMaker para generar un menu.xml de Openbox básico

$ mmaker -v OpenBox3

El menú generado estará localizado en ~/.config/openbox/menu.xml. Puede entonces decidir entre dejarlo como su menu.xml específico de su usuario o copiarlo además al fichero de configuración de todo el sistema:

Listado de Código 2.5: Sobreescribiendo los ficheros de configuración para todo el sistema

$ cp .config/openbox/menu.xml /etc/xdg/openbox/menu.xml

Importante: Es una buena idea usar MenuMaker para generar un menú por defecto de tal forma que tenga las opciones del menú raíz de Openbox. Estas opciones incluyen un selector de escritorios virtuales y los comandos para reiniciar y salir de su sesión de Openbox.

Cuando abra el fichero menu.xml con su editor favorito (por ejemplo nano), comprobará que las etiquetas XML usadas son bastante legibles por los humanos y fácilmente comprensibles. Puede elegir modificar el fichero por defecto para ajustarlo a sus necesidades, o puede que quiera escribirlo desde cero (no se preocupe, realmente no es tan difícil). La sintaxis del XML del menú es la siguiente:

Listado de Código 2.6: Editando el fichero menu.xml

<?xml version="1.0" encoding="UTF-8"?7gt;
<openbox_menu>
<separator label="NOMBRE_DEL_SEPARADOR" />
<menu id="IDENTIFICADOR" label="NOMBRE_DEL_MENU">
  <item label="NOMBRE_DEL_PROGRAMA">
    <action
    name="execute"><execute>/LOCALIZACION/DEL/BINARIO</execute></action>
  </item>
</menu>
</openbox_menu>

Simplemente reemplace cualquier texto en MAYÚSCULAS por su información.

Alternativamente, puede hacer emerge obmenu, que es una inerfaz gráfica que le permite crear sus menús sin tener que editar manualmente el fichero menu.xml. Es una pequeña aplicación y ofrece muchas posibilidades de personalización sin tener que teclear XML.

Configuración del comportamiento y temas de Openbox

Aparte de ser minimalista y ligero, Openbox también es sorprendentemente personalizable y flexible. Como usuario, puede cambiar fácilmente varios ajustes relacionados con el tema, la apariencia, la localización de las ventanas, anclajes y más. Hay dos opciones para configurar estos ajustes en Openbox. Puede editar manualmente el fichero ~/.config/openbox/rc.xml, o puede que desee un GUI para que le ayude a realizar rápidamente estos cambios.

Si quiere editar manualmente rc.xml, simplemente ábralo en su editor de texto favorito y empiece a realizar cambios. Querrá hacer una copia de seguridad del fichero original, por si acaso, y guardarla en un lugar como ~/.config/openbox/rc.xml.default". Hay muchos comentarios a lo largo del documento que le ayudarán a editarlo. Alternativamente, quizás desee echar un vistazo a las guías de configuración de Openbox.

Si editar manualmente rc.xml no le suena bien, querrá usar la aplicación GTK+ para gestionar sus temas y comportamientos en Openbox. La aplicación que debe usar se llama ObConf, y se puede instalar en su sistema con la misma sencillez que Openbox.

Listado de Código 2.7: Instalando ObConf

# emerge obconf

Puede entonces abrir el configurador tecleando obconf en su terminal. A continuación puede añadir una entrada para ObConf en su menu.xml para que se muestre en su menú Openbox. Si el código "editando el fichero menu.xml" listado arriba le pareció demasiado vago para ser de ayuda, usaremos ObConf como ejemplo de una entrada de menú:

Listado de Código 2.8: Edititando el fichero menu.xml

<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu>
<menu id="1" label="Configuration">
  <item label="OpenBox Config>
    <action name="execute"><execute>/usr/bin/obconf</execute></action>
  </item>
</menu>
</openbox_menu>>

Configuración de autoarranque

Como ya se ha mencionado, no se ve demasiado la primera vez que se ejecuta el comando startx después de instalar Openbox. Además de personalizar sus menús y cambiar el comportamiento del gestor de ventanas, probablemente querrá ejecutar automáticamente algunos programas en su sesión de Openbox. Existe un script fácilmente editable llamado autostart.sh que le permite hacer exactamente eso. Al igual que con el fichero menu.xml, hay dos lugares diferentes del script autostart.sh, el que afecta a todo el sistema (/etc/xdg/openbox/autostart.sh), y el definido por el usuario (~/.config/openbox/autostart.sh).

En el fichero autostart.sh por defecto, notará que hay algunas líneas que invocan a programas como el gnome-settings-daemon, XDG y otros. Estas líneas generarán errores al terminar la sesión si no tiene estos programas instalados y configurados. La forma más fácil de trabajar cuando estamos empezando con Openbox es comentar estas líneas usando el símbolo #.

Listado de Código 2.9: Comentando las líneas en autostart.sh

# Ejecutar los autostart de XDG. Por defecto no ejecutar nada específico del escritorio
# DESKTOP_ENV=""
# if which /usr/lib/openbox/xdg-autostart >/dev/null; then
#  /usr/lib/openbox/xdg-autostart $DESKTOP_ENV
# fi

En el ejemplo de arriba, el símbolo de comentario (#) se ha añadido antes de cada línea. El método de comentar es mejor que simplemente borrar las líneas porque puede que quiera añadir más tarde soporte para estos programas de inicio. Así, dejando las líneas en su lugar hará más fácil el proceso.

Añadir sus propios programas al script autostart.sh es tan fácil, en el caso de muchas aplicaciones, como escribir el nombre del programa. Por ejemplo, si tiene instalado Conky (un monitor ligero del sistema) y quiere arrancarlo automáticamente al inicio de su sesión Openbox, simplemente añada la siguiente línea a su autostart.sh:

Listado de Código 2.10: Añadiendo Conky a su autostart.sh

conky &

El símbolo ampersand (&) después del comando permite que la aplicación se cargue en el fondo. Normalmente querrá cargar todas las aplicaciones de su script autostart.sh en el fondo ya que haciendo esto permitirá a Openbox y a otros programas cargarse sin esperar a que el programa anterior termine.

Ajustando el fondo de escritorio

Algunas de las cosas que puede dar por hechas en grandes entornos de escritorio no están incluidas por defecto en Openbox. Una de éstas es personalizar su fondo de escritorio. Para colocar una imagen como su tapiz de fondo necesitará hacer emerge de un programa como feh o nitrogen. Feh es un visor de imágenes simple que puede ejecutarse como proceso de fondo y puede ponerse fácilmente en el script de autoarranque. Una vez que haya hecho emerge de feh, puede lanzar el siguiente comando para personalizar su fondo de escritorio:

Listado de Código 2.11: Usando feh para personalizar la imagen de fondo

(feh tiene otras muchas opciones aparte de --bg-scale, la cual
escalará la imagen a las dimensiones de la pantalla. Consulte la
documentación de feh).
$ feh --bg-scale /path/to/image.jpg

Una vez haya personalizado manualmente el fondo, un fichero llamado .fehbg será creado en su directorio home. Este fichero simplemente contiene el comando de arriba que introdujo en su terminal y es automáticamente actualizado cuando lanza un comando diferente en el fondo. Ahora, para personalizar su fondo automáticamente en cada login, puede añadir la siguiente línea a su script autostart.sh:

Listado de Código 2.12: Usando feh para personalizar la imagen de fondo

source $HOME/.fehbg &

Si no le preocupa la idea de tener que lanzar el comando en el terminal para ajustar su fondo de escritorio, puede utilizar como alternativa nitrogen. Éste le permitirá definir una carpeta para sus imágenes de fondo, ver miniaturas de esas imágenes, y ajustar, reducir o disponerlas como mosaico para su escritorio.

Instalar nitrogen e integrarlo en su menú Openbox menu requiere algunos pasos más de los que parece a primera vista. En primer lugar, y el más obvio, necesita hacer emerge nitrogen. Debido a este fallo en las dependencias de librerías, puede que tenga que hacer también emerge --oneshot librsvg para evitar un error de ejecución. En segundo lugar, necesitará ejecutar nitrogen añadiendo su carpeta con los fondos de escritorio:

Listado de Código 2.13: Arrancando nitrogen con su carpeta de imágenes

nitrogen /camino/a/la/carpeta/con/sus/fondos

En tercer lugar, podrá definir su imagen de fondo del escritorio, pero no aparecerá hasta que cierre su sesión. Al igual que feh, necesita restaurar su fondo, editando su script autostart.sh para que incluya la siguiente línea:

Listado de Código 2.14: Restaurando su fondo con nitrogen

nitrogen --restore &

Esto indicará a nitrogen que lo cargue automáticamente cuando arranque su sesión Openbox, y que puede llevar a un tiempo de carga ligeramente inferior que usando feh.

3.  Programas a usar con Openbox

Lo que sigue es una lista de algunos programas que probablemente quiera usar en su entorno Openbox. Aunque la lista contiene numerosos emuladores de terminal, gestores de ficheros, paneles y demás, no debe considerada de ninguna forma exhaustiva. Si ninguno de los programas listados se adapta a sus necesidades, por favor, compruebe las categorías apropiadas en Portage para más opciones.

Emuladores de terminal

Gestores de Ficheros

Gestión del escritorio

Paneles

Paginadores y bandejas del sistema

Gestión de sesiones

Herramientas de Configuración

Miscelánea

4.  Openbox dentro de entornos de escritorio

LXDE

Si instalar cada componente de un entorno de trabajo suena a demasiada personalización, pero aún desea la flexibilidad de Openbox, puede buscar un entorno de escritorio que use Openbox y su gestor de ventanas. Ese entorno es LXDE, el Entorno de Escritorio X Ligero. Diseñado para requerir incluso menos recursos del sistema que Xfce, está construido alrededor de Openbox.

Openbox dentro de GNOME

Si ya tiene un entorno de GNOME instalado, puede que simplemente quiera reemplazar el gestor de ventanas Metacity por Openbox. Afortunadamente, ¡esto es una tarea muy sencilla! Necesitará lanzar su editor favorito, abrir su fichero ~/.xinitrc y poner el siguiente comando dentro de éste:

Listado de Código 4.1: Añadiendo una sesión Openbox-GNOME a su .xinitrc

exec openbox-gnome-session

Si usa GDM u otro gestor de login gráfico, verá una nueva opción "GNOME/Openbox" en su menú de sesión. Puede simplemente seleccionar esa opción en lugar de editar manualmente su ~/.xinitrc.

Nota: Este método de usar Openbox con GNOME ha sido probado en la versión 2.22 de GNOME. Aunque debería trabajar sin problemas en la versión 2.24 de GNOME, no ha sido probado intensivamente aún.

Openbox dentro de KDE

Digamos que tiene instalado KDE y le gusta, pero quiere más flexibilidad en su gestor de ventanas de los que KWin ofrece. Puede usar Openbox cómo su gestor de ventanas dentro de KDE, simplemente editando su fichero ~/.xinitrc, y reemplazar su actual comando exec por el siguiente.

Listado de Código 4.2: Añadiendo una sesión Openbox-KDE a su .xinitrc

exec openbox-kde-session

Ahora, cuando ejecute startx verá KDE, pero en lugar de KWin tendrá el nivel de personalización del gestor de ventanas Openbox.

Si usa KDM u otro gestor de login, verá una nueva opción "KDE/Openbox" en su menú de sesión, Puede seleccionar simplemente esa opción en lugar de editar manualmente su ~/.xinitrc.

Nota: Este método de usar Openbox con KDE ha sido comprobado en las versiones 3.x de KDE. Aunque parece correcto pensar que funciona en las series 4.x, aún no ha sido comprobado intensivamente.

Openbox dentro de Xfce

Si usa Xfce4 y le gustaría reemplazar xfwm4 con Openbox, necesitará hacer cosas diferentes que en KDE o GNOME. En primer lugar, necesitará arrancar su sesión normal de Xfce y abrir un terminal. Desde este terminal lance el siguiente comando:

Listado de Código 4.3: Eliminando xfwm4 y reemplazándolo por Openbox

$ killall xfwm4 ; openbox & exit

En segundo lugar, necesitará salir de su sesión Xfce y asegurarse de activar la casilla de verificación que dice "Save session for future login." (Salvar sesión para un login futuro). Esto mantendrá a Openbox como su gestor de ventanas por defecto. En tercer lugar, notará que no puede salir de la sesión de forma correcta cuando está usando el menú de acción por defecto. Para corregir este problema abra su menu.xml, y localice esta línea:

Listado de Código 4.4: Encontrando la acción de salida en menu.xml

<item label="Exit">
     <action name="Exit"/>
</item>

Cámbielo a esto:

Listado de Código 4.5: Reemplazando la acción de salida en menu.xml

<item label="Exit">
  <action name="Execute">
    <command>xfce4-session-logout</command>
  </action>
</item>

Nota: En Xfce4, el menú raíz que ofrece Xfdesktop se usará en lugar de menú raíz de Openbox.

5.  Más documentación

Recursos externos

Aunque este documento le lleva a través de la instalación inicial y personalización de Openbox, no es de ninguna forma la única referencia en este tema. Hay bastantes otros recursos que le ayudarán en la creación de su configuración perfecta de Openbox. Algunos de ellos se listan abajo: