Arch es una distribución difícil que no está pensada para iniciarse. Si no se tiene cierta soltura con Linux puede ser una experiencia abrumadora.
También es muy probable que este documento se quede obsoleto en poco tiempo. Por lo que se debería ir comparando con el wiki de Arch para ver si no hay algún cambio importante.
En esta segunda parte vamos a instalar la interfaz gráfica X. La idea es llegar a tener un escritorio completo en el que Openbox será el gestor de ventanas, PCmanFM el gestor de ficheros y Tint2 como barra de tareas.
Ante cualquier duda lo mejor es ir a las páginas de Arch Linux. La mayoría tiene su versión en español.
Instalación de drivers para aceleración de hardware.
Identificamos la tarjeta gráfica.
lspci | grep -e VGA -e 3D
Luego hay que buscar e instalar el drive más apropiado. El siguiente comando muestra todos los drivers.
pacman -Ss xf86-video
En el caso de una tarjeta intel, el driver a cargar será xf86-video-intel. Si no se puede encontrar un driver mejor el que se usa por defecto es xf86-video-vesa.
pacman -S xf86-video-intel
Para el Raspberry Pi
pacman -S xf86-video-fbdev
Por ahora para lanzar el servidor X y los clientes lo haremos con startx. Seguramente dará error si no se ha instalado xterm y xorg-twm aunque no es grave ya que luego instalaremos otro gestor. Si se cuelga pkill -15 Xorg.
Udev detectará los dispositivos de hardware de entrada y evdev hará de controlador (driver) hotplug para la mayoría de dispositivos. Como ambos están instalados como dependencias de systemd y de xorg-server respectivamente no hay que instalar ningún otro paquete explícitamente para controlar el ratón o el teclado.
Para el pad de un portátil habrá que instalar xf86-input-synaptics.
pacman -S xf86-input-synaptics
Gestor de ventanas
El gestor de ventanas es un cliente de las X y es el que se encarga de controlar la apariencia y comportamiento de las ventanas donde corren las aplicaciones gráficas.
El que vamos a instalar es Openbox.
pacman -S openbox
Configuración.
Desde la sesión de usuario compiamos los archivos de configuración rc.xml, menu.xml, autostart y environmet al directorio local ~/.config/openbox.
mkdir .config
cp -R /etc/xdg/openbox/ ~/.config/
El más importante de todos es autostart. Aquí podemos poner las instrucciones que queremos que se ejecuten al inicio de la sesión. De esta forma podremos lanzar los programas de escritorio como la barra de tareas o el fondo de escritorio.
Para lanzar openbox cuando se inicien las X, primero copiamos el archivo xinitrc en nuestro directorio home como .xinitrc. Éste es un shell-script leído por xinit (y startx) al iniciar el servidor X en el que seleccionamos en cliente (OpenBox) añadiendo la línea exec openbox-session.
Para tener un escritorio completo nos faltaría una barra de tareas y un gestor de ficheros. Vamos a instalar tint2 como barra de tareas, PCManFM como gestor de ficheros, y dbus para la comunicación entre aplicaciones.
pacman -S tint2 pcmanfm dbus
El archivo de configuración de tint2 se encuentra en ~/.config/tint2/ con el nombre de tint2rc. Para ver la batería en un portátil hay que cambiar la opción battery = 0 al final del archivo al valor 1.
PCManFM, además de ser un gestor de ficheros, puede fijar el fondo de escritorio e introducir iconos en el escritorio. En openbox, para lanzar PCManFM automáticamente como demonio lo hacemos con la intrucción pcmanfm --desktop. Aunque esto produce que el menú nativo del gestor de ventanas Openbox sea reemplazado por el de PCManFM, éste puede ser fácilmente recuperado marcando la opción Right click shows WM en la pestaña Desktop del menú de PCManFM.
Hay una instrucción en línea de comandos para acceder al menú Desktop de PCManFM: pcmanfm --desktop-pref.
Los atajos en el escritorio se crean copiando el archivo .desktop.
Resumiendo. Para lanzar los anteriores programas escribimos las siguientes líneas en el autostart de Openbox. El ampersand final es para que los programas se lancen en background sin esperar a que el anterior termine.
~/.config/openbox/autostart
pcmanfm --desktop &
tint2 &
También vamos a escoger un tema de escritorio y los iconos. Los programas que sirven para seleccionar los temas son obconf y lxappearance-obconf.
pacman -S obconf lxappearance-obconf
Descargamos también varios temas. ¿gtk-engines?
pacman -S openbox-themes gtk-engines
Y los iconos que son gestionados por lxappareance.
pacman -S gnome-icon-theme
También podemos instalar una serie de fuentes.
pacman -S ttf-dejavu ttf-freefont ttf-liberation
Automontaje
Hacemos referencia a montaje automático de dispositivos como USBs, memorias SD, DVDs...
Gnome Virtual File System (gvfs) proporciona las funcionalidades de montaje y papelera. Para el montaje hace uso de udisks2. Udisks proporciona un demonio udisksd que implementa una interfaz D-Bus para consultar y manipular los dispositivos de almacenamiento. Hay dos versiones de udisk: udisks y udisks2. Usaremos la última pues se ha parado el desarrollo de la primera. Las acciones que se permiten son definidas por policykit.
pacman -S gvfs udisks2 polkit
Para trabajar con particiones FAT y ntfs hay que instalar varios paquetes:
pacman -S dosfstools mtools ntfsprogs exfat-utils
Inicio
Sólo nos faltaría algún pequeño retoque para tenerlo todo listo para iniciar una sesión en X.
Por ejemplo, vamos a seleccionar el teclado español para nuestra sesión añadiendo la instrucción setxkbmap en .xinitrc.
.xinitrc
setxkbmap es
exec openbox-session
Se puede hacer también de forma global, para todo el sistema y no solo para nuestra sesión, con localectl.
localectl set-x11-keymap es
Ya está todo listo para lanzar las X. Una vez que hemos entrado en el sistema lanzamos el comando startx.
startx
Sonido
La Arquitectura Avanzada para el Sonido en Linux (ALSA) es un componente del kernel que proporciona controladores de dispositivos para las tarjetas de sonido. ALSA está incluido en el kernel como un conjunto de módulos de los que udev seleccionará en el arranque el correcto para la tarjeta de sonido.
El paquete alsa-utils contiene la herramienta alsamixer para la configuración de los dispositivos de sonido. Seguramente lo necesitaremos para cambiar el estado de los canales que se encuentran en 'mute'.