Giter Club home page Giter Club logo

pve-vdiclient's Introduction

PVE VDI Client

This project's focus is to create a simple VDI client intended for mass deployment. This VDI client connects directly to Proxmox VE and allows users to connect (via Spice) to any VMs they have permission to access.

Defining multiple Proxmox clusters is possible and can allow end users to easily select which 'server group' they wish to connect to:

Login Screen

Login Screen with OTP

VDI View

Configuration File

PVE VDI Client REQUIRES a configuration file to function. The client searches for this file in the following locations unless overridden with command line options:

  • Windows
    • %APPDATA%\VDIClient\vdiclient.ini
    • %PROGRAMFILES%\VDIClient\vdiclient.ini
  • Linux
    • ~/.config/VDIClient/vdiclient.ini
    • /etc/vdiclient/vdiclient.ini
    • /usr/local/etc/vdiclient/vdiclient.ini

Please refer to vdiclient.ini.example for all available config file options

If you encounter any issues feel free to submit an issue report.

Proxmox Permission Requirements

Users that are accessing VDI instances need to have the following permissions assigned for each VM they access:

  • VM.PowerMgmt
  • VM.Console
  • VM.Audit

Command Line Usage

No command line options are required for default behavior. The following command line options are available:

usage: vdiclient.py [-h] [--list_themes] [--config_type {file,http}] [--config_location CONFIG_LOCATION]
                    [--config_username CONFIG_USERNAME] [--config_password CONFIG_PASSWORD] [--ignore_ssl]

Proxmox VDI Client

options:
  -h, --help            show this help message and exit
  --list_themes         List all available themes
  --config_type {file,http}
                        Select config type (default: file)
  --config_location CONFIG_LOCATION
                        Specify the config location (default: search for config file)
  --config_username CONFIG_USERNAME
                        HTTP basic authentication username (default: None)
  --config_password CONFIG_PASSWORD
                        HTTP basic authentication password (default: None)
  --ignore_ssl          HTTPS ignore SSL certificate errors (default: False)

If --config_type http is selected, pass the URL in the --config_location parameter

Windows Installation

You MUST install virt-viewer prior to using PVE VDI client, you may download it from the official Virtual Machine Manager site.

Please visit the releases section to download a prebuilt MSI package

If you need to customize the installation, such as to sign the executable and MSI, you may download and install the WIX toolset and use the build_vdiclient.bat file to build a new MSI.

you will need to download the latest 3.12 python release, and run the following commands to install the necessary packages:

requirements.bat

Linux Installation

Run the following commands on a Debian/Ubuntu Linux system to install the appropriate prerequisites

apt install python3-pip python3-tk virt-viewer git
git clone https://github.com/joshpatten/PVE-VDIClient.git
cd ./PVE-VDIClient/
chmod +x requirements.sh
./requirements.sh
cp vdiclient.py /usr/local/bin
chmod +x /usr/local/bin/vdiclient.py

Fedora/CentOS/RHEL Installation

Run the following commands on a Debian/Ubuntu Linux system to install the appropriate prerequisites

dnf install python3-pip python3-tkinter virt-viewer git
git clone https://github.com/joshpatten/PVE-VDIClient.git
cd ./PVE-VDIClient/
chmod +x requirements.sh
./requirements.sh
cp vdiclient.py /usr/local/bin
chmod +x /usr/local/bin/vdiclient.py

Build Debian/Ubuntu Linux Binary

Run the following commands if you wish to build a binary on a Debian/Ubuntu Linux system

apt install python3-pip python3-tk virt-viewer git
git clone https://github.com/joshpatten/PVE-VDIClient.git
cd ./PVE-VDIClient/
chmod +x requirements.sh
./requirements.sh
pip3 install pyinstaller
pyinstaller --onefile --noconsole --noconfirm --hidden-import proxmoxer.backends --hidden-import proxmoxer.backends.https --hidden-import proxmoxer.backends.https.AuthenticationError --hidden-import proxmoxer.core --hidden-import proxmoxer.core.ResourceException --hidden-import subprocess.TimeoutExpired --hidden-import subprocess.CalledProcessError --hidden-import requests.exceptions --hidden-import requests.exceptions.ReadTimeout --hidden-import requests.exceptions.ConnectTimeout --hidden-import requests.exceptions.ConnectionError vdiclient.py

