Hyprland : unifier l'environnement et le cycle de vie des services graphiques #6

Open
opened 2026-09-05 16:41:35 +00:00 by silex · 0 comments
Collaborator

Point 3 de la revue. Ecarts d'environnement et lacune de supervision observes ; survivants ou doublons apres logout non reproduits.

Constat

hypr/modules/environment.lua:7-24 configure les enfants directs de Hyprland. Les autostarts n'importent explicitement que WAYLAND_DISPLAY et XDG_CURRENT_DESKTOP. Le gestionnaire utilisateur et les services examines n'ont pas le meme environnement (notamment XDG_SESSION_TYPE, XDG_SESSION_DESKTOP, QT_QPA_PLATFORM, GDK_BACKEND). Qtile peut exporter une identite de session qui n'est pas explicitement remplacee par Hyprland.

Pendant la revue : linger actif, KillUserProcesses=false, graphical-session.target inactif, mais portails/polkit/Dunst actifs. Le logout Rofi (rofi/powermenu/type-1/powermenu.sh:70-78) arrete polkit puis Hyprland, sans responsable unique du perimetre graphique. Une deconnexion du display n'est pas une supervision complete des processus.

Correction attendue

Definir une liste minimale de variables a exporter a la barriere de demarrage et une responsabilite claire pour l'arret des services propres a la session, y compris en cas de crash. Conserver les services utilisateur volontairement persistants et tmux. Ne pas exporter tout l'environnement, des secrets ou tous les identifiants logind. Ne pas desactiver linger ni activer globalement KillUserProcesses=yes.

Ne pas reintroduire UWSM par reflexe : comparer une petite integration systemd de session a un nettoyage cible. Coordonner avec le point 2. Les chemins XDG autostart Netbird/nm-applet existent mais leurs services sont inactifs : pas de doublons actuels demontres, a reconcilier si l'autostart XDG est active.

Validation

  • Comparer une liste non secrete de variables entre enfants directs et services D-Bus/systemd.
  • Tester changement de session Waybar/Quickshell/Qtile sans contamination.
  • Verifier logout, reconnexion et crash : aucun survivant ou doublon graphique indesirable.
  • Confirmer que tmux et les services personnels persistants restent intacts.
  • Verifier portails, notifications et agent polkit apres reconnexion.

References

Point 3 de la revue. Ecarts d'environnement et lacune de supervision observes ; survivants ou doublons apres logout non reproduits. ## Constat `hypr/modules/environment.lua:7-24` configure les enfants directs de Hyprland. Les autostarts n'importent explicitement que `WAYLAND_DISPLAY` et `XDG_CURRENT_DESKTOP`. Le gestionnaire utilisateur et les services examines n'ont pas le meme environnement (notamment `XDG_SESSION_TYPE`, `XDG_SESSION_DESKTOP`, `QT_QPA_PLATFORM`, `GDK_BACKEND`). Qtile peut exporter une identite de session qui n'est pas explicitement remplacee par Hyprland. Pendant la revue : linger actif, `KillUserProcesses=false`, `graphical-session.target` inactif, mais portails/polkit/Dunst actifs. Le logout Rofi (`rofi/powermenu/type-1/powermenu.sh:70-78`) arrete polkit puis Hyprland, sans responsable unique du perimetre graphique. Une deconnexion du display n'est pas une supervision complete des processus. ## Correction attendue Definir une liste minimale de variables a exporter a la barriere de demarrage et une responsabilite claire pour l'arret des services propres a la session, y compris en cas de crash. Conserver les services utilisateur volontairement persistants et tmux. Ne pas exporter tout l'environnement, des secrets ou tous les identifiants logind. Ne pas desactiver linger ni activer globalement `KillUserProcesses=yes`. Ne pas reintroduire UWSM par reflexe : comparer une petite integration systemd de session a un nettoyage cible. Coordonner avec le point 2. Les chemins XDG autostart Netbird/nm-applet existent mais leurs services sont inactifs : pas de doublons actuels demontres, a reconcilier si l'autostart XDG est active. ## Validation - [ ] Comparer une liste non secrete de variables entre enfants directs et services D-Bus/systemd. - [ ] Tester changement de session Waybar/Quickshell/Qtile sans contamination. - [ ] Verifier logout, reconnexion et crash : aucun survivant ou doublon graphique indesirable. - [ ] Confirmer que tmux et les services personnels persistants restent intacts. - [ ] Verifier portails, notifications et agent polkit apres reconnexion. ## References - [Revue complete et sources versionnees](https://git.2027a.net/mathieu/Clankers/src/commit/d45ad9c432548a1bf75fefe9c09d38a2939961d4/analyses/hyprland-rationalisation--2026-09-05.md). - [Configuration auditee, commit 818a0b1](https://git.2027a.net/mathieu/dotfiles/src/commit/818a0b142931fb439c4e620c258cb1b05dd8cdf8/). - Versions examinees : Hyprland 0.56.2 et Quickshell 0.3.1.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mathieu/dotfiles#6
No description provided.