Mariano Abad bcb3b44433 fix(linux): find the compositor socket when WAYLAND_DISPLAY is not set
`get_wayland_displays` gives up as soon as `Connection::connect_to_env()` fails,
which is any process that was not handed `WAYLAND_DISPLAY`. A login screen is
the case that matters: rustdesk starts the greeter's `--server` without the
compositor variables on purpose, and the desktop layout is then unavailable for
the whole session even though the compositor is running and its socket sits in
the runtime directory of the very user that process runs as.

Measured at an sddm Plasma Wayland greeter: `/run/user/112/wayland-0` exists,
`connect(2)` to it as that user succeeds, and the registry advertises
`wl_output` and `wl_seat`. With this fallback the greeter reads the same output
layout any other session does.

Strictly a fallback after `connect_to_env` has already failed, so it cannot
change a host where that succeeds; where there is no compositor at all the
socket is simply absent and it fails exactly as before.
2026-08-07 17:36:11 -03:00
2025-11-20 14:58:10 +08:00
2026-07-17 17:44:01 +08:00
2025-01-20 16:06:27 +08:00
2025-01-20 16:06:27 +08:00
2026-01-21 11:09:44 +08:00
S
Description
No description provided
86 MiB
Languages
Rust 100%