i3

En este post explicaré cómo hacer una instalación de Fedora 29 con el manejador de ventanas i3. Es común ver guías de instalación de i3, pero éstas asumen que ya tienes otro entorno de escritorio previamente instalado.

En este post veremos cómo construir un entorno de trabajo a partir de una instalación mínima a como he explicado en otras publicaciones.

Creando un medio de instalación

Descargar el ISO Fedora Everything Netinstall

Desde el sitio: https://alt.fedoraproject.org/ descargar el archivo de la sección Todo, este es un ISO que funciona como medio de instalación por red que descarga desde Internet todos los paquetes que serán parte de la sistema, además nos da la opción de escoger qué colecciones de paquetes instalar, a diferencia de los medios Lives cuya selección de software ha sido préviamente definida.

Descargamos el ISO con wget:

wget -N -t 0 -c https://download.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/iso/Fedora-Everything-netinst-x86_64-29-1.2.iso

También descargamos el archivo de comprobación de integridad:

wget -N -t 0 -c https://download.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/iso/Fedora-Everything-29-1.2-x86_64-CHECKSUM

Comprobar la integridad del archivo

sha256sum -c Fedora-Everything-29-1.2-x86_64-CHECKSUM

Crear el medio de instalación con Fedora Media Writer

Fedora Media Writer está disponible para diferentes sistemas operativos, descargar el que corresponda.

Es muy importante crear el medio de instalación con Fedora Media Writer ya que esta herramienta garantiza que el medio de instalación tendrá soporte para arrancar en equipos que cuentan tanto con UEFI o BIOS.

De qué modo arrancará quedará en dependencia de cual de los dos tenga mayor prioridad durante el arranque. Yo siempre uso UEFI only, de manera que todos mis sistemas están instalados en modo UEFI.

https://github.com/FedoraQt/MediaWriter/releases/tag/4.1.1

Cuando Fedora Media Writer esté instalado en nuestro equipo, conectamos nuestra memoria USB, ejecutamos Fedora Media Writer y usamos la opción Custom Image para navegar hasta la ruta en la que se encuentra la ISO que acabamos de descargar, lo seleccionamos, seleccionamos cuidadósamente la memoria USB que usaremos y grabamos la imagen en la memoria USB.

Instalación

He seguido los pasos de instalación descritos en esta publicación anterior, asegurándome de tener acceso a una red inalámbrica o a una red cableada.

https://porfiriopaiz.github.io/blog/posts/anaconda-y-lvm-sobre-luks.html

En esta ocasión me he tenido que auxiliar de mi teléfono móvil, si bien es cierto tenía acceso a una red inalámbrica durante la instalación del sistema base (Fedora Custom Install), luego de la instalación la colección de paquetes no consta de los controladores de red necesarios para poder acceder a redes inalámbricas ya que no se incluyen en la selección Custom Install.

Por eso he creado una red cableada via USB con mi teléfono móvil. Para que funcione hay que asegurarse de lo siguiente luego del primer arranque después de la instalación:

  1. Loguearse en el sistema.
  2. Conectar el cable USB al equipo.
  3. Conectar el otro extremo al teléfono móvil.
  4. Asegurarse que el teléfono está conectado a una red inalámbrica o bien que esté activado el plan de datos. Como nota, considera que son necesarios al menos unos 800MB de datos en paquetes RPM los que se deben descargar para una instalación mínima de Fedora con soporte para el entorno gráfico con i3wm.
  5. Asegurarse de que el teléfono está en modo de transferencia de datos USB o MTP.
  6. Activar una red cableada o Tethered Wired Network desde el teléfono móvil.

Luego de esto, deberías tener acceso a Internet. Compruébalo haciendo ping Google:

ping 8.8.8.8

Configuraciones básicas

Configurando dnf

El siguiente paso es opcional, como root, lo primero que hago es configurar dnf, para que use los espejos de paquetes más eficientes:

echo 'fastestmirror=true' >> /etc/dnf/dnf.conf

Luego inhabilito el uso de deltarpm's para las futuras actualizaciones. Si prefieres reducir la cantidad de datos a descargar en cada una de las futuras actualizaciones omite este paso:

