Automatically organizes and provides seamless access to your Android device storage via GSConnect. Creates clean bookmarks and symlinks for smooth file browsing.
- 🔄 Auto Mount/Unmount – Detects device connections and handles setup/cleanup automatically.
- 📁 Clean Organization – Creates
~/Device-Name/with organized storage folders and symlinks. - 🔖 File Manager Integration – Creates direct SFTP bookmarks for each detected storage (Internal, External, USB-OTG) and local symlinks for easy access.
- 💻 Terminal Access – Direct symlinks to internal storage, SD cards, and USB OTG.
- 📱 Multi-Storage Support – Handles internal storage, SD cards, and USB OTG devices.
- ⚙️ Configurable – Customize via config file (polling, paths, etc.).
- 🛡️ Safe & Reliable – No GSConnect modifications; automatic error recovery.
~/Device-Name/
├── Internal/ # Internal storage
├── SDCard/ # SD card (if present)
└── USB-OTG/ # USB OTG device (if present)
File Manager Experience:
- Click “Device-Name” bookmark → opens device folder.
- Browse
Internal/,SDCard/,USB-OTG/as needed.
Terminal Access:
cd ~/.Device-Name/git clone https://github.com/vjaykrsna/gsconnect-mount-manager.git
cd gsconnect-mount-manager
chmod +x install.sh
./install.shNote: Do NOT run as
sudoor root; install is per-user.
- GSConnect (GNOME Shell extension for KDE Connect)
- GNOME/GTK environment (for bookmarks)
- systemd (user service management)
- Android device with KDE Connect app installed
On most Linux distributions you should have these tools available; if not, install them from your package manager:
- gdbus (part of glib)
- gvfs / gio (GVFS backends for SFTP access)
- systemd (user services) and journalctl
- grep, sed, realpath, readlink
Example (Debian/Ubuntu):
sudo apt install git dbus-user-session libglib2.0-bin gvfs-bin coreutils grep sedNote: package names vary by distro (Fedora/Arch/Manjaro use different package names). Ensure gdbus and gvfs are installed so device discovery and mounts work reliably.
Edit ~/.config/gmm/gmm.conf and restart the service:
systemctl --user restart gmm.servicePOLL_INTERVAL– Check interval for device connections (seconds). Default: 3MOUNT_STRUCTURE_DIR– Where device folders are created. Default:$HOMELOG_LEVEL– Logging verbosity:DEBUG,INFO,WARN,ERROR. Default:INFO
INTERNAL_STORAGE_PATHS– Comma-separated list of internal storage paths on your Android device (e.g.,/storage/emulated/0). Default:/storage/emulated/0EXTERNAL_STORAGE_PATHS– Comma-separated list of external storage (SD card) paths. Default: (empty)USB_STORAGE_PATHS– Comma-separated list of USB OTG storage paths. Default: (empty)
ENABLE_BOOKMARKS– Enable/disable GTK bookmarks. Default:true
systemctl --user status gmm
journalctl --user -u gmm -f
systemctl --user stop gmm
systemctl --user start gmmchmod +x uninstall.sh
./uninstall.shStops the service, removes files, and cleans bookmarks.
- Device not detected: Check GSConnect is installed and paired; enable file sharing.
- Bookmarks missing or incorrect: Check
~/.config/gtk-3.0/bookmarksdirectly. Ensure thegmm.serviceis running and your device is connected. - Service issues: Check logs with
journalctl --user -u gmm -n 20and try restarting the service. - Storage not detected: Verify your
INTERNAL_STORAGE_PATHS,EXTERNAL_STORAGE_PATHS, andUSB_STORAGE_PATHSin~/.config/gmm/gmm.confare correct and the paths exist on your device.
If you encounter issues, use the debug.sh script to collect comprehensive system and application information.
# If you have the repository cloned:
./debug.sh
# Or, download and run directly:
curl -fsSL https://raw.githubusercontent.com/vjaykrsna/gsconnect-mount-manager/main/debug.sh -o debug.sh
chmod +x debug.sh
./debug.shThe script will:
- Collect system information, GSConnect/KDE Connect status, and GMM configuration.
- Temporarily enable
DEBUGlogging to capture detailed runtime logs. - Upload the collected
gmm-debug.logto a paste service and provide a shareable link. - Restore your original GMM configuration.
Always share the link provided by debug.sh when reporting issues.
- Fork the repository
- Create a feature branch
- Make changes and test thoroughly
- Submit a pull request
MIT License – see LICENSE file.
