Sway en Debian bullseye

Sway o swaywm es un gestor de ventanas para Wayland que se plantea como un reemplazo directo a i3-wm para X11. Escrito en el lenguaje de programación C. Es un proyecto iniciado por Drew DeVault y mantenido por Simon Ser. Además de su principal diferencia entre Sway e i3-wm al estar escritos para funcionar con diferentes servidores gráficos, el primero para Wayland y el segundo para x11. Sway contiene mejoras o diferencias con relación a i3, algunas de estas:

  • Cambiar el tamaño de las ventajas flotantes con el teclado, mientras que en i3 se redimensionan contra la esquina superior izquierda
  • No hay limitaciones para mover las ventanas flotantes con el teclado

Instalación de sway en Debian bullseye

Sway se encuentra en los repositorios de Debian bullseye, en su versión 1.5. Por lo que es posible instalarlo desde el gestor de paquetes apt.

sudo apt install sway

Configuración

Copiamos la configuración default a nuestro entorno

cp /etc/sway/config .config/sway/config

Agregamos algunas configuraciones especiales

Distribución del teclado

En este caso deseamos que tenga soporte un teclado con distribución latinoamericana, por lo que definimos de la siguiente manera esta distribución en .config/sway/config

input 1:1:AT_Translated_Set_2_keyboard {
    xkb_layout "latam"
    
}

Con el comando swaymsg -t get_inputs se obtiene la lista de identificadores de los diferentes dispositivos que podemos agregar a nuestras configuraciones. En este caso requerimos el destinado al teclado que es 1:1:AT_Translated_Set_2_keyboard.

Definir la terminal

Dentro de las variables que podemos definir en nuestra configuración .config/sway/config se encuentran la destinada a la terminal, que es $term. Para que cuando hagamos $mod+Return obtengamos el emulador de terminal deseado, un ejemplo para el emulador de terminal kitty.

set $term kitty

Firefox en variables del sistema

Para el funcionamiento adecuado de Firefox en Sway es necesario agregar la siguiente línea en /etc/environment en caso de no realizar este paso es posible que las ventanas se empalmen y tenga un efecto extraño al momento de hacer scroll hacia arriba o abajo, en las ventanas de Firefox.

MOZ_ENABLE_WAYLAND=1

Aplicaciones con QT

Por ejemplo KeepassX

QT_QPA_PLATFORM=wayland-egl

Manejo de llaves SSH y ssh-add

Creamos el archivo ssh-agent.service en el directorio ~/.config/systemd/user

[Unit]

Description=OpenSSH private key agent
IgnoreOnIsolate=true

[Service]
Type=forking
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -a $SSH_AUTH_SOCK

Habilitamos la unidad ssh-agent.service y la iniciamos

systemctl --user enable ssh-agent
systemctl --user start ssh-agent

Agregamos a nuestro ~/.bashrc

if [ -n WAYLAND_DISPLAY ]; then
  export SSH_AUTH_SOCK=/run/user/1000/ssh-agent.socket
fi

Otras experiencias con Sway

From openbox to sway por Jamie McClelland