Once pyinstaller has finished your binary will be located in dist/vdiclient

pve-vdiclient's People

Contributors

aacater avatar bekema avatar brickmyphone avatar cinderblockgames avatar dariomolinari avatar domfi avatar incoggnito avatar joshpatten avatar jpattwpc avatar rayksland avatar richardcgingrasjr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pve-vdiclient's Issues

[Feature Request] Auto Connect to VMID

It would be great to have the ability to automatically connect to a specific VMID if there is also a user and token specified. That coupled with autostart configurations on your favorite linux DE would make the whole connection process seamless right to the internal virtual machine.

[Authentication]
# This is the authentication backend that will be used to authenticate
auth_backend = pam
# If enabled, 2FA TOTP entry dialog will show
auth_totp = false
# If disabled, TLS certificate will not be checked
tls_verify = false
# User name (if using token)
user = user
# API Token Name
token_name = dvi
# API Token Value
token_value = xxx-x-x-x-xxx
# Auto Connect to specified VMID
auto_vmid = 100

Unable to connect to graphic server

Hi there! I'm trying to get everything work by this video
I have configured VDIClient, as well as user and VM configuration in proxmox.
So the problem I have can be seen on screenshot
1

I have no problem connecting to my proxmox, but after I choose the VM I want to connect, I tried 2 systems (Ubuntu 22 with disabled wayland, debian11lxde) - it's giving me an error "Unable to connect to graphic server" referring to cloudflare IP address.

Any ideas what could cause this issue, please?
Maybe someone has had this problem before, would appreciate the help
Any additional info - feel free to ask

Error running pyclient.py - PySimpleGUIQT has no attribute 'theme'

Hi I was previously using the PVE-VDIClient on a different Raspberry Pi OS install with no problems. I have now installed the latest version on a new Pi OS instal & am getting the following error - any ideas?

pi@raspberrypi:~ $ vdiclient.py
Traceback (most recent call last):
File "/usr/local/bin/vdiclient.py", line 436, in <module>
sys.exit(main())
File "/usr/local/bin/vdiclient.py", line 422, in main
sg.theme(G.theme)
AttributeError: module 'PySimpleGUIQt' has no attribute 'theme' 

This is my .config/VDIClient/vdiclient.ini

[General]
title = VDI Login
theme = LightBlue
icon = vdiicon.ico
logo = vdiclient.png
kiosk = False
inidebug = False

[Authentication]
auth_backend = pve
auth_totp = false
tls_verify = false

[Hosts]
xxxxxxxxxxxxxxxx

[Feature Request] Select and Remember USB Devices for Redirection to VM

First of all:
great project, i'm loving it so far.

While I was discussing the use of your client for a new VDI project with my colleague we came across the USB pass through feature, which is essential for us. It needs to work properly and reliably.
Our Clients mainly will use Windows PCs to connect to the VDI.

I guess my question is if it's possible to build a select and remember function for the USB devices which need to be redirected to the VM and then pass that information to the virt-viewer at start?
For the user to select all needed USB devices in the virt-viewer after every connection is not a desired behavior.

Just my 2 cents:
The need in the market for a better and more open approach to VDI is huge. Especially after the prognosis for the dying Terminal Server from Microsoft and the acquisition of VMWare from Broadcom.
So to build a reliable VDI with Proxmox and other open-source tools would be huge, and for me personally, a huge win for the open-source community.

Feature request - refresh VM list

Hi.

We love your little VDI client. We are using a PVE cluster for software testing. VM‘s are generated by build pipeline and testers are connecting to them over the VDI client. A refresh button or F5 key would be useful to reload VM list from PVE server. At the moment we need to close client and authenticate again.

Many thanks

regards

rob

Unable to connect to graphic server

vdiclient.txt

Hi friends. I almost have this awesome tool working. I am running into unable to connect graphic server as mentioned by another user below. I have tried the fix mentioned and cannot get past it. I have done the following along with my attached vdi.ini file that I modified. I figured I might check her with the experts before I blow something up. :)

**Changed the hosts entry in proxmox for the PVE n to

