Cómo instalar Fluxbox con esteroides: personaliza tu pc en un entorno ligero y de bajo consumo

Fluxbox siempre me había parecido un gestor de ventanas genial, pero consideraba que aún le faltaban algunas cosas para ser un entorno de escritorio “serio”, capáz de darle competencia a GNOME … Hasta hoy.

Me puse a experimentar con mi Aspire One y dije… “Vamos a meterle Fluxbox a ver que tal corre” y pues, déjenme decirle que los resultados obtenidos son simplemente impresionantes.

Con éste experimento lo que tenía en mente era lograr un entorno de escritorio 100% funcional (tanto o más que GNOME ) pero manteniendo siempre el bajo consumo de recursos y pensando siempre en una frase muy buena que leí una vez (si mal no recuerdo en la descripción del paquete Fluxbox para Debian):

Si quiere que su escritorio se parezca a Windows entonces no use Fluxbox

Antes de empezar debo acotar que la receta fue realizada en Debian , pero en cualquier distro basada en Debian debería funcionar sin mayores complicaciones (entiéndase Ubuntu, Mint, Trisquel, etc ), además la instalación base ya tenía GNOME . Si no tienes instalado GNOME por defecto y tienes algún problema siguiendo la receta deja tu comentario y trataremos de ayudarte.

Aclarados los puntos, damos comienzo a la ceremonia :P

1.- Instalamos los paquetes básicos y dependencias

sudo aptitude update
sudo aptitude install fluxbox conky gnome-terminal pcmanfm eog audacious wbar
network-manager-gnome gnome-power-manager notify-osd gnome-settings-daemon gedit

Explico para qué cada cosa:

  • fluxbox : Creo que es obvio ¿no? El gestor de ventanas
  • conky : Un monitor de sistema bien ligero y configurable
  • gnome-terminal : El emulador de terminal que usa GNOME
  • pcmanfm : Un explorador de archivos rápido y liviano. Para no explicar mucho diré que es un Nautilus a dieta xD. También podemos instalar thunar, el explorador de archivos de XFCE
  • eog : El visor de imágenes de GNOME. Es ligero y funciona a la perfección
  • audacious : Un reproductor de música super liviano (o si quieren MPD + Sonata )
  • wbar : Un dock que imita la famosa barra de Mac OS X pero con un consumo bajísimo
  • network-manager-gnome : Es el demonio que usa GNOME para gestionar las conexiones de red junto con su applet para la barra de tareas
  • gnome-power-manager: La herramienta de GNOME para gestionar la energía de nuestro equipo (en caso que funcione con baterías) y su applet
  • notify-osd : Sistema de notificaciones pasivas (sí es el que usa ubuntu y posiblemente ya esté instalado)
  • gnome-settings-daemon: Demonio necesario para que las aplicaciones de GNOME se vean correctamente (en caso de no tenerlo instalado)
  • gedit : el editor de texto de GNOME

Observarán que se instalan muchas aplicaciones de GNOME y es porque son bastante funcionales y nos ayudarán a sacarle el máximo provecho al escritorio. Nuevamente resalto que la selección de las aplicaciones se hizo en base a la premisa “aplicaciones ligeras y de bajo consumo” , sin embargo podemos instalar cualquier aplicación que nos guste.

Sigamos con la parte divertida.

2.- Configuremos Conky

Conky como dije anteriormente es un monitor de sistema muy liviano. Allí podemos monitorear cientos de parametros de nuestro equipo y se ve bastante bien con Fluxbox :)

Lo primero que debemos hacer es habilitar el soporte de la extensión Double Buffer (DBE) del servidor X para evitar el parpadeo. Sin ésta opción no logrará actualizar la pantalla con suficiente rapidez. Para ello, vamos al archivo /etc/X11/xorg.conf y agregamos una línea con Load “dbe” en Section “Module”

sudo gedit /etc/X11/xorg.conf

La sección debería quedar así:

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Luego copiamos el archivo de configuración de ejemplo que viene con el Conky a nuestra carpeta personal:

cp /etc/conky/conkyrc.conf ~/.conkyrc

