Overview
Z-RClone-Mount-Applete is a complete rclone mount management system providing both lightweight system tray integration and a modern GTK4-based GUI application. Written entirely in Rust, it seamlessly integrates with existing rclone on-demand mounting systems while providing intuitive desktop control and monitoring.
Links
Problem
Developers and power users often manage multiple cloud storage mounts using rclone:
- Google Drive, OneDrive, Dropbox, S3, B2, Box.com and other cloud storage providers
- On-demand mounting via systemd user services for resource efficiency
- Manual status checking requires terminal commands and knowledge of systemd
- No unified interface to control multiple mounts across different cloud providers
- Lack of visual feedback on mount status and quick access to mount controls
Managing mounts becomes tedious without proper integration with desktop environments.
Solution
A modern Rust-based solution providing:
- Lightweight System Tray Applet - Quick status monitoring and one-click controls
- Modern GTK4 GUI - Full-featured configuration and management interface
- Visual Status Indicators - Color-coded feedback (green/orange/red)
- Systemd Integration - Seamless mount/unmount operations
- Configuration Management - Easy setup and editing of remote configurations
- OAuth Support - Browser-based authentication for cloud services
Key Features
✅ System Tray Integration - Display rclone mount status in the system tray
✅ Visual Status Indicators - Color-coded icons (green/orange/red)
✅ One-Click Mount Control - Mount/unmount directly from tray menu
✅ GTK4 GUI Application - Modern, responsive interface
✅ OAuth Authentication - Browser-based auth with automatic browser launch
✅ Systemd User Services - Seamless integration with systemd
✅ Multi-Cloud Support - Google Drive, OneDrive, Dropbox, S3, B2, Box.com, etc.
✅ Auto-Refresh - Status updates every 5 seconds
✅ Minimal Resource Usage - Written in Rust with minimal dependencies
Architecture
Components
System Tray Applet (rclone-mount-tray)
- Lightweight status monitoring in system tray
- Quick context menu for mount/unmount operations
- Color-coded status indicator
- Auto-refresh every 5 seconds
- Minimal resource usage (~20-30MB)
Configuration Manager (rclone-config-manager)
- Modern GTK4-based GUI
- Remote configuration management (add, edit, remove)
- OAuth browser-based authentication flow
- Mount configuration and control
- Visual indicator for systemd service status
Subsystems
- Mount Manager - RClone mount configuration and status checking
- Systemd Manager - User service communication and control
- Tray UI - System tray display and menu management
- GTK4 Interface - Modern GUI components for configuration
Supported Cloud Services
| Service |
Features |
| Google Drive |
OAuth auth, shared drives, folder access |
| OneDrive |
OAuth auth, Business/Personal, folder access |
| Dropbox |
OAuth auth, all account types |
| AWS S3 |
AccessKey auth, bucket mounting |
| Backblaze B2 |
AccountID auth, bucket mounting |
| Box.com |
OAuth auth, folder access |
| And many more… |
See rclone documentation |
Use Cases
Personal Developer with Cloud Files
1
2
3
4
5
6
7
8
| # Configure Google Drive mount
rclone-config-manager
# Add remote: Google Drive (OAuth auth)
# Create mount: ~/gdrive
# System tray shows status
# One-click mount/unmount from tray
|
Team with Shared Cloud Storage
1
2
3
4
5
6
| # Multiple team members manage shared OneDrive
# Each has personal Dropbox mount
# All statuses visible in one tray
# Systemd services auto-start on login
# Status monitoring without terminal commands
|
DevOps/Infrastructure Engineer
1
2
3
4
5
6
| # Manage multiple S3 buckets from different AWS accounts
# Monitor backup mounts to B2
# Quick access to archive storage via tray
# No need to remember mount commands
# Visual status prevents accidental operations
|
Technical Stack
- Language: Rust 1.94.1+
- UI Framework: GTK4
- Build System: Cargo
- CI/CD: GitHub Actions
- Distribution: Debian packages (AMD64, ARM64), precompiled binaries
- System Integration: Systemd, D-Bus
- Optional Dependencies: libappindicator3 (for better tray integration)
System Requirements
- OS: Linux (X11 or Wayland)
- Rust: 1.94.1+ (for building from source)
- rclone: Installed and configured
- systemd: User services enabled
- Desktop Environment: KDE Plasma, GNOME, XFCE (with tray), or compatible
Statistics
- Lines of Code: ~3,000 (async, modular design)
- Supported Platforms: Linux x86_64, ARM64
- Memory Usage: ~20-30MB at rest
- CPU Usage: <1% idle
- Startup Time: <500ms
Installation
Debian Package (Recommended)
1
2
3
4
5
6
7
| # AMD64 Systems
wget https://github.com/pilakkat1964/z-rclone-mount-applete/releases/download/latest/rclone-mount-applete_*_amd64.deb
sudo dpkg -i rclone-mount-applete_*_amd64.deb
# ARM64 Systems (Raspberry Pi, Apple Silicon)
wget https://github.com/pilakkat1964/z-rclone-mount-applete/releases/download/latest/rclone-mount-applete_*_arm64.deb
sudo dpkg -i rclone-mount-applete_*_arm64.deb
|
From Source
1
2
3
4
5
| git clone https://github.com/pilakkat1964/z-rclone-mount-applete
cd z-rclone-mount-applete
cargo build --release
sudo cp target/release/rclone-mount-tray /usr/local/bin/
sudo cp target/release/rclone-config-manager /usr/local/bin/
|
Getting Started
Basic Setup
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # 1. Launch the configuration manager
rclone-config-manager
# 2. Add a new remote (e.g., Google Drive)
# - Click "Add Remote"
# - Select service (Google Drive)
# - Browser opens for OAuth authentication
# - Follow authentication flow
# 3. Create a mount
# - Mounts tab → Add Mount
# - Select remote and mount point
# - Create
# 4. Start the tray applet
rclone-mount-tray
# 5. Auto-start on login (via systemd)
systemctl --user enable rclone-mount-tray.service
systemctl --user start rclone-mount-tray.service
|
System Tray Usage
1
2
3
4
5
6
7
8
9
| # Check status
~/.local/bin/rclone-mount-tray
# View logs
journalctl --user -u rclone-mount-tray.service -f
# Manual mount/unmount (without tray)
systemctl --user start rclone-gdrive-gdrive_account.service
systemctl --user stop rclone-gdrive-gdrive_account.service
|
Configuration
Mount Configuration File
Mounts are configured in:
1
| ~/.config/rclone-mount-tray/mounts.toml
|
Example:
1
2
3
4
5
6
7
8
9
10
11
| [[mounts]]
remote = "gdrive_personal"
mount_point = "/home/user/gdrive"
[[mounts]]
remote = "dropbox_work"
mount_point = "/home/user/dropbox"
[[mounts]]
remote = "s3_backup"
mount_point = "/home/user/s3-backup"
|
rclone Configuration
Remote configurations stored in:
1
| ~/.config/rclone/rclone.conf
|
Managed via rclone-config-manager GUI with OAuth support.
Documentation
Security Considerations
- Credentials managed by rclone, not this application
- OAuth tokens stored securely in
~/.config/rclone/rclone.conf
- Local systemd service communication only
- No network access except to configured rclone mounts
Troubleshooting
Applet doesn’t appear in system tray
1
2
3
4
5
6
7
8
| # Check if running
pgrep -f rclone-mount-tray
# Check logs
journalctl --user -u rclone-mount-tray.service -n 20
# Manual test
rclone-mount-tray
|
Status doesn’t update
1
2
3
4
5
| # Verify systemd services
systemctl --user list-units | grep rclone
# Check mount status
/proc/mounts | grep rclone
|
Mount/Unmount fails
1
2
3
4
5
| # Check service status
systemctl --user status rclone-gdrive-personal.service
# View service logs
journalctl --user -u rclone-gdrive-personal.service -f
|
Status: ✅ Production Ready (v0.2.0)
License: MIT
Last Updated: April 2026