I’m on a project looking to consolidate all of the different operations into one portal: an Ignition Perspective page. One of the absolute requirements is they need to VNC to site computer running specialized software. Anyone know of where to start for building out an embedded VNC client?
I dont think this option exists for perspective, I’m thinking of hosting a react page that handles this function, that they can reach with a link in the Perspective app. Of course any perspective authentication functionality would be lost, but they’ve already authenticated to the network with a VPN connection, and should therefore have access anyway.
A couple candidates jumped right out of duckduckgo:
The latter uses the Apache Software License, which is compatible with building an Ignition module, fwiw.
Thanks. I was able to get guacamole up and running and connect to my vnc hosts. Putting my apache server’s address in a iframe component worked pretty nicely.
Now I’m just trying to figure it out so that the Ignition application acts as a kind of proxy for accessing that server. It would be nice if that guacamole web page was only accessible from within an authenticated perspective session. Anyone have any thoughts of where to start?
The VNC Repeater function may be what you’re looking for. Just as a guess, you’ll need to install guacamole on the Ignition server and route from there.
OT: Now I’ll have to set up guacamole and play with it. I blame Phil for this.
Hrm, not sure that’s what i’m looking for.
I’ve got guacamole up and running on my ignition server, and can access it on the local network either in my browser or in an iframe.
What I want to do is only expose my Ignition application to the user, so the user connects to it, and then the application has a page that displays the guacamole web page. But as I understand it, iframe’s dont work as a proxy, they just link the user directly to the url.
Were you ever able to come up with a Guacamole configuration that does what you mention here.
“What I want to do is only expose my Ignition application to the user, so the user connects to it, and then the application has a page that displays the guacamole web page.”
I am looking to do the same thing. But just as you eluded, I want the Ignition server to connect to the VNC device and present it in the Perspective view. I can’t provide network access between the user and the VNC device, that would be the role of the Perspective/Ignition server.
in the end we decided users should use vpn to connect to our main network where Ignition and Guacamole was hosted. To see the remote computer we had a button that opened in a new tab the guacamole connection. by default they will have to sign in with separate guacamole credentials, but its possible to set it up for SSO. VPN users couldnt reach the remote computer normally, but the guacacmole server had a special route to the remote computer.
Thanks for the response. We have been looking at a number of ways to skin this one while keeping appropriate secure access for the user. Your comments added a few details that we can mix with previous ideas. Thanks again.
Thanks for all the information! I was able to use noVNC with the Web Dev module (mounted the Embedded files to the Gateway, then linked to it with an inline frame) and websockify as a proxy.
This appears to work well when connecting to computers, but I am having issues using it to connect to PanelView terminals, which use TightVNC internally for their server. Only a few lines of the picture are displayed (same when using noVNC’s online version).
If left on and the screen keeps change (i.e. someone else working with it), more lines get added.
Here is what is read by the noVNC and thrown to the Console in the Ignition Designer:
14:52:54.680 [Browser Thread: 57167] INFO Perspective.Designer.Workspace - Server ProtocolVersion: 003.008
14:52:54.772 [Browser Thread: 57167] INFO Perspective.Designer.Workspace - Screen: 640x480, bpp: 16, depth: 16, bigEndian: 0, trueColor: 1, redMax: 31, greenMax: 63, blueMax: 31, redShift: 11, greenShift: 5, blueShift: 0
The encoding is also “raw”, not “tight” like TightVNC’s name would imply.
Thanks for sharing the information.
I am in the same situation as you for connection to panelview VNC.
Have you found a solution to it?
We use Guacamole in Docker.
You can even find some image with everything preinstalled in one docker.
Then integrate the guacamole webpage inside perspective.