Lo abrimos con nuestro editor de texto favorito (tenemos instalado Gedit así que lo usaremos)

gedit ~/.conkyrc

Se darán cuenta que el archivo está dividido en dos partes. La primera contiene las opciones de configuración del programa (alteran su comportamiento). La segunda define las variables, el texto, y los gráficos que se mostrarán en pantalla.

La cantidad de variables y opciones que se pueden manejar son muchísimas, así que dejo la lista completa de opciones para configuración y de variables a monitorear . Si eso no es suficiente, aquí pueden ver unos cuantos screenshots con sus respectivos archivos de configuración para que echen a volar su imaginación y además les dejo mi archivo de configuración (hoy me siento benevolénte :P)

# Conky, a system monitor, based on torsmo
#

alignment top_right
background no
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders yes
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=10
gap_x 5
gap_y 60
minimum_size 5 5
maximum_width 200
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
own_window no
own_window_class Conky
own_window_type desktop
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer none
show_graph_scale no
show_graph_range no

TEXT
$nodename # $sysname $kernel on $machine
$hr
${color slate grey}${time %a, }${color }${time %d %b %G}
${color grey}Uptime:$color $uptime_short
${color slate grey}Kernel: $kernel
${color black}CPU:
$color ${cpu cpu0}% ${cpubar cpu0 4}
$color ${cpu cpu1}% ${cpubar cpu1 4}

${color grey}RAM:$color $mem / $memmax
$color ${memperc}% ${membar 4}
${color grey}Swap:$color $swap / $swapmax
$color ${swapperc}% ${swapbar 4}

${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /}
${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}
$hr
#${color grey}Name              PID   CPU%   MEM%
#${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
#${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
#${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
#${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

3.- Configuremos Wbar

Wbar es un lanzador de aplicaciones que emula algunas características de la barra de Mac OS X. Es altamente configurable y la que consume menos recursos de todas las que he visto hasta ahora. ¡Toma eso Gnome-Do!

Al igual que Conky trae un archivo de configuración de ejemplo y solo debemos copiarlo a nuestra carpeta personal con el nombre .wbar:

cp /usr/share/wbar/dot.wbar ~/.wbar

Lo abrimos con Gedit:

gedit ~/.wbar

Y observamos el siguiente formato:

i: /ruta/del/icono
c: comando_a_ejecutar
t: Título del lanzador

La primera entrada del archivo corresponde a la imagen de fondo de la barra y no debemos tocarla.

Recomiendo hacer una selección de los iconos que desea para cada lanzador y colocarlos en una carpeta. A continuación les muestro mi archivo de configuración de lanzadores:

i: /usr/share/wbar/iconpack/wbar.osx/osxbarback.png
c:
t: /usr/share/wbar/iconpack/wbar.osx/font/16

i: /usr/share/wbar/iconpack/personal/gnome-fs-home.png
c: pcmanfm
t: Explorador de archivos

i: /usr/local/share/icons/hicolor/48x48/apps/google-chrome.png
c: google-chrome
t: Chrome

i: /usr/share/icons/hicolor/48x48/apps/midori.png
c: midori
t: Midori

i: /usr/share/wbar/iconpack/personal/gnome-terminal.png
c: gnome-terminal
t: Terminal

i: /home/satanas/proyectos/turpial/turpial/data/pixmaps/turpial.png
c: /home/satanas/proyectos/turpial/turpial.sh
t: Turpial

i: /usr/share/wbar/iconpack/personal/pidgin-menu.xpm
c: pidgin
t: Pidgin

i: /usr/share/icons/hicolor/48x48/apps/geany.png
c: geany
t: Geany

i: /usr/share/wbar/iconpack/personal/audacious-32.xpm
c: audacious2
t: Audacious

i: /usr/share/wbar/iconpack/personal/xchat.png
c: xchat
t: XChat

i: /usr/share/pixmaps/zsnes.xpm
c: zsnes
t:zsnes

La otra parte interesante del wbar son los argumentos que se le pasan al momento de ejecutarlo. A continuación la lista de opciones:

