Shift from “Map network drive” to Debian without losing the familiar first step.
MapShift is a profile-free KDE launcher for SMB shares, built for Windows administrators moving their daily work to Debian. Enter a familiar network path, let KDE authenticate, and receive a normal local path that desktop applications can use.
Current release: 0.4.1
MapShift uses Debian's KIO SMB worker and KIO-FUSE packages. It does not bundle an SMB implementation, collect passwords, or create its own connection-profile database.
| 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 |
\\server\sharesmb://server/shareserver/share- Optional subfolders and SMB ports
- Optional
username,DOMAIN\username, orusername@domain
Passwords are requested by KDE's normal authentication dialog. MapShift never receives them. The mapped local path can be opened in Dolphin or copied for use in other applications. Dolphin opens only when the user presses the explicit button in the result window; mapping never launches it automatically. MapShift then raises the Dolphin window containing that mapped location.
When the optional private /maps directory is configured, MapShift creates a
keyboard-friendly path based on the share name, such as /maps/team. If that
name is already used by a different mapping, MapShift selects team-2,
team-3, and so on. The /maps shortcut points to a private session alias; it
does not contain the server name.
- No MapShift profiles, recent-share list, saved username, or saved password.
- The share URL is sent over the KDE session bus rather than placed in process arguments.
- Dolphin is opened through its D-Bus interface rather than with a destination in command-line arguments.
- A mapping remains available through KIO-FUSE for the current KDE session.
- MapShift displays and opens
/maps/sharewhen/mapsis securely configured for the current user; otherwise it falls back to the private runtime alias. /maps/sharepoints to a session alias, which in turn points to KIO-FUSE's live path containing the server name. Same-user processes can follow that chain, and applications may retain resolved paths in recent-document data.- KDE controls its own authentication cache and optional KWallet storage.
See SECURITY.md for the complete boundary.
git clone https://github.com/MadsIT-com/map-shift.git
cd map-shift
sudo apt install kio-fuse kio-extras python3-dbus python3-pyqt6 dolphin
./install.shTo enable the optional short /maps/share locations, explicitly create the
private directory once for your desktop user:
sudo install -d -m 0700 -o "$USER" -g "$(id -gn)" /mapsMapShift and install.sh never run this privileged command for you. Without
the optional directory, mappings continue to work under
$XDG_RUNTIME_DIR/mapshift.
MapShift then appears in Plasma's application menu. To remove the launcher:
./uninstall.shUninstalling does not terminate KIO-FUSE, disrupt mappings already used by
other KDE applications, or remove the optional /maps directory.
python3 -m unittest discover -s tests -v
python3 -m py_compile map-shift
shellcheck install.sh uninstall.shMIT. See LICENSE.