Skip to content

Implementing the System Cron functionality using KAuth

Corbin Schwimmbeck requested to merge cswim/kcron:master into master

The main widget now remains active when switching to the System Cron option and you are able to create and modify tasks, and save your changes. Saving the changes requires a root password, promtped by polkit through KAuth. That process involves several helper files, which are installed to various root directories. If these installations cannot be performed automatically while testing, follow the instructions laid out in: kcron/src/helper/CMakeLists.txt

This implementation allows you to also perform crontasks on other users' behalf, when using the System Cron. This makes the ctGlobalCron redundant, which previously allowed for the same functionality, but only when the entire process was running as root. My implementation makes that unnecessary, thus I have removed that class and its related GUI elements (which are normally hidden).

Please let me know if issues remain, as I have only been able to run it using the workaround mentioned above, since I couldn't install it as root. I have verified that it successfully assigned root crontasks, being able touch files in /bin/ as well as observing its behavior as recorded in the systemctl status (with cronie).

Merge request reports