Opciones
 -config: ruta del archivo de configuración (ej: $HOME/.wbar)
 -above-desk: para ejecutarlo encima del escritorio
 -idist i: distancia entre los iconos (ej: 1)
 -isize i: tamaño de los iconos (ej: 32)
 -zoomf i: factor de zoom (ej: 1.8)
 -jumpf i: factor de salto (1.0 - 0.0)
 -pos|p: posición (top | bottom | left | right | center)
 -dblclk i: milisegundos para el double click (0: un solo clic)
 -bpress: los iconos parecen presionados al darle clic
 -vbar: barra vertical
 -balfa i: transparencia de la barra (0-100)
 -falfa i: transparencia de la barra cuando no tiene foco (0-100)
 -nofont: deshabilita el dibujado de las fuentes

Los argumentos que le paso al wbar los pueden ver en el archivo startup de Fluxbox un poco más abajo.

4.- Configuremos Fluxbox

La configuración de Fluxbox se basa principalmente en la edición de tres archivos: init, startup y keys. Fluxbox dispone de otros archivos para configurar más cosas, pero les dejaré eso como tarea.

~/.fluxbox/init

Este archivo maneja la configuración general de Fluxbox. Podemos definir la posición, el ancho y los elementos que deseamos en la barra de tareas. El archivo es extenso y con muchas opciones, así que mostraré un pedazo de mi archivo con las opciones más relevantes.

# Transparencia de la barra de herramientas
session.screen0.toolbar.alpha: 255

# Ancho de la barra
session.screen0.toolbar.widthPercent: 100

# Mostrar la barra de tareas
session.screen0.toolbar.visible: true

# Herramientas que deseamos motrar (y el orden en que aparecerán)
session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, iconbar,
systemtray, clock

# Posición de la barra
session.screen0.toolbar.placement: BottomCenter

# Ocultar automaticamente
session.screen0.toolbar.autoHide: false

# Cambiar una ventana de escritorio al moverla hacie los extremos laterales
session.screen0.workspacewarping: true

# Cantidad de escritorios
session.screen0.workspaces: 4

# Formato de la hora del reloj
session.screen0.strftimeFormat: %d %b, %a k:%M:%S

# Nombre de cada escritorio
session.screen0.workspaceNames: Workspace 1,Workspace 2,Workspace 3,Workspace 4,  

# Ejecutar el wbar con un delay de 5 seg para esperar que carguen todos los
# programas. Acá también se especifican las opciones del wbar
session.screen0.rootCommand: sleep 5 && wbar -pos left -above-desk -vbar
-jumpf 0.0 -zoomf 1.5 -idist 1 -bpress -config $HOME/.wbar

El orden en que se definan las herramientas será el orden que tengan en la barra. Las posibles herramientas son: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow y clock

~/.fluxbox/startup

Aquí definimos que aplicaciones se ejecutan al inicio del sistema. Mostraré mi archivo y comentaré cada opción.

#!/bin/sh
#
# fluxbox startup-script:
#

# Mapa de teclado:
xmodmap "/home/satanas/.Xmodmap"

# Aplicaciones que deseamos correr con fluxbox.
# Debemos asegurarnos de que las aplicaciones que quedan corriendo en segundo
# plano deben terminar con el "&" al final, de lo contrario fluxbox nunca se
# ejecutará.

# El monitor del sistema ejecutado con double buffer y en segundo plano
conky -d -b &

# El applet del Network Manager de GNOME que nos permite manejar nuestras redes
nm-applet --sm-disable &

# El applet de GNOME que entre otas funciones nos muestra el estado de la batería
gnome-power-manager --sm-disable &

# El demonio de configuración de GNOME. Esto es para que podamos ver los iconos
# y el tema de GNOME sin problemas (necesario para pcmanfm)
gnome-settings-daemon &

# Y finalmente iniciamos fluxbox.

exec fluxbox

~/.fluxbox/keys

