Shift from services.msc to Debian systemd without losing the familiar
overview.
ServiceShift is a focused KDE interface for inspecting and controlling existing systemd services. It is built for Windows administrators moving their daily work to Debian: search the service list, inspect state and startup behavior, then use familiar Start, Stop, Restart, Enable, and Disable actions.
ServiceShift is a thin wrapper around Debian's systemctl. It does not replace
systemd, install a service manager, create service files, or maintain its own
service database.
Current release: 0.1.1
| 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 |
- Shows system or per-user services, including inactive installed units.
- Filters by service name, description, and state.
- Shows the ordinary
systemctl statuscommand for the selected service. - Uses allowlisted
systemctlarguments without invoking a shell. - Confirms Stop, Restart, and Disable because they can interrupt workloads or change startup behavior.
- Lets KDE and PolicyKit handle administrator authentication when systemd requires it. ServiceShift never asks for or handles an administrator password.
- Saves no service inventory, search history, selected unit, or action history.
The current release intentionally manages existing services only. Editing or creating unit files belongs in a later design that can explain ownership, drop-ins, daemon reloads, and rollback honestly.
sudo apt install git python3-pyqt6 systemd
git clone https://github.com/MadsIT-com/service-shift.git
cd service-shift
./install.shThe application appears as ServiceShift in Plasma's application menu. To remove the wrapper:
./uninstall.shUninstalling ServiceShift does not change any service or systemd setting.
ServiceShift uses Debian's systemd package instead of bundling a service engine.
Normal apt upgrades therefore deliver systemd security and bug fixes through
the same trusted path as the rest of the operating system.
python3 -m unittest discover -s tests -v
python3 -m py_compile service-shift
shellcheck install.sh uninstall.shService names, states, and descriptions are not secrets: any local user with the relevant systemd access can query them independently. ServiceShift avoids creating an additional persistent inventory, constrains actions to selected units returned by systemd, and relies on systemd plus PolicyKit for authorization. See SECURITY.md for the complete boundary.
MIT. See LICENSE.