[gui] Fix reset controller button, now needs privileges

Two methods:

Polkit

Create: /etc/polkit-1/rules.d/50-pi.rules

Define a rule the file:

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.systemd1.manage-units" &&
        action.lookup("unit") == "piper.service" &&
        subject.user == "pi") {
        return polkit.Result.YES;
    }
});

Reload the daemon:

sudo systemctl daemon-reload

Test:

systemctl restart example.service

Notes

Polkit .rules files belong in:

/etc/polkit-1/rules.d/ for custom rules (system-wide, takes precedence).
/usr/share/polkit-1/rules.d/ for default rules (shipped with the OS or software).

Rules in /etc override those in /usr/share.

Polkit (PolicyKit) policies use JavaScript-like syntax for writing rules in .rules files.

Ensure Polkit is Running: Polkit is usually already running as part of system services.

systemctl status polkit
Edited by naikymen