Currently in developement and not yet release ready
๐ Modern Linux GUI for Apple TV & HomePod Control
curl -sSL https://raw.githubusercontent.com/ZProLegend007/ApplerGUI/main/install.sh | bash
This installer will:
- โ Check system dependencies
- โ Install ApplerGUI and all requirements
- โ Create desktop entry (Linux)
- โ Configure PATH if needed
# Clone the repository
git clone https://github.com/ZProLegend007/ApplerGUI.git
cd ApplerGUI
# Install dependencies and the application
pip3 install --user -r requirements.txt
pip3 install --user .
git clone https://github.com/ZProLegend007/ApplerGUI.git
cd ApplerGUI
./install.sh # Automatically detects local repository
curl -sSL https://raw.githubusercontent.com/ZProLegend007/ApplerGUI/main/update.sh | bash
The updater will:
- โ Backup your configuration
- โ Update to the latest version
- โ Preserve your settings
- โ Restart the application
applergui
Or if not in PATH:
~/.local/bin/applergui
Or as a Python module:
python3 -m applergui
- ๐ฎ Full Apple TV remote control
- ๐ต Now playing display with artwork
- ๐ฑ Device discovery and pairing
- ๐จ Modern dark/light themes
- โจ๏ธ Keyboard shortcuts
- ๐ง Easy configuration
After installation, launch from:
- GUI: Application menu โ ApplerGUI
- Terminal:
applergui
Visit our Wiki for help with common issues.
See CONTRIBUTING.md for development setup.
The professional installer provides:
- Smart dependency detection - Automatically installs required packages
- Sudo management - Only requests elevated privileges when necessary
- Interactive configuration - Choose installation options that suit your needs
- Error recovery - Graceful handling of installation issues
- Multiple distributions - Support for Ubuntu, Fedora, Arch, and more
During installation, you'll be prompted for:
- Desktop integration - Add to application menu
- System-wide vs user installation - Install for all users or current user
- Command-line access - Create 'applergui' terminal command
- Development tools - Additional dependencies for contributors
- Auto-start configuration - Launch on system boot
- Additional themes and codecs - Enhanced UI and media support
- Linux (Ubuntu 20.04+, Fedora 34+, Arch, or equivalent)
- Python 3.8+ (automatically installed if needed)
- Network access to Apple TV/HomePod devices
- Apple TV HD (4th generation)
- Apple TV 4K (5th generation and later)
- HomePod (original and mini)
- Legacy Apple TV models (with limited functionality)
- Async/await support using qasync for non-blocking operations
- Separation of concerns between UI and backend logic
- Signal-slot communication for loose coupling
- Secure credential storage using system keyring
- Robust error handling with user-friendly feedback
- MRP (Media Remote Protocol) - Primary Apple TV protocol
- DMAP (Digital Media Access Protocol) - Legacy iTunes protocol
- AirPlay - Audio/video streaming protocol
- Companion - Modern pairing and control protocol
- "Permission denied": Don't run as root - installer will ask for sudo when needed
- "Package not found": Update package manager first (
sudo apt update
) - Python version issues: Ensure Python 3.8+ is installed
- "Command not found: applergui": Restart terminal or run
source ~/.bashrc
- "No devices found": Ensure Apple TV is on same network and powered on
- "Connection failed": Device may require pairing - click "Pair" button
- "Pairing failed": Enter correct PIN from Apple TV screen
- GUI issues: Update graphics drivers or try
QT_QUICK_BACKEND=software
Enable debug logging:
python main.py --debug
git clone https://github.com/ZProLegend007/ApplerGUI.git
cd ApplerGUI
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python main.py
ApplerGUI/
โโโ main.py # Application entry point
โโโ ui/ # User interface modules
โโโ backend/ # Backend logic modules
โโโ resources/ # Application resources
โโโ requirements.txt # Python dependencies
โโโ install.sh # Professional installer
- PyQt6 (>=6.4.0) - Modern GUI framework
- pyatv (>=0.14.0) - Apple TV communication library
- qasync (>=0.24.0) - Async/await support for Qt
- aiohttp (>=3.8.0) - HTTP client/server for asyncio
- cryptography (>=3.4.0) - Cryptographic library
- Pillow (>=9.0.0) - Image processing library
- keyring (>=23.0.0) - Secure credential storage
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Wiki: Project Wiki
Made with โค๏ธ for the Apple TV community