[How To] OpenBox en Ubuntu

+1
0
-1

INSTALACIÓN
OpenBox viene como gestor de ventanas predeterminado en Lubuntu, pero se puede instalar de manera independiente con Ubuntu Alternative. Esta versión de Ubuntu es prácticamente una copia del CD de instalación de Debian pero con los repositorios de Ubuntu, inclusive tiene la opción de instalar sin entorno gráfico.
Aclaración: siempre utilizaremos la opción --no-install-recommends de la siguiente forma
sudo apt-get --no-install-recommends paquete1 paquete2 paquete4 paquete4 paqueteN
En el caso de instalar Ubuntu sin entorno gráfico, primero instalaremos alsa-base y alsa-utils con los paquetes de las X Windows xinit, xorg, xserver-xorg y xserver-xorg-video-all.
Ahora instalaremos openbox, setxkbmapp, xset, obconf, obmenu, lxappearance lxappearance-obconf (aplicaciones de configuración), netmanager, gmrun (lanzador de aplicaciones), menu (genera un menú de aplicaciones), xcompmgr (efectos de transparecias y sombras), feh (fondo pantalla), tint2 (panel con gestor de tareas y bandeja de entrada), volumeicon-alsa (icomo de sonido en la bandeja de entrada), pcmanfm (explorador de archivos), leafpad (un editor de texto plano) y midori (navegador web).

CONFIGURACIÓN
Lo primero que configuraremos será el comando startx con el siguiente comando:
echo exec openbox-session > ~/.xinitrc

La configuración de OpenBox es en modo texto, para eso necesitaremos utilizar GNU Nano o Leafpad.
mkdir -p ~/.config/openbox && cp /etc/xdg/openbox/{rc.xml,menu.xml} ~/.config/openbox

Lo primero que vamos a configurar son las aplicaciones que es ejecutarán al iniciar Openbox, en todas las lineas le agregaremos el caracter & al final. Para eso creamos el archivo ~/.config/openbox/autostart.sh con el siguiente contenido:
exec xcompmgr -cfns &
exec tint2 &
exec feh --bg-fill /ruta/completa/de/imagen.jpg &
exec nm-applet &
exec volumeicon &
exec conky &
exec setxkbmap -option terminate:ctrl_alt_bksp &
exec xset r rate 200 30 &

Luego creamos el archivo ~/.config/tint2/tint2rc con el siguiente contenido:
#---------------------------------------------
# TINT2 CONFIG FILE
#---------------------------------------------
#
#---------------------------------------------
# BACKGROUND AND BORDER
#---------------------------------------------
rounded = 5
border_width = 0
background_color = #000000 32
border_color = #000000 0

rounded = 10
border_width = 0
background_color = #000000 0
border_color = #000000 0

rounded = 10
border_width = 0
background_color = #000000 0
border_color = #ffffff 0

#---------------------------------------------
# PANEL
#---------------------------------------------
panel_monitor = all
panel_position = bottom center
panel_size = 100% 28
panel_margin = 0 0
panel_padding = 25 0
font_shadow = 0
panel_background_id = 0
wm_menu=1

#---------------------------------------------
# TASKBAR
#---------------------------------------------
taskbar_mode = multi_desktop
taskbar_padding = 0 0 0
taskbar_background_id = 1

#---------------------------------------------
# TASKS
#---------------------------------------------
task_icon = 1
task_text = 0
task_width = 40
task_centered = 1
task_padding = 2 2
task_font = sans 7
task_font_color = #ffffff 70
task_active_font_color = #ffffff 85
task_background_id = 3
task_active_background_id = 2

#---------------------------------------------
# SYSTRAYBAR
#---------------------------------------------
systray_padding = 4 2 3
systray_background_id = 1

#---------------------------------------------
# CLOCK
#---------------------------------------------
time1_format = %H:%M:%S
time1_font = DS-Digital 12
time2_format = %a %d-%b-%Y
time2_font = sans 8
clock_font_color = #FFFFFF 76
clock_padding = 4 4
clock_background_id = 1
clock_lclick_command = xmcal

#---------------------------------------------
# BATTERY
#---------------------------------------------
#battery = 0
#battery_low_status = 7
#battery_low_cmd = notify-send "battery low"
#bat1_font = sans 8
#bat2_font = sans 6
#battery_font_color = #ffffff 76
#battery_padding = 1 0
#battery_background_id = 0

#---------------------------------------------
# MOUSE ACTION ON TASK
#---------------------------------------------
mouse_middle = close
mouse_right = iconify
mouse_scroll_up = toggle
mouse_scroll_down = iconify

Configuración del archivo ~/.config/openbox/rc.xml al cual vamos a intentar la explicación de la edición:
Como en los archivos HTML y XML está estructurado por elementos divido señalado por etiquetas tanto de apertura como de cierre.
Para indicar un etiqueta se utilizan los signos menor y mayor pero, para cerrarla es igual pero se le agrega la barra /.
<etiqueta> Acá esta abriendo una etiqueta de nombre etiqueta.
Para cerrar la etiqueta utilizaremos la barra / de la siguiente forma: </etiqueta>

Cada elemento puede tener sub-elementos (o también llamados elementos hijos) que se declaran igual.

El elemento del archivo ~/.config/openbox/rc.xml que voy a explicar es keybind que a su vez es hijo del elemento de keyboard.

Voy a dar un ejemplo porque es muy fácil cuando uno le agarra la mano. A mí me gusta tener 4 escritorios (así lo configuraba en KDE, Gnome 2 actualmente MATE, Xfce, LXDE, etc) y la manera de navegar que me gusta es la tecla Windows más el número de escritorio. Para eso busco en los elementos keybind correspondientes y los modifico.
  <keybind key="W-1">
    <action
name="GoToDesktop"><to>1</to></action>
  </keybind>
  <keybind key="W-2">
    <action
name="GoToDesktop"><to>2</to></action>
  </keybind>
  <keybind key="W-3">
    <action
name="GoToDesktop"><to>3</to></action>
  </keybind>
  <keybind key="W-4">
    <action
name="GoToDesktop"><to>4</to></action>
  </keybind>

Acá se verá que este elemento keybind tiene un elemento hijo llamado action con valor GoToDesktop en el atributo name y este mismo elemento a su vez tiene su hijo to, el cual indica al número de escritorio.

Como en los demás escritorios utilizo la combinación de teclas Alt+F2, así lo configuraré:
    <keybind key="A-F2">
      <action name="execute">
       
<execute>gmrun</execute>
      </action>

    </keybind>

Acá cambia el valor del atributo name por execute y el hijo de action donde se ejecutará gmrun.