π₯οΈ Simplified SPICE Remote Viewer Launcher for Proxmox VE
β We appreciate your star, it helps! β
# Download and extract (replace VERSION with actual version)
wget https://github.com/Corsinvest/cv4pve-pepper/releases/download/VERSION/cv4pve-pepper-linux-x64.zip
unzip cv4pve-pepper-linux-x64.zip
# Launch SPICE viewer for VM 100
./cv4pve-pepper --host=YOUR_HOST --username=root@pam --password=YOUR_PASSWORD \
--vmid=100 --viewer=/usr/bin/remote-viewer
# With API token (recommended)
./cv4pve-pepper --host=YOUR_HOST --api-token=user@realm!token=uuid \
--vmid=100 --viewer=/usr/bin/remote-viewerποΈ Click to expand navigation
______ _ __
/ ____/___ __________(_)___ _ _____ _____/ /_
/ / / __ \/ ___/ ___/ / __ \ | / / _ \/ ___/ __/
/ /___/ /_/ / / (__ ) / / / / |/ / __(__ ) /_
\____/\____/_/ /____/_/_/ /_/|___/\___/____/\__/
πΆοΈ Launching SPICE remote-viewer for Proxmox VE (Made in Italy)
|
|
# Check available releases at: https://github.com/Corsinvest/cv4pve-pepper/releases
# Download specific version (replace VERSION with actual version)
wget https://github.com/Corsinvest/cv4pve-pepper/releases/download/VERSION/cv4pve-pepper-linux-x64.zip
# Extract
unzip cv4pve-pepper-linux-x64.zip
# Make executable
chmod +x cv4pve-pepper
# Optional: Move to system path
sudo mv cv4pve-pepper /usr/local/bin/
# Verify installation
cv4pve-pepper --version# Download from GitHub releases (replace VERSION with actual version)
Invoke-WebRequest -Uri "https://github.com/Corsinvest/cv4pve-pepper/releases/download/VERSION/cv4pve-pepper-win-x64.zip" -OutFile "cv4pve-pepper.zip"
# Extract
Expand-Archive cv4pve-pepper.zip -DestinationPath "C:\Tools\cv4pve-pepper"
# Add to PATH (optional)
$env:PATH += ";C:\Tools\cv4pve-pepper"
# Verify installation
cv4pve-pepper.exe --version# Download and extract (replace VERSION with actual version)
wget https://github.com/Corsinvest/cv4pve-pepper/releases/download/VERSION/cv4pve-pepper-osx-x64.zip
unzip cv4pve-pepper-osx-x64.zip
chmod +x cv4pve-pepper
# Move to applications
sudo mv cv4pve-pepper /usr/local/bin/
# Verify installation
cv4pve-pepper --versioncv4pve-pepper requires a SPICE client (virt-viewer) to be installed on your system.
# Ubuntu/Debian
sudo apt update && sudo apt install virt-viewer
# CentOS/RHEL/Fedora
sudo dnf install virt-viewer
# Verify installation
which remote-viewer
# Should output: /usr/bin/remote-viewer- Download virt-viewer 0.5.6 or higher from SPICE official site
- Install the package as Administrator
- Note the path - typically:
C:\Program Files\VirtViewer v?.?-???\bin\remote-viewer.exe
# Using Homebrew
brew install virt-viewer
# Or download from official site
# Note: macOS client may have limitations| OS | Typical Path |
|---|---|
| Linux | /usr/bin/remote-viewer |
| Windows | C:\Program Files\VirtViewer v?.?-???\bin\remote-viewer.exe |
| macOS | /usr/local/bin/remote-viewer |
cv4pve-pepper \
--host=pve.local \
--username=user@pam \
--password=your_password \
--vmid=100 \
--viewer=/usr/bin/remote-viewercv4pve-pepper \
--host=pve.local \
--api-token=user@realm!token=uuid \
--vmid=100 \
--viewer=/usr/bin/remote-viewer |
# Use interactive password prompt
cv4pve-pepper \
--host=pve.local \
--username=user@pam \
--password=file:/etc/cv4pve/password \
--vmid=100 \
--viewer=/usr/bin/remote-viewer
# First run: prompts and saves password
# Later runs: reads from file |
π Using Parameter Files
Create a configuration file for repeated use:
# /etc/cv4pve/pepper.conf
--host=pve.cluster.local
--api-token=spice@pve!viewer=uuid-here
--viewer=/usr/bin/remote-viewer
--viewer-options=-f --full-screen
--start-or-resume
--wait-for-startup=10cv4pve-pepper @/etc/cv4pve/pepper.conf --vmid=100π Simple VM Connection
cv4pve-pepper --host=pve.local --username=root@pam --password=secret \
--vmid=100 --viewer=/usr/bin/remote-viewercv4pve-pepper --host=pve.local --api-token=user@pam!token=uuid \
--vmid=web-server --viewer=/usr/bin/remote-viewercv4pve-pepper --host=pve.local --api-token=user@pam!token=uuid \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--start-or-resume --wait-for-startup=15βοΈ Viewer Customization
cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--viewer-options="-f"cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--viewer-options="--full-screen --zoom=200"cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--proxy=https://spice-proxy.company.com:3128π Cluster Configuration
cv4pve-pepper --host=pve1.local:8006,pve2.local:8006,pve3.local:8006 \
--api-token=cluster@pve!spice=uuid \
--vmid=100 --viewer=/usr/bin/remote-viewercv4pve-pepper --host=pve.company.com --validate-certificate \
--api-token=secure@pve!token=uuid \
--vmid=100 --viewer=/usr/bin/remote-viewerπ Debug Mode
cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--debug# Use --help to verify all parameters
cv4pve-pepper --host=pve.local --api-token=token --helpFor SPICE access, the user/token needs minimal permissions:
| Permission | Purpose | Scope |
|---|---|---|
| VM.Console | Access VM console | Virtual machines |
| VM.Audit | Read VM information | Virtual machines |
π§ Creating SPICE Access Token
Follow Proxmox VE documentation for creating API tokens with the required permissions listed above.
cv4pve-pepper --host=pve.local --api-token=spice@pve!viewer=uuid-from-creation \
--vmid=100 --viewer=/usr/bin/remote-viewer
|
|
π "No SPICE Port" Error
Error: no spice port
This error appears when the VM's display hardware is not configured for SPICE:
- Go to Proxmox web interface
- Select your VM β Hardware
- Edit Display device
- Set Type to "SPICE (qxl)"
- Start/restart the VM
π Authentication Issues
# Check credentials and permissions
cv4pve-pepper --host=pve.local --username=test@pam --password=wrong \
--vmid=100 --viewer=/usr/bin/remote-viewer --debug- Verify credentials in Proxmox web interface
- Check user permissions (VM.Console, VM.Audit)
- Test API token format:
user@realm!tokenid=uuid
π₯οΈ SPICE Client Issues
# Test if remote-viewer is available
which remote-viewer
# or
/usr/bin/remote-viewer --version- Install virt-viewer package
- Verify correct path to remote-viewer
- Use full path in --viewer parameter
π Network Issues
# Test with debug mode
cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer --debug- Check network connectivity to Proxmox host
- Verify firewall rules (port 8006 for API, SPICE ports)
- Test with IP address instead of hostname
π Enabling Debug Output
# Enable detailed logging
cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--debug
# Debug output will show:
# - API connection details
# - Authentication process
# - SPICE ticket generation
# - Viewer launch commandsβοΈ Complete Parameter List
cv4pve-pepper [options]| Parameter | Description | Example |
|---|---|---|
--host |
Proxmox host(s) | --host=pve.local:8006 |
--username |
Username@realm | --username=spice@pve |
--password |
Password or file | --password=secret |
--api-token |
API token | --api-token=user@realm!token=uuid |
--validate-certificate |
Validate SSL certificate | --validate-certificate |
| Parameter | Description | Required |
|---|---|---|
--vmid |
VM ID or name | β Optional |
--viewer |
Path to remote-viewer | β Required |
--viewer-options |
Options for SPICE viewer | β Optional |
| Parameter | Description | Default |
|---|---|---|
--proxy |
SPICE proxy server | None |
--start-or-resume |
Auto-start stopped/paused VM | false |
--wait-for-startup |
Wait seconds for VM startup | 5 |
--debug |
Enable debug output | false |
π― Common Use Cases
# Simple connection
cv4pve-pepper --host=pve.local --username=root@pam --password=secret \
--vmid=100 --viewer=/usr/bin/remote-viewer
# With API token
cv4pve-pepper --host=pve.local --api-token=spice@pve!token=uuid \
--vmid=web-server --viewer=/usr/bin/remote-viewer# HA cluster with SSL validation
cv4pve-pepper --host=pve1.local,pve2.local,pve3.local --validate-certificate \
--api-token=production@pve!spice=uuid \
--vmid=100 --viewer=/usr/bin/remote-viewer
# Auto-start with custom timeout
cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--start-or-resume --wait-for-startup=30# Full screen with high quality
cv4pve-pepper --host=pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--viewer-options="--full-screen --zoom=150"
# Through reverse proxy
cv4pve-pepper --host=internal-pve.local --api-token=token \
--vmid=100 --viewer=/usr/bin/remote-viewer \
--proxy=https://proxy.company.com:3128|
Professional support and services |
Complete information and documentation |
| Resource | Description |
|---|---|
| GitHub Issues | Bug reports and feature requests |
| GitHub Discussions | Community Q&A and discussions |
| Proxmox Forum | General Proxmox VE community |
| cv4pve Documentation | Complete documentation suite |
We welcome contributions! Here's how you can help:
- π Report bugs via GitHub Issues
- π‘ Suggest features through GitHub Discussions
- π Improve documentation with pull requests
- π§ͺ Test releases and provide feedback
- π Star the repository to show support
Copyright Β© Corsinvest Srl
This software is part of the cv4pve-tools suite. For licensing details, please visit LICENSE.