De i3WM ( X11 ) a Sway ( Wayland ) - 1

· 6 min · @Linux · #Sway #Debian

Como podéis leer en este artículo, tenía ya a mi disposición un substituto en caso de fallo grave de mi portátil que venía usando hasta ahora. Y eso es lo que ha pasado. El pobre ha pasado a mejor vida.

Como dice el refrán “el rey ha muerto, viva el rey” y esto es que el que estaba en el banquillo, ya puede salir a jugar 😂.

Tengo pensado hacer una serie de 3 artículos que serán los siguientes (incluyendo este):

Donde explicaré todo el proceso de instalación, configuración y refinamiento hasta llegar a donde me encuentro ahora y que seguramente no será el final, siempre puedes encontrar nuevas ideas para mejorar tu configuración.

nota: La red es vasta e infinita - Motoko Kusanagi

◇ Introducción

El porqué de este cambio, es al 100% por fallos severos en el hardware. El teclado, USB, batería, estaban fallando. O sea un fallo a gran escala, además del espacio que ocupaba que eso también era un handicap.

Pero lo que tenía claro es que para hacer el cambio tenía que seguir un par de pautas que eran inamovibles:

  • Seguir usando Debian GNU/Linux unstable.
  • Seguir usando I3wm
  • A ser posible cambiar a Wayland para ir empezando a utilizar, lo que teóricamente será el futuro.

Partiendo de estas premisas y si quería conseguirlas, tenía un problema que I3wm no está pensado para funcionar en Wayland, si quería dar el salto, tenía que buscar una alternativa y esta me la dio, en primera instancia, como no puede ser otro @atareao con sus diversos artículos hablando de sway y sus bondades (que no han tenido que ser muchas porque rápidamente lo abandonó 😇 ) y dio el salto a otros tiling. Pero como bien dice él, para gustos, colores…

Pues ya teníamos una cosa más de la lista solucionada. Teníamos Debian, teníamos al substituto de I3wm y teníamos a Wayland, pues ya lo teníamos todo, solo me faltaba instalarlo. Pero esta vez, no quería dar un salto de fe, como hice con I3wm en su momento y quería tenerlo todo bien preparado y que el cambio no fuera tan traumático como lo fue con el anterior cambio.

Así que me puse a buscar información del funcionamiento de sway y las opiniones que tenía la gente al respecto, y así mirando, me encontré con un youtuber, que estoy empezando a seguir donde en uno de sus vídeos, explicaba, que había creado un script para la completa instalación y configuración de sway. Y como tenía un portátil libre (T480), pues me decidí a probarlo. Y qué queréis que os diga, me gustó cómo se desenvolvía tanto el script como sway. Pero claro, todo estaba configurado al gusto de @JustAGuy Linux. Aquí pensé, si él puede hacerse un script para instalar sway, porque no lo puedo hacer yo y todo configurado a mi gusto. Pues me lié la manta a la cabeza y me puse a hacer mi propio script de instalación de sway, pero eso sí, adaptado a mis necesidades y sobre todo con la ayuda de Copilot.

Dentro de estas necesidades, que seguramente alguna ya sabréis cuál es:

  • Instalación base de Debian GNU/Linux unstable.
  • Instalación de Wayland.
  • Instalación de sway.
  • Configuración de sway siguiendo los temas que me gustan (Nordic, Nord), o sea, temas oscuros.

◇ El script de preparación

Como ya he comentado, a partir de la idea que había visto en el vídeo de @JustAGuy Linux, creé mi propio script para la instalación y configuración de sway. Este procedimiento, está dividido en 3 script, donde cada uno se encarga de una parte del proceso:

00-preparacio.sh

Este es el que se encarga desde una instalación básica de Debian GNU/Linux testing, eliminar los paquetes que no son necesarios, procedimiento que siempre sigo después de cada instalación personal de Debian, y luego, salto a la rama unstable (que vengo usando desde hace unos 20 años sin ningún problema).

