- flatpak
- sddm
- sway
- tiling-window-managers
Flatpak en Wayland con SDDM
Últimamente ando trastenado con Sway, un gestor de ventanas de tipo mosaico que utiliza el protocolo Wayland en lugar de X11. Sway es en sí un compositor Wayland que acomoda las ventanas según una lógica similar a i3, se puede considerar el sustituto del mítico i3 para Wayland.
Como pantalla de login sigo utilizando SDDM, el gestor por defecto de plasma que ya usaba, pero me he encontrado con un problema al utilizar Wayland, también me pasa con la versión Wayland de Plasma. Los iconos de las aplicaciones instaladas mediante Flatpak no aparecen en los lanzadores. En este caso estoy usando Krunner.
Por alguna razón las variables de entorno de systemd que se definen mediante el módulo PAM. Para poder pasar estas variables a mi sesión y definir las que yo quiera he personalizado mi lanzador de Sway.
Para esto creo el archivo /usr/share/wayland-sessions/sway-native.desktop con el siguiente contenido:
[Desktop Entry] Type=Application Name=Sway-native Comment=An i3-compatible Wayland compositor (with environment variables) Exec=/usr/local/bin/startsway.sh
El anterior archivo define que se ejecutará el archivo /usr/local/bin/startsway.sh para iniciar la sesión, así que vamos a crear este script.
#! /bin/sh # systemd PAM environment export $(systemctl --user show-environment) # force apps to use Wayland backend by default export MOZ_ENABLE_WAYLAND=1 export QT_QPA_PLATFORM=wayland-egl export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 export CLUTTER_BACKEND=wayland export ECORE_EVAS_ENGINE=wayland_egl export ELM_ENGINE=wayland_egl export SDL_VIDEODRIVER=wayland export _JAVA_AWT_WM_NONREPARENTING=1 #export XDG_CURRENT_DESKTOP=sway # no redirecting stdout/stderr; handled by SDDM exec sway
Este script en primer lugar exportará las variables de entorno de systemd. A continuación defino algunas variables recomendables para ejecutar wayland siempre que sea posible. Por ultimo lanzará sway.
Después tenemos que hacer ejecutable este archivo:
chmod +x /usr/local/bin/startsway.sh
Reinicio y compruebo que puedo ejecutar mis flatfaks para tener las aplicaciones siempre actualizadas a la versión del desarrollador.
Basado en: https://www.reddit.com/r/swaywm/comments/g20cbw/keepassxc_behaves_bizarrely_if_sway_is_started/