127.0.0.1 localhost.localdomain localhost
192.168.1.146 pve2.home.local pve2

The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Unable to read supplied configuration: No 'Authentication' section defined!

my config is in ~/.config/VDIClient/vdiclient.ini

my config:

[General]
# This is the title that is diplayed to the user
title = PVE
# This is the PySimpleGui Theme that is used. Run pvevdi.py with flag `--list_themes` for a list of themes
theme = LightBlue
# Program Icon
icon = proxmox.png
# Logo displayed on all windows
logo = proxmox.png
# Enable Kiosk mode, which does not allow the user to close anything
kiosk = False
# Enable/Disable Fullscreen mode (not applicable in Kiosk mode)
fullscreen = True
# Enable displaying SPICE ini file before opening virt-viewer
inidebug = False
# Select which guest types to display. Acceptable values: both, lxc, qemu
guest_type = both

[Authenication]
# This is the authentication backend that will be used to authenticate
auth_backend = pam
# If enabled, 2FA TOTP entry dialog will show
auth_totp = false
# If disabled, TLS certificate will not be checked
tls_verify = false
# User name (if using token)
user = root
# API Token Name
token_name = vdi_client
# API Token Value
token_value = *****

[Hosts]
# Hosts are entered as `IP/FQDN = Port`
192.168.0.162 = 8006

[SpiceProxyRedirect]
# The Spice Proxy provided by the Proxmox API may need to have its host/port rewritten
# These rewrite rules are written `IP:port = IP:port`
# 1. Use the inidebug and read the current proxy=pve1.example.com:3128
# 2. Add your proxmox ip to the right side e.g. 123.123.123.123:6000
#pve1.example.com:3128 = 123.123.123.123:6000

[AdditionalParameters]
# If you wish to define additional parameters to pass to virt-viewer you may define them here
# More parameter definitions here: https://www.mankier.com/1/remote-viewer
# Some Examples:
# Enable USB passthrough
enable-usbredir = true
# Enable auto USB device sharing
#enable-usb-autoshare = true

vdi client

Love the thought of the program. I can log into the proxmox server and it shows me the vm's with spice but when I click connect it errors out with unable to connect to the graphic server but i have virt-viewer installed. when i download the vv file off the server it has a certificate in it and i think thats the problem just not sure how to fix it. any help would be very appreciated

Issue with Pam login

am using release 1.0.6 for windows

I have an ini set as follows


[General]
# This is the title that is diplayed to the user
title = Login
# This is the PySimpleGui Theme that is used. Run pvevdi.py with flag `--list_themes` for a list of themes
theme = DarkGreen5
# Program Icon
icon = vdiicon.ico
# Logo displayed on all windows
logo = Logo.png
# Enable Kiosk mode, which does not allow the user to close anything
kiosk = False
# Enable/Disable Fullscreen mode (not applicable in Kiosk mode)
fullscreen = False
# Enable displaying SPICE ini file before opening virt-viewer
inidebug = true



[Authentication]
# This is the authentication backend that will be used to authenticate
auth_backend = pam
# If enabled, 2FA TOTP entry dialog will show
auth_totp = false
# If disabled, TLS certificate will not be checked
tls_verify = false
# User name
#user = user
# API Token Name
#token_name = dvi
#API Token Value
#token_value = xxx-x-x-x-xxx



[Hosts]
# Hosts are entered as `IP/FQDN = Port`
192.168.129.89 = 8006
192.168.129.100 = 8006
192.168.129.101 = 8006
192.168.129.126 = 8006

but when I try to login using my pam login details I get authentication failed all the time unless I create and use pve user ?

No module names 'requests'

Saw a few issues regarding to ARM based clients. And here is my case.

I firstly got the error "No module named PySimpleGUI." Then I manually and additionally installed the module using pip3.
Then, I got the error "No module named tkinter". So, I installed a few other packages as mentioned in another issue thread here.
But now I'm getting the error below:

sms@debian-pi4:~/PVE-VDIClient$ ./vdiclient.py

Traceback (most recent call last):
File "/home/sms/PVE-VDIClient/./vdiclient.py", line 9, in
import requests
File "/usr/lib/python3/dist-packages/shiboken2/files.dir/shibokensupport/feature.py", line 142, in _import
return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'requests'
sms@debian-pi4:~/PVE-VDIClient$

