Mi experiencia con el i3wm sobre Arch en Macbook pro retina

i3 es un administrador de ventanas, no un escritorio como los que suelen instalarse junto con la distro de linux que queramos, así, tenemos Unity, Cinnamon, Gnome, Kde y los muchos otros que hay. Los escritorios instalan todas las utilerías comunes de modo que son muy cómodos de usar. Sin embargo, cuando no deseamos todos los paquetes que instala un escritorio y deseamos tener sólo aquellos que utilizamos en un entorno mucho más liviano y rápido, entonces podemos sustituir el escritorio por un administrador de ventanas o WM (window Manager). Lo típico es que un WM sólo instale lo necesario para manejar ventanas, abrirlas y cerrarlas, minimizarlas, cambiar su tamaño, etc. Fuera de eso, todo lo que hagamos debemos configurarlo nosotros mismos así como añadir los programas que deseamos utilizar. Es por ello que son muy eficientes y utilizan pocos recursos del sistema. Existen varios WM’s, openbox, xmonad, compiz, i3, y varios más. Por lo general son de cualquiera de dos tipos, de ventanas flotantes o de mosaico (que ocupan todo el espacio de monitor posible sin traslaparse). Yo he instalado tanto openbox, que es de ventanas flotantes, como i3 que es de tipo mosaico. He disfrutado mucho más el i3 por la facilidad para configurarlo, su estabilidad y simplemente porque me ha encantado.

Bien, comencemos, yo tengo arch corriendo en mi mac y el gestor Gdm (Gestor de pantalla o Display Manager, que aparece al final del proceso de arranque o boot), que detectará automáticamente la instalación de i3 y lo pondrá como opción de arranque.

INSTALACIÓN DE i3

$ sudo pacman -S i3 dmenu

Pedirá instalar el paquete completo de i3, i3bar, i3status y vale la pena instalar también dmenu. Aceptar todos pues los utilizaremos y resultan muy útlies.

Una vez instalado, rebootear y seleccionar i3 para comenzar

Al correrlo por primera vez aparece un wizard de configuración que nos preguntará dos cosas, la primera es dónde queremos instalar los archivos de configuración, en mi caso es ~/.config/i3/config pero el default es ~/.i3/config Aceptar o modificar a su gusto. La segunda cosa que nos pregunta el wizard es la tecla modificadora, mod key o simplemente (mod), que es la de Win, CTRL o la de Alt. Como yo tengo mac me resulta más conveniente la de Alt y por ello en el resto de este post pondré Alt en lugar de mod. Ustedes deberán sustituir mod por la tecla elegida en el wizard. Después de eso arranca el i3.

La entrada resulta extraña si es la primera vez que se usa un WM: no se ve nada. Es una pantalla en blanco pero allí está el sistema corriendo y el mouse parece inútil. i3 se maneja con el teclado, cuestión que muchos apreciamos aunque el mouse tiene sus funciones y podemos correr aplicaciones gráficas para utilizarlo.

Bien, Presionando la tecla Alt+Return, o sea el mod key que elegimos y Enter o Return, nos abre una terminal que ocupa toda la pantalla. Desde allí corremos un editor, nano si lo queremos en modo texto o sublime text, que me gusta personalmente, para editar el archivo de config y adaptar todo a nuestro gusto. Para el primer archivo a editar utilicé nano pues como mi macbook pro es retina todo se verá diminuto. Esto lo arreglamos al modificar las condiciones del entorno gráfico abriendo o creando el archivo .xinitrc en el directorio donde se encuentra nuestro config de i3 que es el path que elegimos arriba. A algunos les pedirá que sea en modo sudo (root).

$ nano ~/.config/i3/.xinitrc

allí añandimos estas 3 líneas si es que no las contiene ya o añadimos la que falta para el asunto de la resolución, que debe ejecutarse antes de llamar a i3. la primera línea la puse tanto en .xinitrc como en .Xresources

Xft.dpi: 192            (ajusta la resolución. A algunos les funciona  xrandr –dpi 192)
exec i3                      (inicia la ejecución del i3)
sh ~/.fehbg              (nos servirá feh para el fondo de pantalla y manejo de imágenes)

Guardamos y salimos del editor.

Listo! Aprender a usar el i3 es bastante sencillo y la guía la pueden encontrar en Guía del i3 en línea, que es mucho muy clara.

Ahora les mostraré la configuración que tengo, lo que he añadido para hacerlo más funcional deacuerdo a mi gusto, para que tomen lo que les sea de utilidad y vean lo sencillo que es configurar el i3.

CONFIGURACIÓN PERSONAL

