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