Trying to run it on Debian 11 (Bullseye) on a Raspi-4 with no Desktop environment.
Any thoughts?
Thanks

Debian 11.6.0 install ModuleNotFoundError: No module named 'tkinter' when launching

Traceback (most recent call last):
File "/home/jld/PVE-VDIClient/./vdiclient.py", line 3, in import PySimpleGUI as sg # pip install PySimpleGUI
File "/home/jld/.local/lib/python3.9/site-packages/PySimpleGUI/init.py", line 2, in from .PySimpleGUI import *
File "/home/jld/.local/lib/python3.9/site-packages/PySimpleGUI/PySimpleGUI.py", line 136, in import tkinter as tk
ModuleNotFoundError: No module named 'tkinter'

PySimpleGui Themes in Vdiclient.ini.example

On line 4 of the vdiclient.ini.example file, it reads as:

This is the PySimpleGui Theme that is used. Run pvevdi.py with flag --list_themes for a list of themes

this should be:

This is the PySimpleGui Theme that is used. Run vdiclient.py with flag --list_themes for a list of themes

i've attached a screenshot if needed
Screenshot from 2022-12-13 20-36-19

Great Project saves me having to log in to proxmox UI every time I need access.

"Unable to read supplied configuration from any location"

Using the .msi in the release, I went ahead and installed vdi. I then went ahead and used the .ini.example in your repo, configed it to that of my pve instance and used the config locations for windows installs. Can you assist on this issue? I'm currently on windows 11. Thanks in advance my friend!

[NOTABUG] Feature Ideas

A friend showed me this, and I wanted to jot down some thoughts/ideas that could make this really neat.

  • Kerberos Support: This would also require action on Proxmox's part, but in a perfect world you should be able to login to either a Windows or *nix host and use the Kerberos ticket generated by AD or whatever IdM solution you use to have the VDI client login to Proxmox, and then delegate the TGT to the VDI session host via SPICE or RDP (if Windows).

  • RDP Support: It would be neat if there was logic to allow you to connect to Windows VDI clients using RDP if the host is also running RDP. This would especially be useful with my point above, that way you can just login with AD to the VDI session host.

Anyways, just my two cents worth. If I had any actual good programming skills, I'd try to help with this, but the way I am now I'd just get in the way.

Portable application possible ?

Hi
I would like to say it's very nice to have a fully working standalone app. quite great. For the linux part, is an Appimage could be possible in order to have it fully portable ? and avoid python stuff requirement to be install prior..

Thanks

[Feature Request] Built in port knocking

I was hoping you could put in a port knocking feature that supports parameters in the config file.

Use Case would be to have firewall block external requests unless the appropriate knock is used.

This would secure proxmox a little more. at least to external port scans without the need to reverse proxy the server.

I'll see if I can do a pull request. no promises as I'm not familiar with python.

password confirm after connect

(This tool is great btw)

Once I login with my user, and pick a VM to connect to, I get a second dialog, a giant white box, that shows some massive api key, greys out the username, and then asks for my password again. If I type my password again, it just re-launches the box and asks again. If I hit cancel, it fires up the SPICE connection and everything works normally...

It doesn't break anything, but I'm not seeing any logs or anything as to what this is? It seems to be SPICE/pve/api related, but I'm not sure what is causing it.

I left the [SpiceProxyRedirect] section of my config blank. Maybe that's it?

# cat /etc/vdiclient/vdiclient.ini 
[General]
# This is the title that is diplayed to the user
title = VDI Login
# This is the PySimpleGui Theme that is used. Run pvevdi.py with flag `--list_themes` for a list of themes
theme = LightBlue
# Program Icon
icon = vdiicon.ico
# Logo displayed on all windows
logo = vdiclient.png
# Enable Kiosk mode, which does not allow the user to close anything
kiosk = False
# Enable displaying SPICE ini file before opening virt-viewer
inidebug = False

