Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow user to view desktop on web vnc #1498

Open
hunnywar opened this issue Dec 19, 2024 · 11 comments
Open

allow user to view desktop on web vnc #1498

hunnywar opened this issue Dec 19, 2024 · 11 comments
Labels
Discussion Needs consensus enhancement New feature or request

Comments

@hunnywar
Copy link
Contributor

@Tpuljak I have a better idea than X11 , you can try it , https://github.com/hunnywar/x11-vnc-docker.git
user can visit localhost:8080 port or they can forward it using daytona forward 8080 to view the desktop

image

this approach allows to run any app without any graphic issues , as X11 often causes graphic issue

Originally posted by @hunnywar in #1206 (comment)

@hunnywar hunnywar changed the title allow user to view desktop on web vnc (using NOVNC) allow user to view desktop on web vnc Dec 19, 2024
@Tpuljak
Copy link
Member

Tpuljak commented Dec 19, 2024

@hunnywar how does this relate to daytona itself? Is there something we should do to facilitate this or can everything be done in the image that the user configures via devcontainers?

@Tpuljak Tpuljak added enhancement New feature or request Discussion Needs consensus labels Dec 19, 2024
@hunnywar
Copy link
Contributor Author

hunnywar commented Dec 19, 2024

@Tpuljak maybe we can introduce a daytona vnc or daytona rdp command inside the project mode , they will allow the user to see their desktop

@Tpuljak
Copy link
Member

Tpuljak commented Dec 19, 2024

@hunnywar that sounds interesting. How would that look like from the implementation side?

@hunnywar
Copy link
Contributor Author

hunnywar commented Dec 19, 2024

to run a VNC-enabled virtual desktop environment.
launch and monitor these four essential processes:

Xvfb: Creates a virtual display for graphical applications.
x11vnc: Shares the virtual display via VNC.
NoVNC: Serves the VNC connection as a browser-accessible WebSocket on port 8080.
Fluxbox: Provides a lightweight window manager.

currently I used supervisord.conf for all this , https://github.com/hunnywar/x11-vnc-docker/blob/master/supervisord.conf

@Tpuljak
Copy link
Member

Tpuljak commented Dec 19, 2024

@hunnywar this could be a feature of the Agent. You can look into the Workspace Toolbox API and maybe try to implement and endpoint that would start the VNC server.

@s-celles
Copy link
Contributor

s-celles commented Dec 23, 2024

Hello,

Devcontainer features provide

https://github.com/devcontainers/features/tree/main/src/desktop-lite

This could help.

Best regards

PS : https://github.com/s-celles/sample-racket-wip/tree/feature-1-initial-version provides such an example

@cw-cdz
Copy link

cw-cdz commented Jan 4, 2025

I do something similar but use KASM VNC containers from Kasm or LinuxServer.io. The Kasm client is way smoother for copy-paste-heavy workflows, so I prefer it for that reason if I'm going to be doing a lot of clipboard activities.

@Tpuljak
Copy link
Member

Tpuljak commented Jan 7, 2025

@cw-cdz are you interested in creating a sample that uses Kasm?

We might natively integrate the VNC solution that proves to be the smoothest

@cw-cdz
Copy link

cw-cdz commented Jan 9, 2025

@cw-cdz are you interested in creating a sample that uses Kasm?

We might natively integrate the VNC solution that proves to be the smoothest

Sure, I’ll standardize an example. I’ve used Kasm and LinuxServer containers in various way—I'll put one up that serves as a good example.


1/15 Update: haven't forgot about this, have just been busy with post holiday stuff and work. Hope to knock it out this weekend.

@cw-cdz
Copy link

cw-cdz commented Jan 22, 2025

@cw-cdz are you interested in creating a sample that uses Kasm?

We might natively integrate the VNC solution that proves to be the smoothest

@Tpuljak
I've finally gotten to this and created a few variants, including a template example for other possible environments. There are multiple ways to enhance this setup, and I’ve also implemented it as a "devcontainer-feature." While this approach can be a bit finicky to get working consistently depending on the environment, I’ve found it useful in some cases.

Generally, I prefer to start with these base images and customize them by adding the development tools and features I need. I’ve also experimented with creating comprehensive dev environments that bundle everything required for various workflows. You can check out the examples here:

https://github.com/cw-cdz/kasm-gui-devcontainers/tree/main/.devcontainer

@Tpuljak
Copy link
Member

Tpuljak commented Jan 23, 2025

@cw-cdz looks nice. I'll have @mojafa try them out and then we can create samples for this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Needs consensus enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants