mirror of
https://github.com/fleetdm/fleet
synced 2026-05-20 07:29:08 +00:00
Fleet Desktop may fail to launch a browser, or launch the wrong browser, in Ubuntu 24.04 LTS under some scenarios, including Wayland sessions and/or when the browser is installed as a snap or flatpak (by default, Ubuntu 24.04 LTS installs Firefox as a snap). The previous approach of searching for an Xwayland process from which to extract environment variables is incomplete. When the browser is installed as a snap, `.desktop` files are installed by snapd into a location which is only discoverable through the `XDG_DATA_DIRS` environment variable. To workaround this we need to change the approach in several ways: - Look for `xdg-desktop-portal` processes, not just `Xwayland`. Both Firefox and Chrome support native operation under Wayland now, so it's not correct to rely upon the existence of an Xwayland process alone. - Copy several more environment varibles: `XDG_CURRENT_DESKTOP`, `XDG_RUNTIME_DIR`, `XDG_DATA_DIRS`, and `PATH`, in addition to `XAUTHORITY`. These variables allow fleet-desktop to honor the user's browser preference according to the currently running DE. The list of variables to grab was found through trial-and-error and seems to be the minimum required for `xdg-open` to function. Refactored and optimized the code to fetch environment variables from a running process to match only processes running as the current user and robustly handle multiple process results. Fixes #19043, #27209. # Checklist for submitter If some of the following don't apply, delete the relevant line. <!-- Note that API documentation changes are now addressed by the product design team. --> - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [ ] Manual QA for all new/changed functionality - For Orbit and Fleet Desktop changes: - [ ] Manual QA must be performed in all relevant combinations of Linux desktop environments. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved compatibility for launching browsers installed as Flatpak or Snap under Wayland sessions on Linux, resolving issues where Fleet Desktop failed to open these browsers. * Enhanced environment variable handling to better support browser launches in containerized and Wayland environments. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|---|---|---|
| .. | ||
| .keep | ||
| 19043-ubuntu-wayland-browser-snap | ||
| 32053-linux-setup-experience-agent | ||
| 32112-revert-to-sudo | ||
| 32280-duplicate-desktop-osqueryd | ||
| 32393-httpsig-go | ||
| 32514-orbit-shell-ignores-updates-disabled | ||
| 32695-duplicate-macOS-hosts | ||
| 32756-add-opensuse-detection-logic | ||
| update-go-1.25.1 | ||