[Authentication]
# This is the authentication backend that will be used to authenticate
auth_backend = pve
# If enabled, 2FA TOTP entry dialog will show
auth_totp = false
# If disabled, TLS certificate will not be checked
tls_verify = false
# User name
user = user
# API Token Name
#token_name = dvi
#API Token Value
#token_value = xxx-x-x-x-xxx

[Hosts]
# Hosts are entered as `IP/FQDN = Port`
foo.net = 8006
bar.net = 8006
(I have 5 here total)

[SpiceProxyRedirect]
# The Spice Proxy provided by the Proxmox API may need to have it's host/port rewritten
# These rewrite rules are written `IP:port = IP:port`
#pve1.example.com:3128 = 123.123.123.123:6000

Keyboard is not auto captured

I am using t2 linux on macbook air.
yesterday i have upgraded from ubuntu 22.04 to 22.10.
after upgrade remote-viewer working good but it does not capture keyboard by default i have to use usb pass through to get keyboard full working otherwise host os will take keyboard input, if usb pass though enabled then host wont able to use them until PT is disabled.
if i press window/super button host os will shows corresponding action not the PVE vm.

neofetch info

OS: Ubuntu 22.10 x86_64
Host: MacBookAir9,1 1.0
Kernel: 6.0.2-t2
Uptime: 1 hour, 9 mins
Packages: 2181 (dpkg), 27 (flatpak), 8 (snap)
Shell: bash 5.2.2
Resolution: 2560x1600
DE: GNOME 43.0
WM: Mutter
WM Theme: Adwaita
Theme: Yaru-red [GTK2/3]
Icons: Yaru-red [GTK2/3]
Terminal: gnome-terminal
CPU: Intel i5-1030NG7 (8) @ 3.500GHz
GPU: Intel Iris Plus Graphics G7
Memory: 2996MiB / 7753MiB

Ubuntu not opening virtviewer

Running
Description: Ubuntu 18.04.6 LTS
Release: 18.04
I get the Following error after Install. and trying to connect to a VM. I'm able to connect to Virtviewer from the proxmox web gui but not PVE VDI

PVE VDI launches and lets me login Show's VMS but provides this error after clicking on a VM

can not determine the connection type from URI

List Formatting

Currently, all the VMs and containers are put in one big list. I currently have ~30 total so the UI window extends past my screen. So it would be beneficial to add some formatting. Something along the lines of making the list scroll able or add multiple columns. Also differentiating between VMs and containers would be helpful.

How does multiple hosts work?

I add multiple hosts in the configuration file but it only prompts the first host listed and doesn't inquire with the others.

How should this work out?

Feature request

would it be possible to add buttons for the below actions if permission allow
Power on
Reset
Stop
Shutdown

Snapshots.
take snapshot
delete snapshot
roll back.

Cient is not starting on Archlinux

raceback (most recent call last):
File "/home/mac/PVE-VDIClient/vdiclient.py", line 3, in
import PySimpleGUIQt as sg # pip install PySimpleGUIQt
File "/home/mac/.local/lib/python3.10/site-packages/PySimpleGUIQt/init.py", line 2, in
from .PySimpleGUIQt import *
File "/home/mac/.local/lib/python3.10/site-packages/PySimpleGUIQt/PySimpleGUIQt.py", line 25, in
from PySide2.QtWidgets import QApplication, QLabel, QWidget, QLineEdit, QComboBox, QFormLayout, QVBoxLayout, QHBoxLayout, QListWidget, QDial, QTableWidget
ImportError: libshiboken2.abi3.so.5.15: cannot open shared object file: No such file or directory

Thank you :)

Could not load the Qt platform plugin "xcb" in "" even though it was found

Hi Josh, thank for the amazing job, I tryed on some distros and is working great, but im having an issue on Lubuntu 18.04.
I have the need to run it on this distro, so choosing another is not an option.

When i try to run the python script I get this error i put in the title.

I tryed installing the libraries from apt and nothing, can you give me a piece of clarity to solve this, is the last step to finish my lab project.

Thanks

Unable to connect to graphic server

UnableToConnectToGraphicServer
Is this a configuration error with my proxmox installation or PVE-VDIClient?

When I click connect button next to the server in the list, I recieve the error "Unable to connect to graphic server - could not connect to proxy server 127.0.0.1: Connection refused"

