Linux guide - ByteTrix/Media-Player-Scrobbler-for-Simkl GitHub Wiki
π§ Linux Installation & Configuration Guide
This guide covers install, tray integration, and media player setup on Linux.
π₯ Linux Installation
Required Dependencies
Before installing, ensure you have the necessary system dependencies based on your distribution:
For Ubuntu/Debian:
sudo apt install pipx python3-tk python3-pip python3-dev python3-setuptools wmctrl xdotool python3-gi python3-gi-cairo gir1.2-gtk-3.0 libgirepository1.0-dev libcairo2-dev pkg-config libnotify-bin python3-venv gir1.2-appindicator3-0.1 gnome-shell-extension-appindicator
flowchart LR
A[Install Dependencies] --> B[Install simkl-mps]
B --> C[Run simkl-mps init]
C --> D[Start app]
D --> E[Authenticate with SIMKL]
E --> F[Configure media players]
F --> G[Track and sync]
style A fill:#4285f4,stroke:#333,stroke-width:2px,color:#fff
style D fill:#34a853,stroke:#333,stroke-width:2px,color:#fff
style G fill:#fbbc05,stroke:#333,stroke-width:2px,color:#fff
-
Install the application using pipx (recommended for better isolation):
# Install pipx if not already installed python3 -m pip install --user pipx python3 -m pipx ensurepath # Install simkl-mps with Linux extras pipx install --system-site-packages "simkl-mps[linux]"Alternatively, use pip directly:
pip install --user "simkl-mps[linux]" -
Initialize the application:
simkl-mps init -
Start the application:
simkl-mps start
π§ System Tray Integration
Tray Icon Troubleshooting
If the system tray icon doesn't appear (common on some Linux distributions), follow these steps:
For GNOME-based distros (Ubuntu, Fedora Workstation, etc.):
-
Ensure you have the AppIndicator extension installed:
# For Ubuntu/Debian sudo apt install gnome-shell-extension-appindicator # For Fedora sudo dnf install gnome-shell-extension-appindicator -
Enable the AppIndicator extension:
- Open the "Extensions" application
- Enable "AppIndicator and KStatusNotifierItem Support"
- Or visit: https://extensions.gnome.org/extension/615/appindicator-support/
-
Restart GNOME Shell:
- Press Alt+F2, type "r" and press Enter
- Or log out and log back in
-
Run the diagnostic script to check tray compatibility:
python3 -m simkl_mps.utils.linux_tray_diagnostics
For KDE Plasma:
KDE Plasma has good built-in support for system tray icons. If you're experiencing issues:
- Right-click on the system tray
- Select "Configure System Tray"
- Ensure "Legacy Tray" is enabled
For Xfce, MATE, and Cinnamon:
These desktop environments have good support for system tray icons by default. If issues persist:
- Right-click on the panel
- Look for "Panel Settings" or similar
- Ensure the "Notification Area" or "System Tray" is added to the panel
Running in Foreground Mode
If you're troubleshooting or want to see logs in real-time:
simkl-mps tray
This runs the app in the current terminal and prints logs. Press Ctrl+C to exit.
π Setting Up Autostart
To make simkl-mps start automatically when you log in:
Method 1: Desktop Entry (Recommended)
-
Create a desktop entry file:
mkdir -p ~/.config/autostart cat > ~/.config/autostart/simkl-mps.desktop << EOF [Desktop Entry] Type=Application Name=Media Player Scrobbler for SIMKL Exec=simkl-mps start Icon=media-player Comment=Automatically track media playback and scrobble to SIMKL Categories=Utility; Terminal=false StartupNotify=false EOF -
Make it executable:
chmod +x ~/.config/autostart/simkl-mps.desktop
Method 2: Using Your Desktop Environment's Autostart Settings
For GNOME:
- Open "Startup Applications"
- Click "Add"
- Set Name: "Media Player Scrobbler for SIMKL"
- Set Command:
simkl-mps start - Add a description if desired
- Click "Add"
For KDE Plasma:
- Go to System Settings > Startup and Shutdown > Autostart
- Click "Add Program"
- Search for simkl-mps or select "Add Custom Script"
- Enter
simkl-mps startas the command - Click "OK" or "Apply"
For Xfce:
- Go to Settings > Session and Startup > Application Autostart
- Click "Add"
- Name: "Media Player Scrobbler for SIMKL"
- Command:
simkl-mps start - Click "OK"
βοΈ Media Player Configuration on Linux
For the best tracking experience, configure your preferred media players:
VLC Media Player
Step-by-Step Configuration:
- Open VLC Media Player
- Navigate to Tools β Preferences
- At the bottom left, change Show settings to All
- Navigate to Interface β Main interfaces
- Check the box for Web to enable the web interface
- Go to Interface β Main interfaces β Lua
- Set a password in the Lua HTTP Password field
- Click Save and restart VLC
MPV Media Player (Recommended for Linux)
Configuration Steps:
- Create or edit the MPV configuration file:
mkdir -p ~/.config/mpv echo 'input-ipc-server=/tmp/mpvsocket' >> ~/.config/mpv/mpv.conf - Save and restart MPV
Celluloid (GNOME MPV)
Celluloid is a GTK frontend for MPV, and you'll need to configure the underlying MPV:
- Edit the MPV config as above
- In Celluloid, go to Preferences > MPV Configuration
- Add:
input-ipc-server=/tmp/mpvsocket - Restart Celluloid
π₯οΈ Linux System Integration
System Tray Features
Right-click the system tray icon to access:
flowchart TD
A[System Tray Icon] -->|Right-click| B[Context Menu]
B --> C[Status Information]
B --> D[Start/Pause Tracking]
B --> E[Scrobbling]
E --> E1[Retry Last Scrobble]
E --> E2[Sync Backlog Now]
E --> E3[Completion Threshold]
E --> E4[Open Local Watch History]
B --> E5[SIMKL]
E5 --> E5A[Authenticate/Re-auth]
E5 --> E5B[Open Website]
E5 --> E5C[Open Watch History]
B --> F[Maintenance]
F --> F1[Open Logs]
F --> F2[Open Data Folder]
F --> F3[Clear Backlog]
F --> F4[Clear Cache]
F --> F5[Clear Watch History]
F --> F6[Clear Logs]
F --> F7[Reset App Data]
B --> G[More]
G --> G1[Donate β€οΈ]
G --> G2[Check for Updates]
G --> G3[Help]
G --> G4[About]
B --> H[Exit]
style A fill:#4285f4,stroke:#333,stroke-width:2px,color:#fff
style D fill:#34a853,stroke:#333,stroke-width:2px,color:#fff
style F fill:#fbbc05,stroke:#333,stroke-width:2px,color:#fff
- Status information: Current monitoring state and connection status
- Start/Pause Tracking: Pause or resume tracking on demand
- Scrobbling: Recovery and threshold controls
- Retry Last Scrobble: Clears cache for the active file and attempts to re-identify and scrobble it. Use when the wrong title/episode appears.
- Sync Backlog Now: Immediately processes any offline scrobbles waiting in backlog.
- Completion Threshold: Quickly switch between preset watch thresholds (65%, 80%, 90%) or define a custom percentage.
- Open Local Watch History: Open the local watch history viewer in your web browser.
- SIMKL: Account and service management
- Authenticate / Re-authenticate: Launch the Simkl login flow if you are signing in for the first time or need to refresh an expired token.
- Open Website: Visit the SIMKL website.
- Open Watch History: View your watch history on SIMKL.
- Maintenance: Logs, data, and cache management
- Open Logs: Jump straight to app diagnostics from the tray.
- Open Data Folder: Open the application data directory.
- Clear Backlog: Delete pending offline scrobbles to stop repeated sync prompts.
- Clear Cache: Remove media cache data while keeping logs and settings intact.
- Clear Watch History: Remove the local
watch_history.jsonfile and viewer data without touching your SIMKL account. - Clear Logs: Truncate application and playback logs to capture a fresh session for debugging.
- Reset App Data (Danger): Perform a full resetβuse only when you want a clean re-authentication; the app will exit afterward.
- More: Additional utilities
- Donate β€οΈ: Support the project.
- Check for Updates: Check if a newer version is available.
- Help: Open help documentation.
- About: View application information.
- Exit: Close the application
Linux-Specific File Locations
- Configuration file:
~/.local/share/kavin/simkl-mps/.simkl_mps.env - Log files:
~/.local/share/kavin/simkl-mps/simkl_mps.log - Backlog database:
~/.local/share/kavin/simkl-mps/backlog.db
π Updates
To update your installation:
# If installed with pipx
pipx upgrade simkl-mps
# If installed with pip
pip install --upgrade --user "simkl-mps[linux]"
π Optimizing for Linux
Performance Tips
- Use MPV or VLC for the most reliable tracking
- Enable autostart for convenience
- Proper filenames significantly improve media identification:
- Best format:
Movie Title (Year).extension - Example:
Inception (2010).mkv
- Best format:
- For GNOME users, ensure the AppIndicator extension is enabled
- If system tray is important, consider using KDE Plasma or Xfce which have better system tray support
Resource Usage
- Memory: 30-60 MB (typical)
- CPU: Minimal (1-2% during active tracking)
- Disk: Minimal (~1 MB for database and logs)
- Network: Only when identifying movies or syncing with Simkl
π Linux Troubleshooting
Common Issues
| Issue | Solution |
|---|---|
| Dependencies missing | Run diagnostics script and install required packages |
| Tray icon missing | Install and enable AppIndicator extension (GNOME) or check panel settings |
| Python module errors | Ensure you installed with the Linux extras: simkl-mps[linux] |
| VLC connection fails | Verify web interface is enabled and password is correct |
| MPV not detected | Check if socket path in config is correct: /tmp/mpvsocket |
| Media not identified | Use clearer filename and check logs for matching details |
Checking Logs on Linux
-
View logs in real-time with:
tail -f ~/.local/share/kavin/simkl-mps/simkl_mps.log -
Or open in your text editor:
xdg-open ~/.local/share/kavin/simkl-mps/simkl_mps.log
Running with Debug Logging
For advanced troubleshooting:
simkl-mps tray --debug
Diagnostics Script
Run the built-in diagnostics script to check your environment:
python3 -m simkl_mps.utils.linux_tray_diagnostics
π Final Checklist for Linux Users
- β Install all required dependencies for your distribution
- β Install simkl-mps with Linux extras
- β Configure your media players (critical step!)
- β Fix any system tray issues using the guide above
- β Set up autostart for convenience
- β Use clear filenames for your media
- β Play media and verify it is detected and tracked
- β Check your SIMKL profile to confirm progress is synced