diff options
author | Eric Hameleers <alien@slackware.com> | 2020-06-08 21:30:18 +0200 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-06-08 21:30:18 +0200 |
commit | e41c0c99c8d498cc2f3761eb35d4f5389a6d1798 (patch) | |
tree | 3b0294e2874f1a34943eeb9a19682313ba43e6c2 /kde/post-install/powerdevil | |
parent | f6a28c20081bd24619074c99ddfeb1932b09df2f (diff) | |
download | ktown-e41c0c99c8d498cc2f3761eb35d4f5389a6d1798.tar.gz ktown-e41c0c99c8d498cc2f3761eb35d4f5389a6d1798.tar.xz |
Proposed changes for a migration from ConsoleKit2 to elogind
Using elogind will enable a fully working Wayland session for KDE Plasma5.
Diffstat (limited to '')
9 files changed, 64 insertions, 49 deletions
diff --git a/kde/post-install/powerdevil.post-install b/kde/post-install/powerdevil.post-install index 9eb14f2..24a9bc1 100644 --- a/kde/post-install/powerdevil.post-install +++ b/kde/post-install/powerdevil.post-install @@ -3,21 +3,28 @@ mkdir -p $PKG/etc mv $PKG/etc/kde/dbus-1 $PKG/etc/ mkdir -p $PKG/etc/polkit-1/rules.d -mkdir -p $PKG/etc/polkit-1/localauthority/50-local.d -chmod 700 $PKG/etc/polkit-1/localauthority -# Add polkit policy file that brings back suspend/hibernate options: +# Add upower policy allowing users in the 'power' group +# to suspend/hibernate the computer: install -m 0644 -o root \ - $CWD/post-install/powerdevil/10-enable-suspend.rules \ - $PKG/etc/polkit-1/rules.d/10-enable-suspend.rules.new -install -m 0660 -o root \ - $CWD/post-install/powerdevil/30-org.freedesktop.upower.pkla \ - $PKG/etc/polkit-1/localauthority/50-local.d/30-org.freedesktop.upower.pkla.new -# Add polkit policy files that bring back shutdown/reboot: -install -m 0660 -o root \ - $CWD/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla \ - $PKG/etc/polkit-1/localauthority/50-local.d/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla.new -install -m 0660 -o root \ - $CWD/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla \ - $PKG/etc/polkit-1/localauthority/50-local.d/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla.new + $CWD/post-install/powerdevil/10-enable-upower-suspend.rules \ + $PKG/etc/polkit-1/rules.d/10-enable-upower-suspend.rules.new +if [ "SLKELOGIND" = YES ]; then + # Add login1 policy file that allows users in the 'power' group + # to shutdown/reboot the computer: + install -m 0644 -o root \ + $CWD/post-install/powerdevil/10-enable-elogind-power.rules \ + $PKG/etc/polkit-1/rules.d/10-enable-session-poweroff.rules.new + # Add powerdevil policy file that allows users in the 'power' group + # to check for existence of a discrete gpu: + install -m 0644 -o root \ + $CWD/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules \ + $PKG/etc/polkit-1/rules.d/10-enable-powerdevil-discrete-gpu.rules.new +else + # Add ConsoleKit2 policy file that allows users in the 'power' group + # to shutdown/reboot the computer: + install -m 0644 -o root \ + $CWD/post-install/powerdevil/10-enable-ck2-power.rules \ + $PKG/etc/polkit-1/rules.d/10-enable-session-poweroff.rules.new +fi diff --git a/kde/post-install/powerdevil/10-enable-ck2-poweroff.rules b/kde/post-install/powerdevil/10-enable-ck2-poweroff.rules new file mode 100644 index 0000000..2c68027 --- /dev/null +++ b/kde/post-install/powerdevil/10-enable-ck2-poweroff.rules @@ -0,0 +1,12 @@ +polkit.addRule( + function(action, subject) { + if ( (action.id == "org.freedesktop.consolekit.reboot" || + action.id == "org.freedesktop.consolekit.reboot-multiple-sessions" || + action.id == "org.freedesktop.consolekit.power-off" || + action.id == "org.freedesktop.consolekit.power-off-multiple-sessions") + && subject.isInGroup("power") ) { + return polkit.Result.YES; + } + } +); + diff --git a/kde/post-install/powerdevil/10-enable-elogind-poweroff.rules b/kde/post-install/powerdevil/10-enable-elogind-poweroff.rules new file mode 100644 index 0000000..db49920 --- /dev/null +++ b/kde/post-install/powerdevil/10-enable-elogind-poweroff.rules @@ -0,0 +1,12 @@ +polkit.addRule( + function(action, subject) { + if ( (action.id == "org.freedesktop.login1.reboot" || + action.id == "org.freedesktop.login1.reboot-multiple-sessions" || + action.id == "org.freedesktop.login1.power-off" || + action.id == "org.freedesktop.login1.power-off-multiple-sessions") + && subject.isInGroup("power") ) { + return polkit.Result.YES; + } + } +); + diff --git a/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules b/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules new file mode 100644 index 0000000..f001848 --- /dev/null +++ b/kde/post-install/powerdevil/10-enable-powerdevil-discrete-gpu.rules @@ -0,0 +1,9 @@ +polkit.addRule( + function(action, subject) { + if ( action.id == "org.kde.powerdevil.discretegpuhelper.hasdualgpu" && + subject.isInGroup("power") ) { + return polkit.Result.YES; + } + } +); + diff --git a/kde/post-install/powerdevil/10-enable-suspend.rules b/kde/post-install/powerdevil/10-enable-suspend.rules deleted file mode 100644 index 5ef58ac..0000000 --- a/kde/post-install/powerdevil/10-enable-suspend.rules +++ /dev/null @@ -1,10 +0,0 @@ -polkit.addRule( - function(action, subject) { - if ((action.id == "org.freedesktop.upower.suspend" || - action.id == "org.freedesktop.upower.hibernate") && - subject.isInGroup("power")) - { - return polkit.Result.YES; - } - } -); diff --git a/kde/post-install/powerdevil/10-enable-upower-suspend.rules b/kde/post-install/powerdevil/10-enable-upower-suspend.rules new file mode 100644 index 0000000..4bccfb0 --- /dev/null +++ b/kde/post-install/powerdevil/10-enable-upower-suspend.rules @@ -0,0 +1,9 @@ +polkit.addRule( + function(action, subject) { + if ( (action.id == "org.freedesktop.upower.suspend" || + action.id == "org.freedesktop.upower.hibernate") + && subject.isInGroup("power") ) { + return polkit.Result.YES; + } + } +); diff --git a/kde/post-install/powerdevil/30-org.freedesktop.upower.pkla b/kde/post-install/powerdevil/30-org.freedesktop.upower.pkla deleted file mode 100644 index b3b5dd2..0000000 --- a/kde/post-install/powerdevil/30-org.freedesktop.upower.pkla +++ /dev/null @@ -1,9 +0,0 @@ -# /etc/polkit-1/localauthority/50-local.d/30-org.freedesktop.upower.pkla -# Allow all power users to suspend/hibernate the computer: -[Power Users] -Identity=unix-group:power -Action=org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate -ResultAny=yes -ResultInactive=no -ResultActive=yes - diff --git a/kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla b/kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla deleted file mode 100644 index 1fae73a..0000000 --- a/kde/post-install/powerdevil/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla +++ /dev/null @@ -1,8 +0,0 @@ -# /etc/polkit-1/localauthority/50-local.d/40-org.freedesktop.consolekit.system.stop-multiple-users.pkla -[Allow power users to shutdown] -Identity=unix-group:power -Action=org.freedesktop.consolekit.system.stop-multiple-users;org.freedesktop.consolekit.system.stop -ResultAny=yes -ResultInactive=no -ResultActive=yes - diff --git a/kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla b/kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla deleted file mode 100644 index db17c63..0000000 --- a/kde/post-install/powerdevil/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla +++ /dev/null @@ -1,7 +0,0 @@ -# /etc/polkit-1/localauthority/50-local.d/41-org.freedesktop.consolekit.system.restart-multiple-users.pkla -[Allow power users to restart] -Identity=unix-group:power -Action=org.freedesktop.consolekit.system.restart-multiple-users;org.freedesktop.consolekit.system.restart -ResultAny=yes -ResultInactive=no -ResultActive=yes |