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 🙂

 

 

Instalar Arch Linux en mi MacBookPro 13 retina Parte 3

Bien, hasta aquí hemos logrado una instalación (Parte 1) y configuración básica (Parte 2) de Arch Linux en la MacBook Pro retina. El sistema ya está montado pero Arch inicia siempre en modo de texto, sin intervención aún de un entorno gráfico (X11). Asunto que haremos a continuación en este post.

Tenemos varias opciones aquí, yo me decanté por la más sencilla pues no me gusta lidiar con el entorno gráfico, mi trabajo no me exige tantas precisiones. De modo que elegí instalar un escritorio que instala bien el entorno gráfico, GNOME, y utilizar su arrancador de sistema (gdm) que es muy flexible dado que nos permite instalar con facilidad otros entornos gráficos o administradores de ventanas que pueden ser seleccionados desde el arranque.

También instalaremos algunas utilidades que facilitan la administración y operación de nuestra laptop. Se habrán dado cuenta que el gestor de paquetes para descargar aplicaciones en Arch es Pacman. Vale la pena conocerlo a fondo pues es muy poderoso y nos permite una gran variedad de operaciones para descargar y mantener limpio y a modo nuestro sistema.

Instalemos GNOME

$ sudo pacman -S gnome gnome-extra

Ahora montemos el arrancador que deseamos

$ sudo systemctl enable gdm

y el driver del display

$ sudo pacman -S xf86-video-intel

Ahora desactivamos la carga automática de dhcpcd e instalamos el network manager

$ sudo systemctl disable dhcpcd
$ sudo pacman -S networkmanager network-manager-applet

Ahora vamos a instalar un segundo administrador de paquetes llamado yaourt, que tiene la bondad de descargar, compilar e instalar aplicaciones generadas por terceros y que conforman un repositorio que si bien no es oficial si contiene aplicaciones probadas y en desarrollo continuo que vale la pena tener.

Instalar yaourt:

$ nano /etc/pacman.conf y añadimos o descomentamos
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
$ sudo pacman -Sy
$ sudo pacman -S yaourt

Ahora lo utilizaremos

Instalar drivers de wifi

$ yaourt -S broadcom-wl

Instalar driver del trackpad

$ yaourt -S xf86-imput-mtrack-git

Activación del ventilador de la laptop

$ yaourt -S macfanctld
 $ sudo systemctl enable macfanctld
 $ sudo systemctl start macfanctld

Suspender al cerrar la tapa de la laptop

$ sudo nano /etc/systemd/logind.conf
añadir o descomentar:
HandlePowerKey = suspend
HandleLidSwitch = suspend

Instalar el Gnome Power Manager

$ pacman -S gnome-power-manager

Manejo de la temperatura

$ yaourt -S thermald
$ sudo systemctl enable thermald
$ sudo systemctl start thermald

Velocidad del reloj para salvar energía

$ sudo pacman -S cpupower
$ sudo systemctl enable cpupower
$ sudo systemctl start cpupower
$ cpupower frequency-set -g powersave

Hasta aquí con las utilidades. Ahora, toca decidir lo que uno quiere tener de entorno gráfico para trabajar. Decidir si queremos tener un escritorio completo tipo gnome, kde o los muchos que hay, a mi me gusta cinnamon y aunque ya tenemos GNOME lo instalaré. Además, instalaré dos administradores de ventanas. Cuando no quiero utilizar un escritorio que ya tiene todo out of the box pero que te carga bastante el sistema, utilizo los administradores de ventanas puesto que son más ligeros dado que no nos atiborran el sistema de utilidades y aplicaciones que no utilizaremos sino que uno instala exactamente lo que desea usar. Instalaré uno que es de ventanas flotantes, OpenBox, y uno de tipo tiling windows, que es el i3wm y que me ha gustado mucho y que uso con frecuencia. La ventaja del arrancador gdm que instalamos es que recoge los escritorios o administradores de ventanas que instalemos y en el menú de arranque uno puede seleccionar el modo de sistema que uno desea utilizar en cada sesión, precisamente por esa bondad es que lo instalamos.

Instalar el escritorio cinnamon

$ sudo pacman -S cinnamon

Hay que rebootear después de esto para que nos aparezca en el menú de gdm. Mi pantalla con cinnamon

Screenshot de Arch

 

Instalar el administrador de ventanas i3

$ sudo pacman -S i3

Rebootear después de finalizada la instalación. Mi pantalla con el i3

Screenshot-de-i3wm-en-Arch

 

Ahora si, a divertirse configurando sea el escritorio, sea el administrador de ventanas a nuestro entero gusto.

Vale decir que debemos mantener al día nuestra base de datos de programas con

$ sudo pacman -Sy