echo 'deltarpm=false' >> /etc/dnf/dnf.conf

Siempre conservo cada uno de los paquetes desde donde se instala cualquier programa en mi sistema, incluídos los que se descargan como parte de las actualizaciones y para mantener la caché de paquetes a lo largo del período que uso un release de Fedora. Este paso es opcional y puedes omitirlo si te parece:

echo 'keepcache=true' >> /etc/dnf/dnf.conf

Ahora procedo a inhabilitar un servicio y un timer de dnf. El servicio se asegura de refrescar la caché de metadatos para poder hacer comprobaciones sobre las versiones de los paquetes que están en los repos y así posteriormente comprobar si hay actualizaciones disponibles. El timer se encargar de ejecutar el servicio de manera periódica.

Simpre inhabilito ambos para evitar molestos consumos de ancho de banda y bloqueos de dnf mientras se refresca la caché. Si contás con un límitado ancho de banda o plan de datos esto te ayudará a reducir el consumo del mismo.

systemctl disable dnf-makecache.service
systemctl disable dnf-makecache.timer

Finalmente para asegurarnos que los cambios tengan efecto debemos reiniciar:

reboot

Regenerar la caché e instalar actualizaciones disponibles

Durante la instalación es posible que hayas omitido marcar la opción que permite instalar la versión más reciente de paquetes de los espejos, por lo que tu sistema podría estar desactualizado incluso habiendo hecho uso del medio de instalación por red.

Para aplicar las actualizaciones más recientes y usar los espejos más eficientes es necesario regenerar la caché de metadatos.

Fedora mantiene una caché por cada usuario, una para el usuario root otra para el usuario normal, en mi caso pionen. Por lo que debemos regenerar ambas cachés en caso de querer realizar tareas como administrador o simples consultas que no requieren privilegios de administrador:

Como usuario normal no-root:

dnf clean all

dnf makecache

Luego, siempre como usuario normal no-root, ejecutamos los siguientes comandos, donde pasamos la instrucción entre comillas como un parámetro al usuario root:

su -c 'dnf clean all'

su -c 'dnf makecache'

Consultamos si hay actualizaciones disponibles e ingresamos nuestra contraseña de root:

su -c 'dnf --refresh check-upgrade'

En caso de haber actualizacones disponibles, las aplicamos con:

su -c 'dnf upgrade'

De haberse aplicado actualizaciones, es recomendable reiniciar el sistema para poder hacer uso de la versión más reciente de todos lo programas, por ejemplo el kernel:

reboot

Instalación de i3

A continuación el paso a paso de todo lo necesario para poder tener nuestra instalación mínima de Fedora 29 con i3wm.

Para ello haremos uso de colecciones de paquetes que han sido agrupados de manera especializados. Los siguientes comandos deben ser ejecutados como usuario root.

Submódulos comunes de NetworkManager

Este grupo contiene los submódulos de NetworkManager que se usan comúnmente.

dnf -y group install networkmanager-submodules

Core

Grupo de paquetes para una instalación más pequeña posible, solo contiene los paquetes mínimos requeridos para fucionar. Podría ser que ya se encuente instalado.

dnf -y group install core

Soporte de acceso a redes telefónicas

dnf -y group install dial-up

Fuentes tipográficas

Paquetes de fuentes para renderizar texto en el escritorio y demás herramientas gráficas.

dnf -y group install fonts

Guest Desktop Agents

Agentes utilizados cuando Fedora se ejecuta como un sistema virtualizado.

dnf -y group install guest-desktop-agents

Soporte de hardware

Este grupo es una colección de paquetes que provee varios controladores de hardware. Provee los controladores de red necesarios para hacer funcionar una amplia variedad de tarjetas de red inalámbricas.

dnf -y group install hardware-support

Multimedia

Este grupo provee un conjuto de programas y codecs de audio/video esenciales para un entorno de escritorio. Esta colección no incluye códecs de audio y video propietarios o bajo patentes. Únicamente se incluye software, códecs y librerías Libres.

dnf -y group install multimedia

Standard

Conjunto común de utilidades que amplían la instalación mínima.