This is my config file:
[General]
title = Proxmox VDI
icon=vdiicon.ico
logo=vdilogo.png
kiosk=false
theme=Dark

[Authentication]
auth_backend=pve
auth_totp=false
tls_verify=false

[Hosts]
192.168.198.8=8006

Theme in config not picked up

Theme is set immediately upon start using the default 'LightBlue' value instead of setting it after loading in the config value.

Feature request - Save GUI position

Hi

One maybe simple issue. On my dual screen client, the vdiclient starts @ every start in the center position between the two screens and i have to move it on one side.. And after every refresh of, for example on one machine discription, the window jumps to the center again.

Not really a big issue... but.. ;)

Unable to connect to graphic server - could not connect to proxy server : Connection refused

I am getting the following message after I select the server from the list after entering user & password
"Unable to connect to graphic server - could not connect to proxy server 23.217.138.110: Connection refused"

both the Debian client running PVE-VDIClient and the PVE server are on the same subnet.
Thank You in advance for any help, I am a noob.

VV file::
[virt-viewer]
title=VM 101 - Windows10
type=spice
password=5436bb5d22a8a58770432350c27db45ce7277d4c
tls-port=61000
host=pvespiceproxy:64067a18:101:jld01::f6d4573455f257f5561d2f8786d2e1a7e7ea530f
secure-attention=Ctrl+Alt+Ins
host-subject=OU=PVE Cluster Node,O=Proxmox Virtual Environment,CN=jld01.net.io
proxy=http://192.168.10.5:3128

vdiclient.ini file::
[General]
title = VDI
icon=/home/jld/PVE-VDIClient/vdiicon.ico
logo=/home/jld/PVE-VDIClient/vdilogo.png
kiosk=false

[Authentication]
auth_backend=pve
auth_totp=false
tls_verify=false

[Hosts]
192.168.10.5 = 8006

Issue with Spice

First - Thanks for a great program! Now on to the issue :)

I have Proxmox running remotely in a Lab at school and as a server here at the house. When connecting through the web interface and launching a Spice session Remote-Viewer connects and launches a window automatically with no issues. I am able to connect to either server with the test account and see a list of VMs the user is authorized to use. The issue that happens is that Virt Viewer pops up a window saying it is "unable to connect to the graphic server"

Some things I have tried - Turning off all Windows Firewall and Anti Virus Settings - Same Error
- Setting the spice port in the vdiclient.ini file - same error

I am running Windows 11, so I'm not sure if that is part of the issue. I plan on testing on Windows 10 when I return to work Monday.
Just wondering if you had any other ideas since both servers work with the web browser downloading the .vv file, but both fail with the same error in the app.

Look forward to seeing where this program goes.

Greg

Install guide is not idiot proof...

Hi there. Loving the VDI so far. Definitely making my life easier.

For the install process in the readme, Windows was pretty straight forward, but the Linux version could leave a beginner lost.

The part where you clone the repository isn't in there. I know it seems obvious, but just a month ago that would have completely confounded me. Might be nice to have a more granular step-by-step. Anyways, Thanks!

Got an error when connected to a desktop instance

image

Traceback (most recent call last):
File "vdiclient.py", line 496, in
File "vdiclient.py", line 486, in main
File "vdiclient.py", line 455, in showvms
File "vdiclient.py", line 275, in vmaction
File "proxmoxer\core.py", line 172, in post
File "proxmoxer\core.py", line 149, in _request
proxmoxer.core.ResourceException: 500 Internal Server Error: no spice port

[SpiceProxyRedirect] How to get infos

Hello Josh,

thank you for this Software!

However i dont understand what to put in here:

# The Spice Proxy provided by the Proxmox API may need to have its host/port rewritten
# These rewrite rules are written `IP:port = IP:port`
# 1. Use the inidebug and read the current proxy=pve1.example.com:3128
# 2. Add your proxmox ip to the right side e.g. 123.123.123.123:6000
pve1.example.com:3128 = 123.123.123.123:6000

Left is FQDN from proxy and right side my ip of the proxmox host?