Y actualizar cuando veamos oportuno con

$ sudo pacman -Syu

Distruten y configuren su sistema 🙂

Instalar Arch Linux en mi MacBookPro 13 retina Parte 1

 

Arch en una MacBook Pro retina de 13 pulgadas.
Arch en una MacBook Pro retina de 13 pulgadas.

Describo aquí los pasos que he seguido para instalar Arch Linux en mi MacBook Pro Retina de 13″, modelo mid 2013. Previo a este intento ya había realizado el trabajo de particionar mi unidad para tener en dual boot el sistema Mac OS Yosemite y Linux Mint 17.3 Desde un arranque EFI. No describiré aquí el proceso para alcanzar a tener esto sino lo que hice una vez que quise sustitur la instalación de Mint por una instalación nueva de Arch Linux. El sitio de Arch tiene un wiki que es el mejor documentado que he visto para cualquier distro y que es una guía indispensable para trabajar con el sistema Arch. Visítalo, a mi me sirvió en particular esta guía.

AVISO: De ninguna manera soy un experto, sólo documento lo que hice para lograr un sistema funcionando apropiadamente. Fui tomando información de muchos otros blogs en mi proceso de instalación y en este post sumarizo lo que me sirvió. De modo que este blog pretende ser más una guía general que un tutorial detallado, y que me serviría para repetir la instalación. Si deciden utilizar este post como guía, la responsabilidad del resultado será de quien decida aplicar en su sistema lo que aquí planteo.

Bien, comencemos:

Descargar el ISO de Arch Linux para el sistema que tiene, en mi caso el ISO x86_64

Pasar el iso a una usb (/dev/sdc es donde se monta mi usb, checar en su máquina)

$ sudo dd if=/path_al_iso.iso of=/dev/sdc

Arrancar la laptop con la usb puesta y presionando la tecla Alt (left option key)

Elegir arch del menu, eso te pondrá en una pantalla negra con sólo el command line y el cursor. Puede aparecer como #> o como $>

$ >

Aquí, debido a que la macbook es HDPI, el sistema retina es de 2560×1600 y entonces todo se ve minúsculo. Para hacerlo más visible escribir

$ setfont sun12x22

Preparar la conexión a red

$ dhcpcd

Probar la conexión con un ping para ver que esté activa

$ ping -c 3 google.com

esto genera 3 pings y se detiene si todo está funcionando correctamente

Configurar a un teclado más conocido (latinoamericano en mi caso)

$ loadkeys la-latin1

Determinar el mapa del disco duro para detectar los nombres de las particiones actuales y en seguida hacer las particiones que necesitamos

$ fdisk -l

Particionar con cgdisk de modo que quede como la tabla de abajo, que muestra mi sistema Mac Os en sda1, sda2, sda3 y sda4. Instalaré arch en las otras, que deben ser creadas con cgdisk

$ cgdisk /dev/sda

 

Device         Start  End  Sectors    Size      Type
 /dev/sda1                                            200M     EFI System
 /dev/sda2                                            65.1G     Apple Core storage
 /dev/sda3                                            619.9M  Apple boot
 /dev/sda4                                            128M     Apple HFS/HFS+
 /dev/sda5                                            2G          Linux swap
 /dev/sda6                                            256M     Linux filesystem
 /dev/sda7                                            15G        Linux filesystem
 /dev/sda8                                            29G        Linux filesystem

La instalación la hago sobre las particiones:

sda5 (swap)  le doy 2G

sda6 (boot)   al área de boot tiene con 256M

sda7 (root)    la que será el root del sistema con 15G es suficiente

sda8 (home)  el directorio de home con el resto del espacio de disco, para mi 29G.

Una vez creadas las particiones hay que darles formato

$ mkfs.ext2 /dev/sda6       (boot va en formato ext2)
$ mkfs.ext4 /dev/sda7       (root va en formato ext4)
$ mkfs.ext4 /dev/sda8       (home va en formato ext4)
$ mkswap /dev/sda5          (swap en su propio formato)
$ swapon /dev/sda5          (activación del swap)

Ahora se monta el filesystem

$ mount /dev/sda7 /mnt      (lo primero es montar partición de root)
$ mkdir /mnt/boot && mount /dev/sda6 /mnt/boot
$ mkdir /mnt/home && mount /dev/sda8 /mnt/home

Instalar Arch sobre estas particiones, comienza en la partición de root

$ pacstrap /mnt base base-devel

Hacer el fstab

$ genfstab -p /mnt >> /mnt/etc/fstab

Felicidades! Aquí ya tienes instalado el sistema Arch. Pero no hemos terminado aún, ahora debemos hacer que el sistema arranque desde el disco al que hemos instalado y no desde la usb. Continuamos en la Parte 2.