Abrir el archivo de configuración (con nano o con sublime text)

$ subl ~/.config/i3/config

Añadir ahora cualquiera de los puntos que señalo más abajo.

El i3 puede actualizar sus cambios al archivo config de modo inmediato, basta que una vez que introduzcan sus cambios al config, lo graben y presionar Alt+Shift+r para que vuelva a cargar el i3 y entonces ya serán operacionales los cambios que hicieron al archivo config. No es necesario reiniciar todo el sistema, sólo el i3. De ese modo pueden ir checando los cambios al config que han hecho y ve lo que les funciona o que requiere mayores modificaciones:

Ejecuto feh para poner el wallpaper. Me gusta, ni modo.

exec --no-startup-id feh --bg-fill ~/Path a la imagen

Cambiar el teclado para español latinoamericano

exec --no-startup-id setxkbmap -layout latam

Hacer operativo el Scratchpad del i3 que es muy útil (se abre una aplicación y se presiona Alt+m y desaparece, se va al scratchpad. Ahora, en cualquier ventana que esté al presionar Alt+o aparece la aplicación como ventana flotante y se oculta nuevamente con Alt+o). Yo suelo poner en el scratchpad una terminal y un editor ligero como leafpad.

bindsym $mod+m move scratchpad
bindsym $mod+o scratchpad show

Ahora crear unos bindings, como shortcuts para rebootear, salir o apagar. Este lo tomé de GitHub y no tiene fallas

mode "Exit (L)ogout, (R)eboot, (P)oweroff" {
bindsym $mod+r exec systemctl reboot
bindsym $mod+l exit
bindsym $mod+p exec systemctl poweroff
# regresar a normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
 bindsym $mod+control+e mode "Exit (L)ogout, (R)eboot, (P)oweroff" 

Para apagar el sistema, por ejemplo, presionan Alt+Control+e y aparece el menú que les sale abajo en la barra, ahora presionan Alt+p y se apaga la lap. De otro modo con Esc regresan a lo que tenian abierto en su sistema y no apagan.

Ahora a activar el audio y volúmen con alsamixer en las teclas de Función, y me gusta escuchar con Clementine

# Audio
 # OJO faltan detalles como el boton de mute que no funciona
 bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+ unmute
 bindsym XF86AudioLowerVolume exec amixer -q set Master 5%- unmute
 # botones teclado
 bindsym XF86AudioMute exec ~/bin/toggle-mute
 bindsym XF86AudioPlay exec clementine --play-pause
 bindsym XF86AudioStop exec clementine --stop
 bindsym XF86AudioPrev exec clementine --previous
 bindsym XF86AudioNext exec clementine --next

Ahora un ajuste a las teclas de brillo de la pantalla (no un buen arreglo) para funcionar con mis teclas de brillo en la teclas Fn

bindcode $mod+67 exec xbacklight - 10
bindcode $mod+68 exec xbacklight + 10

Me gusta moverme entre workspaces con Control+Alt+flechas pues me acostumbré a ello con el escritorio de cinnamon, así que

bindsym $mod+control+Right workspace next
bindsym $mod+control+Left workspace prev

Finalmente añado los shortcuts para ejecutar mis programas de mayor uso

bindsym control+S exec --no-startup-id subl
bindsym control+G exec --no-startup-id gedit
bindsym control+Z exec --no-startup-id zim
bindsym control+B exec --no-startup-id chromium
bindsym control+T exec --no-startup-id terminator
bindsym control+L exec --no-startup-id leafpad
bindsym control+M exec --no-startup-id clementine

Bien, pues se salva el archivo, reiciniamos y ya estará muy operable una vez que se habitúen al manejo desde el teclado para moverse entre aplicaciones, ventanas y workspaces. Es bastante sencillo.

Pueden acceder a dmenu presionando Alt+d y les aparecerá todas las aplicaciones que tienen en el sistema y seleccionan.

Ah, van un par de imagenes de mi pantalla, que queda como sigue con todos esos arreglitos en la configuración.

 

Screenshot-de-i3wm-en-Arch

Screenshot2015-12-2710:39:03

 

 

Algunos comando básicos para irse moviendo:

$mod será CTRL, WIN o ALT, dependiendo de lo elegido en el wizard.
* $mod + return: abre una nueva terminal
* $mod + d: dmenu, abre lanzadera mínima de programas, default en i3.
* $mod + f: pone la ventana de trabajo en pantalla completa o regresa a posición.
* $mod + shift + q: termina app.
* $mod + número (1,2,3,4): cambia o crea nueva desktop (workplace)

Que disfruten del i3 tanto como yo 🙂