En este archivo configuramos las combinaciones de teclas (atajos de teclado) de nuestro entorno de escritorio. Fluxbox denomina a la tecla Alt como Mod1 y a la innombrable (la tecla Super o Win) como Mod4. La sintaxis del archivo es:

[teclas]: [acción] [parámetros]

Acá podemos ver la lista completa de posible acciones a definir

Los atajos que considero útiles son:

Cambiar de ventana con Alt + Tab

Mod1 Tab :NextWindow

Cambiar al escritorio 1 con Ctrl + F1 (se debe repetir para cada escritorio que tengamos)

Control F1 :Workspace 1

Abrir un terminal con Alt + F1

Mod1 F1 :Exec gnome-terminal

Abrir un diálogo de “Ejecutar” con Alt + F2

Mod1 F2 :Exec fbrun

5.- Resultado

Un agradable y eficiente escritorio como el que se muestra en la imágenes :)

Espero que no se hayan dormido y que el tutorial les sirva para algo. Hasta la próxima.

Otras referencias:
[1] http://www.gentoo.org/doc/es/fluxbox-config.xml
[2] http://fluxbox.sourceforge.net/docbook/en/html/chap-toolbar.html
[3] http://debianitas.net/doc/minicomos/Todo Sobre FLUXBOX/html/fluxbox.html
[4] http://www.estrellateyarde.es/so/fluxbox

  • http://equinox-windows7.co.cc Tsunehito

    Esta artículo me viene genial, justo hoy encargué el CD de Ubuntu 10.04 :B

  • http://www.frozzer.com Mario

    Sobre el artículo, no es de mi gusto ese "gestor de ventanas" (¿que el gestor de ventanas no era tipo compiz y metacity?) y para utilizar tantas aplicaciones de gnome, pues mejor gnome.

    Ahora, sobre los feeds, lo mismo, yo leia los artículos por el feed y ahora me obligan a visitar la página para ver si el artículo me es de utilidad… Creo que al menos un aviso habría sido bueno.

  • jesus

    No me parece para tanto lo del recorte de feeds. Aunque quizá fuera conveniente ofrecer mayor contenido en el recorte para poder distinguir si interesa el post o no.

    @mario: el gestor de ventanas también consume recursos y si es demasiado pesado (como puede ser compiz) aumenta el consumo y ralentiza el equipo. Por mucho que uses muchas apps de gnome, algo te ahorras (no puedo decir cuánto, todo es probarlo). En un netbook, usar un escritorio de este tipo (he probado openbox) se nota bastante sobre usar Gnome.

    Probaré el tutorial en cuanto tenga un rato, parece itneresante (aunque mi gnome actual me encanta, estaba pensando en alguna alternativa ligera). Nunca quedé satisfecho con fluxbox, y la mayoría de los temas disponibles para él me horrorizan, pero volveré a probar…

  • ArTBoL

    Muy buen articulo.

    Yo lo tengo instalado en mi EeePc 701 bajo Debian. Eso si, sin rastro de Gnome. Eso de querer instalar un paquete y te instale todo el Gnome por dependencias no me gusta nada.

    Un saludo.

  • http://flavors.me/gabriela2400 gabriela2400

    Los comentarios sobre el cambio en el feed que habían en este post han sido marcados como spam, son totalmente fuera de tópico y no aportan nada. Para eso esta el boletín numero 3 donde se discute el asunto. Dejar este espacio para comentarios que si tengan que ver con el tremendo articulo que escribió Satanas sobre fluxbox . Hay que saber usar las cosas.

  • jesus

    Un comentario interesante: wbar tiene un configurador vía GUI, wbarconf. No está en los repos de ubuntu, pero podéis bajar el .deb o las fuentes de aquí http://www.ihku.biz/wbarconf/

    Los usuarios del Gran Yaourt lo tenemos en el AUR.

  • eseilogico

    Hola

    Que gran comentario : " Si quiere que su escritorio se parezca a Windows entonces no use Fluxbox " :O.

    Decir que fluxbox es una gran opcion para netbooks por que permite agrupar varios programas en la misma ventana .

    Felicidades a todos por este gran blog , saludos .

  • vIrGiLiO-kun

    y puedo usar nautilus si asi lo deseo? ^^U

  • Juan Luis Cano

    Oh f*ck, qué bonito te ha quedado!! :P

    Gracias!

  • Juan Luis Cano

    En cualquier caso, creo que los párrafos del principio crean un poco de confusión sobre lo que es un Gestor de Ventanas (WM) y un Entorno de Escritorio (DE).

    Al principio parece que vas a sustituir GNOME por Fluxbox, cuando lo que haces realmente es sustituir el gestor de ventanas de GNOME (Metacity) por Fluxbox.

    En fin, aparte de esta sugerencia, me ha encantado el artículo, ya lo dije.

    Un saludo!

  • Juan Luis Cano

    Bueno, me creó tanta confusión que hasta mi corrección anterior está mal.

    Olviden lo último, y ya me callo XD

  • jesus

    @vIrGiLiO-kun: No debería haber problema, si el tutorial hasta incluye "gnome-settings". Se elije PCManFM por ser más ligero, supongo.

  • http://turpial.org.ve Satanas

    Gracias a todos por sus comentarios. Responderé algunas inquietudes

    @Mario: Trataré de aclarar tu confusión. Fluxbox es un "gestor de ventanas" no un "entorno de escritorio". Un entorno de escritorio posee un conjunto de aplicaciones que te permiten manipular el equipo a tu antojo (tal como GNOME, KDE, Xfce, etc) y Fluxbox aún carece de la mayoría de esas aplicaciones; se limita a solo gestionar ventanas ;)

    En cuanto al rendimiento, como comenta @jesus, el gestor de ventanas consume muchos recursos y en un equipo modesto (como una netbook) el rendimiento importa. Por eso Fluxbox se presenta como un fuerte candidato.

    @jesus: Yo probé Fluxbox varias veces y tampoco me convencía. Fue después que me senté y logré ésta configuración que terminé amándolo xD

    @ArTBol: Coincido contigo, no me gusta instalar un paquete y que se traiga un montón de dependencias. He sido muy cuidadoso con la selección de paquetes a instalar y las aplicaciones que recomiendo necesitan muy pocas, son las que tienen mejor relación prestaciones/dependencias.

    @vIrGiLiO-kun: Así es, puedes usar Nautilus, Thunar o cualquier otra aplicación que te guste. Pero como acota @jesus se escoge PCManFM porque es sumamente ligero y funcional.

    Saludos

  • jesus

    Has hecho un buen trabajo, satanás. Has conseguido que dé otra oportunidad a fluxbox como escritorio ligero xD. Cómo buen linuxero, he acabao haciendo el escritorio como me ha salido de los coj***, pero el tutorial me ha dao ideas y ha servido como punto de partida.

    Mis recomendaciones, para que probéis:

    a) Al carecer de un menú por defecto, a fluxbox le sienta genial Gnome-Do. No consume mucho y es tremendamente cómodo. (realmente me encanta Gnome-Do y lo uso con todo xD).

    b) Si no sabéis que hacer con la barra del sistema, podéis quitar la de fluxbox que es horrible, podéis probar "Trayer" *, que te puede poner en una esquinita un área de notificaciones. Con un dock ligerito y Trayer queda un escritorio tremendamente espacioso.

    * ejecutado como: trayer –transparent false –align right –widthtype request &

  • http://elgranpez-hbr.blogspot.com/ HBR

    Magnifica entrada, me esta dando muchas ideas… Tengo una Aspire 6920 y la semana pasada le regale a mis papas una compaq mini (estaba mas barata que la Acer one…), este post es muy util para ese tipo de equipos. Venir de una lap de 16″ a una de 10″ me obligo a cambiar todos mis gustos (uso ubuntu 10.04, docky, elegant gnoem, compiz), es posible crear alguna entrada sobre las aplicaciones que corren bien y sobre todo se ven bien en una notebook? Actualmente corre Ubuntu netbook remix 10.04. Gracias y saludos!

  • Pablo

    Hola, me podrías decir como se llama el wallpaper que tenés? Muchas gracias.