From eacceee29623f32b70e3e6a9b4937271e092e705 Mon Sep 17 00:00:00 2001 From: Pathfinder Date: Tue, 27 Oct 2026 14:07:49 +0100 Subject: [PATCH] polkit agent: polkit-gnome is orphaned/EPEL-only on F44; use polkit-kde MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VM run failed: 'No match for argument: polkit-gnome'. polkit-gnome is orphaned in Fedora (EPEL9 only). polkit-kde 6.6.4 is in F44 and ships its agent's /etc/xdg/autostart .desktop itself, so the manual symlink wiring is gone too — installing the package is the whole fix. --- lib/session.sh | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/lib/session.sh b/lib/session.sh index 610d4d6..d6f4cde 100644 --- a/lib/session.sh +++ b/lib/session.sh @@ -82,24 +82,14 @@ write_x11_session() { # Common login-time plumbing every Wayland compositor wants on a bare install. install_session_prereqs() { + # polkit-kde ships the agent AND its /etc/xdg/autostart .desktop itself — + # no manual wiring needed. (polkit-gnome is orphaned, EPEL-only: not on F44, + # which is why the first attempt failed with "No match for argument".) install_packages \ xdg-desktop-portal \ polkit \ - polkit-gnome \ + polkit-kde \ pipewire \ pipewire-pulseaudio \ wireplumber - - # A bare compositor (niri, MangoWC, Hyprland) has NO polkit agent: without - # one, anything needing privilege elevation (virt-manager's libvirt access, - # disks, network settings) fails with "no polkit agent available to - # authenticate". Autostart it for every graphical session via the XDG - # autostart dir the session runs. - local autostart="${XDG_AUTOSTART_DIR:-/etc/xdg/autostart}" - local desktop_src="${POLKIT_AGENT_DESKTOP:-/usr/share/applications/polkit-gnome-authentication-agent-1.desktop}" - if [[ -f "$desktop_src" ]] && [[ ! -e "$autostart/$(basename "$desktop_src")" ]]; then - info "Enabling polkit agent for compositor sessions..." - sudo mkdir -p "$autostart" - sudo ln -sf "$desktop_src" "$autostart/$(basename "$desktop_src")" - fi }