A Python-based clipboard manager that monitors and manages clipboard history with a clean terminal interface. Written as a personal tool, to do a simple job for Linux systems.
There are two versions:
Consider changing the commands in the following guide, if you should choose the plain version.
- Monitor clipboard changes in real-time
- Maintain clipboard history (up to 5 entries by default)
- Colorized terminal output
- System service integration
- Desktop application support
git clone https://github.com/IominimoI/clipboard-manager.git
cd clipboard-manager
chmod +x clipboard-manager.py
Create a symbolic link in your PATH to use cbm
command:
sudo ln -s $(pwd)/clipboard-manager.py /usr/local/bin/cbm
Now you can run the clipboard manager from anywhere using:
cbm
Copy the systemd service file to the user services directory:
mkdir -p ~/.config/systemd/user
cp clipboard-monitor.service ~/.config/systemd/user/
Edit the service file to use the correct path:
sed -i "s|/path/to/clipboard-manager.py|$(pwd)/clipboard-manager.py|g" ~/.config/systemd/user/clipboard-monitor.service
# Reload systemd user daemon
systemctl --user daemon-reload
# Enable service to start on boot
systemctl --user enable clipboard-monitor.service
# Start the service now
systemctl --user start clipboard-monitor.service
# Check service status
systemctl --user status clipboard-monitor.service
Copy the desktop file to applications directory:
mkdir -p ~/.local/share/applications
cp clipboard-monitor.desktop ~/.local/share/applications/
sed -i "s|/path/to/clipboard-manager.py|$(pwd)/clipboard-manager.py|g" ~/.local/share/applications/clipboard-monitor.desktop
update-desktop-database ~/.local/share/applications/
- Python 3.6+
xclip
(for clipboard access)
Install xclip:
# Ubuntu/Debian
sudo apt install xclip
# Arch Linux
sudo pacman -S xclip
# Fedora
sudo dnf install xclip
# Run directly
./clipboard-manager.py
# Or use the symbolic link
cbm
# View help
cbm --help
# Start service
systemctl --user start clipboard-monitor.service
# Stop service
systemctl --user stop clipboard-monitor.service
# Restart service
systemctl --user restart clipboard-monitor.service
# View logs
journalctl --user -u clipboard-monitor.service -f
The clipboard manager stores its history in ~/.clipboard_history
. You can modify the following settings in the script:
max_entries
: Maximum number of clipboard entries to store (default: 5)history_file
: Location of the history file
clipboard-manager/
├── clipboard-manager.py # Main application with color and Ascii art.
├── clipboard-manager-plain.py # Simplified, less distracting version
├── clipboard-monitor.service # Systemd service file
├── clipboard-monitor.desktop # Desktop application file
└── README.md # This file
Check service logs:
journalctl --user -u clipboard-monitor.service
Ensure xclip is installed and working:
echo "test" | xclip -selection clipboard
xclip -o -selection clipboard
Make sure the script is executable:
chmod +x clipboard-manager.py
# Stop and disable service
systemctl --user stop clipboard-monitor.service
systemctl --user disable clipboard-monitor.service
# Remove files
rm ~/.config/systemd/user/clipboard-monitor.service
rm ~/.local/share/applications/clipboard-monitor.desktop
sudo rm /usr/local/bin/cbm
# Remove history file (optional)
rm ~/.clipboard_history
# Reload systemd and update desktop database
systemctl --user daemon-reload
update-desktop-database ~/.local/share/applications/
This project is open source. Feel free to modify and distribute.