Intelligent System Cleaner for Linux
Echo Cleaner is a modern and efficient system cleaner for Linux, featuring an elegant and intuitive interface inspired by Apple's design philosophy. Designed for both regular users and developers, Echo Cleaner helps you reclaim disk space by intelligently identifying and removing:
- 💾 System caches and temporary files
- 🐳 Docker artifacts (images, containers, volumes)
- ☸️ Kubernetes local cluster caches
- 📦 Development dependencies (npm, pip, maven, gradle, cargo, go)
- 🗑️ Trash and old logs
- 📚 Package manager caches
- 🔍 Intelligent Analysis: Automatic scan that identifies reclaimable space by category
- 🎯 Selective Cleaning: Choose exactly what you want to clean
- 👁️ Detailed Visualization: See files before deleting them
- 🖥️ System Cleaning: Cache, logs, trash, and packages
- 🐳 Developer Cleaning: Docker, Kubernetes, npm, gradle, and more
- 🎨 Elegant Interface: Minimalist and modern design
- ⚡ Fast & Efficient: Background processing with real-time progress
- 🔒 Safe Operations: Confirmation dialogs and error handling
- 📊 Visual Feedback: Progress bars and statistics cards
Download and run - it's that simple!
# Download the latest release
wget https://github.com/paladini/echo-cleaner/releases/latest/download/EchoCleaner-1.2.0-x86_64.AppImage
# Make it executable
chmod +x EchoCleaner-1.2.0-x86_64.AppImage
# Run it!
./EchoCleaner-1.2.0-x86_64.AppImageNo installation required. No dependencies to manage. Just download and run.
- Python 3.10+: Main language with excellent system integration
- PySide6 (Qt 6): Professional GUI framework
- Layered Architecture: Based on SOLID principles
- Threading: Non-blocking background operations
- Type Hints: Modern, maintainable code
- Make + pyproject.toml: Robust dependency management
- AppImage: Universal Linux distribution format
AppImage is a universal Linux application format that runs anywhere. No installation, no dependencies, no root required.
1. Download
wget https://github.com/paladini/echo-cleaner/releases/latest/download/EchoCleaner-1.2.0-x86_64.AppImage2. Make executable
chmod +x EchoCleaner-1.2.0-x86_64.AppImage3. Run
./EchoCleaner-1.2.0-x86_64.AppImageThat's it! The AppImage includes everything needed to run Echo Cleaner.
Optional: Integrate with your system
To add Echo Cleaner to your application menu:
# Move to a permanent location
mkdir -p ~/.local/bin
mv EchoCleaner-1.2.0-x86_64.AppImage ~/.local/bin/EchoCleaner.AppImage
# Make it available from anywhere
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcNow you can launch it from your application menu or by typing EchoCleaner.AppImage in the terminal.
If you want to contribute or modify the code:
git clone https://github.com/paladini/echo-cleaner.git
cd echo-cleaner
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
./echo-cleaner.pyWith AppImage:
./EchoCleaner-1.2.0-x86_64.AppImageFrom source:
./echo-cleaner.py- Scan System - Click the button to analyze your system
- Review Categories - See what can be cleaned (System Cache, Docker, etc.)
- Select Items - Choose what you want to remove
- Clean - Click "Clean Selected" and confirm
- Done! - View how much space you freed
- 💡 Click category badges to select/deselect all items
- 💡 Hover over items to see detailed information
- 💡 Categories with no items show "All Clean!" message
- 💡 The app automatically rescans after cleaning
Echo Cleaner follows a layered architecture based on SOLID principles:
┌─────────────────────────────────────────┐
│ Presentation Layer (UI) │ ← Qt Widgets, Signals
├─────────────────────────────────────────┤
│ Service Layer (Business Logic) │ ← CleaningService
├─────────────────────────────────────────┤
│ Module Layer (System Access) │ ← Individual Cleaners
└─────────────────────────────────────────┘
See DEVELOPMENT.md for details.
echo-cleaner/
├── app/ # Application source code
│ ├── models/ # Data models
│ ├── modules/ # Cleaning modules
│ ├── services/ # Business logic
│ └── ui/ # User interface
├── data/ # Application metadata (FreeDesktop.org standards)
│ ├── icons/ # Application icons
│ ├── *.desktop # Desktop entry
│ └── *.metainfo.xml # AppStream metadata
├── dist/ # Built packages (AppImages, checksums)
├── docs/ # Documentation
│ ├── guides/ # Development and user guides
│ └── release-notes/ # Release documentation
├── scripts/ # Build and deployment scripts
└── tools/ # External build tools
| Module | Target | Requires Root | Avg Savings |
|---|---|---|---|
| System Cache | ~/.cache |
No | 100MB - 2GB |
| Trash | ~/.local/share/Trash |
No | 50MB - 10GB |
| Logs | Old log files (30+ days) | No | 10MB - 500MB |
| Package Manager | APT/DNF/Pacman cache | Yes | 100MB - 5GB |
| Module | Target | Requires | Avg Savings |
|---|---|---|---|
| Docker | Images, containers, volumes | Docker | 500MB - 20GB |
| Kubernetes | Minikube, kind, kubectl cache | K8s tools | 100MB - 2GB |
| npm/Yarn | ~/.npm, ~/.yarn/cache |
No | 200MB - 5GB |
| pip | ~/.cache/pip |
No | 50MB - 1GB |
| Maven | ~/.m2/repository |
No | 500MB - 10GB |
| Gradle | ~/.gradle/caches |
No | 200MB - 3GB |
| Go | ~/go/pkg/mod |
No | 100MB - 2GB |
| Cargo | ~/.cargo/registry |
No | 200MB - 5GB |
- Development Guide - Architecture and development
- 🤝 Contributing Guide - How to contribute
- 📝 Changelog - Version history
- 📸 Screenshots - Visual overview
If you're running from source, you can test the cleaning modules:
make testThis will show what would be cleaned without actually deleting anything.
- ✅ Scans standard cache/temp directories
- ✅ Shows what will be deleted before deleting
- ✅ Requires confirmation for destructive operations
- ✅ Handles errors gracefully
- ❌ Does not collect any data
- ❌ Does not connect to the internet
- ❌ Does not delete important files
- ❌ Does not modify configurations
- ❌ Does not access personal documents
All operations are local only and fully transparent.
Make sure it's executable:
chmod +x EchoCleaner-1.2.0-x86_64.AppImageIf you get "FUSE" errors on older systems:
./EchoCleaner-1.2.0-x86_64.AppImage --appimage-extract-and-runFor Docker operations:
sudo usermod -aG docker $USER
# Log out and back inFor system package cache:
- The app will automatically request sudo password when needed
Some cleaning modules only appear if the related tools are installed:
- Docker: Requires Docker to be installed
- Kubernetes: Requires kubectl, minikube, or kind
- Development Dependencies: Only shows if cache directories exist
Contributions are welcome! Please read CONTRIBUTING.md for details on how to contribute.
This project is licensed under the MIT License - see the LICENSE file for details.
- Fernando Paladini - github.com/paladini
- Built with GitHub Copilot
- Qt/PySide6 team for the excellent GUI framework
- Linux community for inspiration and feedback
- All contributors who help improve Echo Cleaner
- Issues: GitHub Issues
- Discussions: GitHub Discussions
If you find Echo Cleaner useful, please consider giving it a star! ⭐
Made with ❤️ for the Linux community
Clean System • Happy Development • More Space