kenryo
(Kenric Young)
June 5, 2026, 2:22pm
1
I’ve been enjoying headless remote desktop using some VM’s GNOME’s Remote Login feature. My biggest gripe is frequent polkit popups asking for permissions.
I’m pretty sure its caused by the gnome-software systemd user service.
But why does the RDP session not have permission to check for updates compared to logging in physically?
Like I’ll get a pop like this immediately upon logging in and then repeatedly every once in a while.
RDP client is GNOME Connections
kenryo
(Kenric Young)
June 24, 2026, 5:05am
4
Follow up
I edited the default polkit rules, and put them into /etc/polkit-1/rules.d.
I’m sure there was a good reason why they specified subject.local, however I removed that specific seat property was causing the popups over RDP.
## Polkit rules to avoid popups using GNOME Remote Login
sudo tee /etc/polkit-1/rules.d/org.fedoraproject.thirdparty.rules << EOF
polkit.addRule(function(action, subject) {
if (action.id == "org.fedoraproject.thirdparty.opt-out" &&
subject.active == true &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
return polkit.Result.NOT_HANDLED;
});
EOF
sudo tee /etc/polkit-1/rules.d/org.freedesktop.Flatpak.rules << EOF
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.Flatpak.app-install" ||
action.id == "org.freedesktop.Flatpak.runtime-install"||
action.id == "org.freedesktop.Flatpak.app-uninstall" ||
action.id == "org.freedesktop.Flatpak.runtime-uninstall" ||
action.id == "org.freedesktop.Flatpak.metadata-update" ||
action.id == "org.freedesktop.Flatpak.appstream-update" ||
action.id == "org.freedesktop.Flatpak.modify-repo") &&
subject.active == true &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
return polkit.Result.NOT_HANDLED;
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.Flatpak.override-parental-controls") {
return polkit.Result.AUTH_ADMIN;
}
return polkit.Result.NOT_HANDLED;
});
EOF
sudo tee /etc/polkit-1/rules.d/org.freedesktop.fwupd.rules << EOF
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.fwupd.update-internal" ||
action.id == "org.freedesktop.fwupd.refresh-remote") &&
subject.active == true &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
EOF
sudo tee /etc/polkit-1/rules.d/org.projectatomic.rpmostree1.rules << EOF
polkit.addRule(function(action, subject) {
if ((action.id == "org.projectatomic.rpmostree1.repo-refresh" ||
action.id == "org.projectatomic.rpmostree1.upgrade") &&
subject.active == true ) {
return polkit.Result.YES;
}
if ((action.id == "org.projectatomic.rpmostree1.install-uninstall-packages" ||
action.id == "org.projectatomic.rpmostree1.rollback" ||
action.id == "org.projectatomic.rpmostree1.reload-daemon" ||
action.id == "org.projectatomic.rpmostree1.cancel" ||
action.id == "org.projectatomic.rpmostree1.cleanup" ||
action.id == "org.projectatomic.rpmostree1.client-management") &&
subject.active == true &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
EOF