[virt-viewer]
type=spice
password=14a60aa38fab20d4e945590fa1c4b195a8fc6cd4
toggle-fullscreen=Shift+F11
tls-port=61000
proxy=http://my2ndFQDN:3128
delete-this-file=1
title=VM 100 - v100-u20-foxy
host=pvespiceproxy:64198b7e:100:myHostName::3dbce15a99118cc74b36b6ac1d813d8325fa3f4c
release-cursor=Ctrl+Alt+R
secure-attention=Ctrl+Alt+Ins
ca=-----BEGIN CERTIFICATE-----\n
....
-----END CERTIFICATE-----\n
host-subject=OU=PVE Cluster Node,O=Proxmox Virtual Environment,CN=my1stFQDN

Feature Request - Multi Server Drop Down

Would be nice to have a multi server drop down.

I would say do something like

[Hosts]
# Hosts are entered as `IP/FQDN = Port`
pve2.percfab.com = 443 = Production
help.itmethod.net = 443 = Production
pve34.percfab.com = 443 = Dev
pve.itmethod.net = 443 = Dev

Where the Third parameter is the group / Nice Name for the Groups continue to try them in order. but if none of the hosts have a Third paramer to ignore the groups.

or maybe handle the config file like this would be easier

[Hosts]
# Hosts are entered as `IP/FQDN = Port`
Name = Production
pve2.percfab.com = 443
help.itmethod.net = 443

[Hosts.1]
# Hosts are entered as `IP/FQDN = Port`
Name = Dev
pve34.percfab.com = 443
pve.itmethod.net = 443

Token Authentication Failing

When Setting Token up in config it still prompts for username and password.

Below is my config where you can see I've tried several different Scenarios. the only 2 parameters that seem to work are user and token name I WhenI get an error I can see the name there. but usually I don't get an error I only get the login screen

`[General]

This is the title that is diplayed to the user

title = PercFab VDI

This is the PySimpleGui Theme that is used. Run pvevdi.py with flag --list_themes for a list of themes

theme = LightRed

Program Icon

icon = vdiicon.ico

Logo displayed on all windows

logo = vdiclient.png

Enable Kiosk mode, which does not allow the user to close anything

kiosk = False

Enable/Disable Fullscreen mode (not applicable in Kiosk mode)

fullscreen = False

Enable displaying SPICE ini file before opening virt-viewer

inidebug = False

[Authentication]

This is the authentication backend that will be used to authenticate

auth_backend = pve

If enabled, 2FA TOTP entry dialog will show

auth_totp = false

If disabled, TLS certificate will not be checked

tls_verify = True

User name

user = vdiclient

API Token Name

#token_name = vdiclient@pve!test
#API Token Value
#token_value = a6fd7ccc-5d1e-4ece-b653-019db3c23f63
#token_name = Chicken
#token_value = 01dcb2f8-8fb7-489a-8353-75fccdd147ed
#01dcb2f8-8fb7-489a-8353-75fccdd147ed # vdiclient@pve!Chicken
`

requirements.sh failed to run on ARM clients ?

my OS info

Linux phicomm-n1 5.9.0-arm-64 #20.11 SMP PREEMPT Sat Nov 21 20:50:45 CST 2020 aarch64 aarch64 aarch64 GNU/Linux

Welcome to Armbian 20.11 Focal with Linux 5.9.0-arm-64

No end-user support: built from trunk

System load:   2%           	Up time:       14:10		
Memory usage:  15% of 1.70G  	IP:            169.254.9.222 192.168.11.185
CPU temp:      56°C           	Usage of /:    83% of 6.0G   	

[ General system configuration (beta): armbian-config ]

running requirements.sh

chchang@phicomm-n1:~/git/PVE-VDIClient$ ./requirements.sh
Collecting proxmoxer
  Downloading proxmoxer-1.3.0-py3-none-any.whl (14 kB)
Installing collected packages: proxmoxer
Successfully installed proxmoxer-1.3.0
Collecting PySimpleGUIQt
  Downloading PySimpleGUIQt-0.35.0-py3-none-any.whl (82 kB)
     |████████████████████████████████| 82 kB 172 kB/s 
ERROR: Could not find a version that satisfies the requirement pyside2 (from PySimpleGUIQt) (from versions: none)
ERROR: No matching distribution found for pyside2 (from PySimpleGUIQt)

any suggestions ??

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.