cockpit-project / cockpit-machines

Cockpit UI for virtual machines
GNU Lesser General Public License v2.1
298 stars 75 forks source link

RFE: Option for VNC console in separate browser window #965

Open dowdle opened 1 year ago

dowdle commented 1 year ago

I applaud cockpit-machines for offering an embedded VNC display... but so many other projects are providing a separate window with a full-screen option via noVNC. I would love to have a pleasingly usable desktop experience.

garrett commented 1 year ago

Thanks for your feedback! I agree, we should have this.

Right now, we do have the "expand" button, which gives you a bit more space, but it's not quite the same. It should have even more space. However, middle clicking on the link doesn't work, so you can't open it in a new window.

Also we do have the ability to open up a native app, but it does need improving too (ports and firewall might get in the way or need more configuring, however). One of the blockers is the lack for an ssh option in the .vv file. It seems like an omission upstream, so we're waiting on that to be fixed to be able to support it. That's an issue with virt-viewer and it's filed @ https://gitlab.com/virt-viewer/virt-viewer/-/issues/86. More information about the native app support (including this and much more) is on the issue @ https://github.com/cockpit-project/cockpit-machines/issues/553.

Meanwhile, I'll also try to raise the priority of us working on the VNC component, so we can hopefully work on a fix for this sooner.

garrett commented 1 year ago

I was considering closing this as a duplicate of https://github.com/cockpit-project/cockpit-machines/issues/680, but I think this captures an idea that the other one doesn't:

We should at least start by making middle clicks and control clicks work, to make the VNC viewer work in another tab (or window).

dowdle commented 1 year ago

garrett,

One thing you completely side-stepped was my mention of noVNC. noVNC is packaged in Fedora and is used by several dozen other projects like Proxmox VE, TrueNAS Scale, well... pretty much any virtualization related product that offers a web-based interface. I'm hoping that there isn't anything in Cockpit's design that would hinder noVNC integration... but I'm not a developer myself. While the integration might take some effort, all of the features that noVNC comes with would mean, I assume, less effort in having to create those from scratch.

Anyhoo, something to consider. Having a small region that in the existing window is really a non-starter.

Thanks.

garrett commented 1 year ago

@dowdle: Cockpit-Machines actually uses noVNC, as Cockpit-Machines uses PatternFly React Console, which in turn uses noVNC: https://www.npmjs.com/package/@patternfly/react-console?activeTab=dependencies

When you said "desktop experience", I thought you meant a desktop VNC client.

We already have a separate issue for fullscreen @:

Having a small region that in the existing window is really a non-starter.

After you click expand, it shouldn't be so small. But it doesn't properly size vertically:

Screenshot 2023-03-13 at 12-49-52 Virtual machines - garrett@Bolt

(Fellow devs who working on the VNC viewer: See all that blank space below the VNC screen? It's not being used, and to preserve the aspect ratio, the viewer is adding unnecessary bars on the sides. :frowning_face:)

We already have some issues for having an even larger view (not just a smaller view for Cockpit itself, with the nav hidden @ https://github.com/cockpit-project/cockpit/issues/18433 — possibly even proper fullscreen for VNC, if possible) and intend on working on it soon. It's open as issues here on GitHub (with some designs), some of the team has been working on VNC related issues lately, and it's even on our Jira tracking board as a larger scoped project to-be-done soon.

In other words: We'll hopefully have it solved soon?

guercheLE commented 1 year ago

I wouldn't mind having the expand button letting the viewer take all the tab canvas, and if browser is in full screen mode, the viewer taking all the screen, but keeping a button somewhere to collapse it.

hw-claudio commented 3 months ago

A separate detachable VNC window is much more usable. Any news on this?

garrett commented 3 months ago

Same state as my comment above. It's something we want to implement, but we still need a developer to work on this.