dnf -y group install standard

base-x

Servidor de pantalla local de X.org, indispensable para poder tener aplicaciones de interfaz gráfica.

dnf -y group install base-x

Métodos de entrada

Paquetes de método de entrada para la entrada de texto internacional.

dnf -y group install input-methods

Tema de íconos de Fedora

Este paquete contiene el tema del íconos de Fedora.

dnf -y install fedora-icon-theme

Tema de íconos de GNOME

Este paquete contiene el tema de íconos predeterminado utilizado por el escritorio de GNOME.

dnf -y install gnome-icon-theme

Tema de íconos extras de GNOME

Este paquete contiene iconos adicionales de tipo mime y dispositivo para uso en el escritorio de GNOME.

dnf -y install gnome-icon-theme-extras

i3 Manejador de Ventanas

Finalmente podemos instalar el manejador de ventanas i3.

dnf -y install i3

Instalando login gráfico

Necesitaremos un login gráfico desde el cual poder seleccionar nuestro usuario y contraseña para autenticarnos en el sistema. Desde este también podremos seleccionar otros entornos gráficos que instalemos a futuro.

LightDM es un dispositivo de bienvenida que utiliza el kit de herramientas GTK3.

dnf -y install lightdm-gtk

xdg-user-dirs

Contiene xdg-user-dirs-update que actualiza las carpetas en el directorio de inicio, el /home/, según los valores predeterminados configurados por el administrador.

dnf -y install xdg-user-dirs

Habilitar el arranque en modo gráfico

Nuestro sistema ya tiene instalado todo lo necesario para funcionar como un entorno de escritorio usando el manejador de ventanas i3. Pero es necesario cambiar ciertas configuraciones que hacen que el sistema arranque de modo runlevel 3 o multi-user.target a un modo de arranque en runlevel 5 o graphical.target.

Con el siguiente comando corregimos eso:

systemctl set-default graphical.target

También debemos habilitar el servicio que provee la opción de acceder al sistema desde el login gráfico que hemos instalado, lightdm:

systemctl enable lightdm.service

Finalmente podemos reiniciar nuestro sistema y luego de esto deberíamos poder acceder al logín gráfico y hacer uso de nuestro equipo con el manejador de ventanas i3.

reboot

Primer inicio de sesión gráfico

Luego de seleccionar nuestro usuario e ingresar nuestra contraseña, en nuestra primer sesión gráfica, i3 nos consulta si queremos generar un archivo de configuración nuevo, presionamos Enter para responder de manera afirmativa.

A continuación nos consulta qué tecla queremos usar como principal para accionar los atajos de teclado de i3, yo siempre selecciono Win o Windows Key, también conociddad como Meta Key o Tecla de Inicio de Windows.

Terminal de comandos

Esta instalación no cuenta con ningún programa por defecto preinstalado para navegar en Internet, manejador de archivos, visor de imágenes o lector de archivos PDF.

Queda a criterio de cada quién qué usar y qué instalar.

― Pero, ¿Cómo puedo instalar más programas?

Si seleccionaste la tecla Windows para accionar los atajos de teclado de i3, presionando:

<Inicio> + Enter

Podrás ejecutar la terminal de comandos. Yo prefiero usar GNOME Terminal, por lo que siempre la instalo.

su -c 'dnf install gnome-terminal'

Luego presionando:

<Inicio> + d

Acciono dmenu desde donde puedo invocar GNOME Terminal escribiendo gnome-terminal.

En el siguiente post documentaré mi post-install de i3wm.

Salir y apagar el sistema

Para salir de i3 debemos presionar:

<Inicio> + <Shift> + e

Esto accionará un diálogo que nos consultará si queremos finalizar nuestra sesión de i3. Damos clic en Yes, exit i3 y luego estando en lightdm podemos presionar:

<Alt> + <F4>

Para apagar nuestro equipo.

Espero que esta guía te sea de utilidad. Con esto puedes montar máquinas virtuales super ligeras para hacer todo tipo de pruebas, sin consumir recursos de manera excesiva :) o bien como entorno de escritorio para equipos con recursos mínimos.

Comentarios

Comments powered by Disqus