Os voy a poner las partes más importantes del script para que veáis un poco cómo va. Si queréis el script al completo o el procedimiento de instalación, lo podéis encontrar aquí

#!/bin/bash

# 1. Desactivar la instalacion de paquetes sugeridos y recomendados
log_success "Configurando APT para evitar la instalacion de paquetes recomendados y sugeridos..."
echo 'APT::Install-Recommends "false";' | sudo tee /etc/apt/apt.conf.d/99-no-recommends.conf
echo 'APT::Install-Suggests "false";' | sudo tee -a /etc/apt/apt.conf.d/99-no-recommends.conf

# 2. Instalar localepurge (es un paquete que considero basico en cualquier instalación de Debian GNU/Linux)
log_success "Instalando localepurge para limpiar idiomas no deseados..."
sudo apt install -y localepurge

# 3. Preguntar por la version de Debian actual y modificar sources.list
read -p "Por favor, introduce el nombre de la version actual de Debian (ej. 'forky'): " current_version
log_success "Modificando /etc/apt/sources.list para apuntar a 'testing'..."
sudo sed -i "s/$current_version/testing/g" /etc/apt/sources.list

log_success "Actualizando e instalando paquetes del repositorio 'testing'..."
sudo apt -y update && sudo apt -y upgrade

# 4. Modificar sources.list para usar 'unstable' (sid) y actualizar
# Reemplaza 'testing' por 'unstable'.
sudo sed -i 's/testing/unstable/g' /etc/apt/sources.list

log_success "Actualizando e instalando paquetes del repositorio 'unstable' (full-upgrade)..."
log_success "¡ADVERTENCIA! El siguiente paso podría eliminar paquetes. Revisa la salida de la consola cuidadosamente antes de confirmar."
# Nota: Se ha quitado el flag -y para que el usuario pueda revisar los cambios.
sudo apt -y update && sudo apt -y full-upgrade

# Eliminamos paquetes conocidos, en mi caso, son estos
pkgs=(
  bluez bluetooth debian-faq debian-reference-common 
  debian-reference-es doc-debian manpages manpages-es nano 
  emacsen-common aspell aspell-es dictionaries-common 
  ispanish ispell wspanish task-spanish laptop-detect
  apt-listchanges reportbug python3-reportbug
  python3-apt distro-info-data iso-codes libpython3.13-minimal
  python3-requests python3-debian python3-charset-normalizer 
  python3-urllib3 python3-idna lsb-release python-apt-common
  python3-certifi python3-chardet python3-debconf 
  python3-debianbts python3 libpython3-stdlib python3.13
  libpython3.13-stdlib python3-minimal python3.13-minimal
)

sudo apt purge -y "${pkgs[@]}" && sudo apt -y autoremove

# =========================================================================
# Descargamos el ZIP con el resto de archivos / configuraciones necesarias
# =========================================================================
# Nombre del repositorio en formato usuario/repositorio
log_success "Iniciem la descarrega dels script"
REPO="Vctrsnts/debian-installer-sway"
ZIP_FILE="debian-installer-sway.zip"
TARGET_FOLDER="debian-installer-sway"

# Descargar el ZIP con nombre personalizado
wget -O "$ZIP_FILE" "$ZIP_URL"

log_success "Se ejecuta la actualización del funcionamiento de los sources"
sudo apt -y modernize-sources

log_success "Eliminamos aplicacion aptitude"
sudo apt purge -y aptitude w3m task-laptop task-spanish && sudo apt -y autoremove

log_success "Instalem aplicacions wireless"
sudo apt install -y iw wireless-tools wpasupplicant wireless-regdb

exit 0

Una vez finaliza este primer script, nos ha dejado el fichero zip donde está el resto de scripts para seguir. Únicamente, nosotros tenemos que hacer un simple unzip debian-installer-sway.zip y listo.

Aquí lo dejamos para un siguiente artículo, porque si no, se puede extender mucho y hacerse pesado.

Hasta la próxima, donde explicaré la instalación de Wayland junto con Sway y todos los paquetes que he instalado para mis necesidades.

◇ Referencia