| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Shift from Task Scheduler to Debian systemd timers without beginning at a blank terminal.
TaskShift is a focused KDE interface for inspecting and controlling existing systemd timers. It gives Windows administrators a familiar scheduled-task overview while leaving scheduling, execution, and authorization with Debian's native systemd packages.
Current release: 0.2.0
| Tool | Familiar starting point | Debian engine |
|---|---|---|
| RDPShift | An mstsc-style “enter a computer and connect” workflow | FreeRDP |
| SSHShift | Windows key → PuTTY → Enter → host → Enter, made native to KDE | OpenSSH + Konsole |
| MapShift | A familiar “map network drive” path into KDE applications | KDE KIO SMB + KIO-FUSE |
| ServiceShift | A services.msc-style overview with familiar service controls | systemd + PolicyKit |
| TaskShift | A Task Scheduler-style overview with safe schedule editing | systemd timers + PolicyKit |
TaskShift changes when an existing timer runs, but deliberately does not create or delete timer and service units. Creating a complete task still needs a design that explains the two-unit model, file ownership, command execution, validation, and rollback before it writes anything.
TaskShift never edits the original timer beneath /usr/lib/systemd/system or an administrator's unrelated drop-in. It uses systemd's native systemctl edit --stdin --drop-in=50-task-shift.conf workflow.
For system timers, Debian's pkexec package asks PolicyKit to show KDE's normal administrator-authentication dialog. User timers are edited without elevation. Generated drop-in content resets the timer's prior trigger expressions and adds the selected replacement schedule; systemd reloads its configuration and the active timer is restarted so its next run updates immediately.
Existing RandomizedDelaySec and AccuracySec settings remain in effect by default. This is important for distribution timers that deliberately spread network or disk work over a time window. Selecting Run as close as possible explicitly overrides those values with zero randomized delay and one-second accuracy. Calendar schedules can also choose whether one missed occurrence is run after the machine starts again.
sudo apt install git pkexec python3-pyqt6 systemd
git clone https://github.com/MadsIT-com/task-shift.git
cd task-shift
./install.shThe application appears as TaskShift in Plasma's application menu. To remove the wrapper:
./uninstall.shUninstalling TaskShift does not change timers, services, or systemd settings. Any active TaskShift schedule overrides therefore remain effective. Use Restore original before uninstalling when an override is no longer wanted.
TaskShift uses Debian's systemd package rather than bundling a scheduling engine. Normal apt upgrades deliver systemd security and bug fixes through the same trusted path as the operating system.
python3 -m unittest discover -s tests -v
python3 -m py_compile task-shift
shellcheck install.sh uninstall.shTimer names and schedules are machine configuration rather than credentials, but TaskShift still avoids creating another inventory or action history. An intentional schedule override is persistent system configuration. Actions are limited to units returned by systemd and authorization remains with systemd and PolicyKit. “Run task now” starts the activated service immediately and can therefore perform updates, cleanup, or other work. See SECURITY.md for the complete boundary.
MIT. See LICENSE.
| Back | FazBrowse Home | New Git URL |