RClone Mount Manager - Quick Start Guide
๐ 5-Minute Quick Start
What You Now Have
- Bash Mount Manager - Manual mount/unmount via CLI
- Rust System Tray Applet - Visual status monitoring
- Systemd Services - Automated mount execution
- Complete Documentation - Full reference guides
Quick Commands
Mount a Drive (Bash Script)
rclone-mount gdrive_pilakkat
Check All Mount Status (Bash Script)
rclone-status
Unmount a Drive (Bash Script)
rclone-unmount gdrive_goofybits
Start System Tray Applet (Rust App)
rclone-mount-tray
Enable Auto-Start (Systemd)
systemctl --user enable rclone-mount-tray.service
systemctl --user start rclone-mount-tray.service
View Applet Logs
journalctl --user -u rclone-mount-tray.service -f
๐ Comparison: Bash vs. Rust
| Task | Bash Script | Rust Applet |
|---|---|---|
| Mount drive | rclone-mount gdrive_pilakkat |
Via menu (when implemented) |
| Check status | rclone-status |
Always visible in tray |
| Unmount drive | rclone-unmount gdrive_goofybits |
Via menu (when implemented) |
| Visual feedback | Command output | Tray icon indicator |
| Auto-updates | Manual refresh | Every 5 seconds |
| Startup | Per-session | Systemd service |
๐ฏ Usage Scenarios
Scenario 1: Quick Access (Bash Script)
# Need to access a specific drive right now?
rclone-mount gdrive_pilakkat
# Now you can: ls ~/gdrive_pilakkat/
rclone-unmount gdrive_pilakkat # Done using it
Scenario 2: Monitor Status (Rust Applet)
# Run the applet
rclone-mount-tray &
# Now you can see in your system tray:
# โ All mounted
# โ Partial mount
# โ None mounted
Scenario 3: Scripted Operations
#!/bin/bash
# Script that needs Google Drive access
rclone-mount gdrive_pilakkat
# Do work with mounted drive
cp ~/gdrive_pilakkat/important.pdf /tmp/
rclone-unmount gdrive_pilakkat
๐ Where Everything Is
| Component | Location | Type |
|---|---|---|
| Bash Manager | ~/.local/bin/rclone-mount-manager.sh |
Bash script |
| Rust Applet | ~/.local/bin/rclone-mount-tray |
Binary |
| Systemd Services | ~/.config/systemd/user/rclone-gdrive-*.service |
Systemd |
| Source Code | ~/workspace/rclone-mount-tray/ |
Rust project |
| Documentation | See below | Various |
๐ Documentation Files
- RCLONE_ONDEMAND_GUIDE.md - On-demand mounting overview
- README.md (bash) - Bash script comprehensive guide
- README.md (rust) - Rust applet user guide
- RUST_LEARNING_GUIDE.md - Rust development guide
- PROJECT_SUMMARY.md - Complete project overview
- This file - Quick start reference
๐ How It All Works Together
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Your Computer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ When you run: rclone-mount pilakkat โ
โ โ โ
โ [Bash Script] โ
โ โ โ
โ Calls: systemctl --user start ... โ
โ โ โ
โ [Systemd Service] โ
โ โโ Executes rclone command โ
โ โโ Mounts at ~/gdrive_pilakkat โ
โ โโ Sets up FUSE filesystem โ
โ โ โ
โ [Rust Applet - running in background]
โ โโ Detects change within 5 sec โ
โ โโ Reads /proc/mounts โ
โ โโ Updates system tray icon โ
โ โโ Shows new mount status โ
โ โ
โ Result: Files accessible! โ
โ ~/gdrive_pilakkat/ โ Now mounted โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฎ Interactive Example Walkthrough
Step 1: Check Current Status
$ rclone-status
RClone Mount Status:
โ gdrive_pilakkat
Location: /home/user/gdrive_pilakkat (not mounted)
โ gdrive_goofybits
Location: /home/user/gdrive_goofybits (not mounted)
Step 2: Start the Applet
$ rclone-mount-tray &
# [Rust applet starts in background]
# Tray icon appears showing: โ (unmounted)
Step 3: Mount a Drive
$ rclone-mount gdrive_pilakkat
Mounting gdrive_pilakkat to /home/user/gdrive_pilakkat...
โ Successfully mounted: gdrive_pilakkat
Step 4: Check Status (Multiple Ways)
# Via bash script
$ rclone-status
โ gdrive_pilakkat - 4.8G
# Check directly
$ ls ~/gdrive_pilakkat/
folder1/ folder2/ document.pdf
# Rust applet automatically updated
# Tray icon now shows: โ (partial mount)
Step 5: Unmount When Done
$ rclone-unmount gdrive_pilakkat
Unmounting gdrive_pilakkat...
โ Successfully unmounted: gdrive_pilakkat
# Tray icon updates automatically: โ
๐งช Testing Your Setup
Test 1: Verify Bash Script Works
rclone-mount gdrive_pilakkat
# Should see: โ Successfully mounted
mountpoint -q ~/gdrive_pilakkat && echo "Confirmed mounted"
rclone-unmount gdrive_pilakkat
# Should see: โ Successfully unmounted
Test 2: Verify Rust Applet Runs
rclone-mount-tray &
sleep 2
ps aux | grep rclone-mount-tray
# Should show running process
kill %1
Test 3: Verify Systemd Service
systemctl --user status rclone-gdrive-gdrive_pilakkat.service
# Should show: enabled, running (if auto-mounted)
systemctl --user start rclone-gdrive-gdrive_pilakkat.service
mountpoint ~/gdrive_pilakkat && echo "OK"
systemctl --user stop rclone-gdrive-gdrive_pilakkat.service
โก Pro Tips
Tip 1: Mount All Drives at Once
rclone-mount-all # Bash script
Tip 2: Unmount Everything
rclone-unmount-all # Bash script
Tip 3: Watch Applet Logs in Real-Time
journalctl --user -u rclone-mount-tray.service -f
Tip 4: Find a Mount Point
rclone-status | grep gdrive
# Shows all configured mounts
Tip 5: Rebuild Rust Applet
cd ~/workspace/rclone-mount-tray
cargo build --release
cp target/release/rclone-mount-tray ~/.local/bin/
systemctl --user restart rclone-mount-tray.service
๐ Troubleshooting
Issue: Bash Functions Not Available
# Solution: Source the configuration
source ~/.local/bin/rclone-mount-manager.sh
rclone-help
Issue: Applet Not Starting
# Check if running
pgrep -f rclone-mount-tray
# Try running manually
~/.local/bin/rclone-mount-tray
# Check systemd status
systemctl --user status rclone-mount-tray.service
# View recent logs
journalctl --user -u rclone-mount-tray.service -n 20
Issue: Mount Fails
# Check if service exists
systemctl --user list-units | grep rclone
# Try starting service directly
systemctl --user start rclone-gdrive-gdrive_pilakkat.service
# Check systemd service logs
journalctl --user -u rclone-gdrive-gdrive_pilakkat.service -n 10
Issue: Applet Not Updating Status
# Restart the applet
systemctl --user restart rclone-mount-tray.service
# Or kill and restart
pkill -f rclone-mount-tray
sleep 1
rclone-mount-tray &
๐ Getting Help
For Bash Script Issues
See: ~/.local/bin/rclone-mount-manager.sh --help
Or: ~/workspace/rclone/RCLONE_ONDEMAND_GUIDE.md
For Rust Applet Issues
See: ~/workspace/rclone-mount-tray/README.md
Or: ~/workspace/rclone-mount-tray/docs/RUST_LEARNING_GUIDE.md
For System Issues
# Check rclone configuration
rclone listremotes
# Check systemd user services
systemctl --user list-units
# Check available mounts
mount | grep rclone
# Check /proc/mounts
cat /proc/mounts | grep rclone
๐ Next Steps
- Learn the Bash Script - Read
RCLONE_ONDEMAND_GUIDE.md - Understand Rust Applet - Read
docs/RUST_LEARNING_GUIDE.md - Customize Configuration - Edit
~/.config/rclone/rclone.conf - Explore Source Code - Check
~/workspace/rclone-mount-tray/src/ - Extend Features - Consider future enhancements
๐ฏ Common Workflows
Workflow A: Occasional Access
# Only mount when needed
rclone-mount gdrive_pilakkat
# Use the drive...
rclone-unmount gdrive_pilakkat
Workflow B: Work Session
# Mount all drives at start of session
rclone-mount-all
# Run Rust applet to monitor
rclone-mount-tray &
# Work with mounted drives
# ...
# Unmount all when done
rclone-unmount-all
Workflow C: Automated Process
#!/bin/bash
# In a cron job or script
rclone-mount gdrive_pilakkat
# Do automated work
find ~/gdrive_pilakkat -name "*.pdf" -exec process {} \;
rclone-unmount gdrive_pilakkat
Ready to use! Your rclone on-demand mount system is fully operational.
Start with: rclone-status (Bash) or rclone-mount-tray (Rust)