fcwu / docker-ubuntu-vnc-desktop Goto Github PK
View Code? Open in Web Editor NEWA Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.
License: Apache License 2.0
A Docker image to provide web VNC interface to access Ubuntu LXDE/LxQT desktop environment.
License: Apache License 2.0
Newbie here, I'm trying to connect to this vnc server:
https://github.com/danielguerra69/soulseek
I ran
docker run -it --rm -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
then i try to connect like this:
then this is shown:
and then the desktop is shown again, and I can't see the program...
How can I connect to that VNC server?
Thanks!
Hi, is it possible to realize thin in ubuntu 14.04? Because I need to use ubuntu 14.04. If you can make a 14.04 version I believe it will benefit more people. Thank you very much.
usr/lib/python2.7/dist-packages/supervisor/options.py:295: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2015-07-03 15:43:17,503 CRIT Supervisor running as root (no user in config file)
2015-07-03 15:43:17,503 WARN Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2015-07-03 15:43:17,526 INFO RPC interface 'supervisor' initialized
2015-07-03 15:43:17,526 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2015-07-03 15:43:17,527 INFO supervisord started with pid 1
2015-07-03 15:43:18,531 INFO spawned: 'xvfb' with pid 29
2015-07-03 15:43:18,535 INFO spawned: 'lxsession' with pid 30
2015-07-03 15:43:18,538 INFO spawned: 'x11vnc' with pid 31
2015-07-03 15:43:18,541 INFO spawned: 'novnc' with pid 32
2015-07-03 15:43:18,734 CRIT reaped unknown pid 52)
2015-07-03 15:43:19,553 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-07-03 15:43:19,554 INFO success: lxsession entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-07-03 15:43:19,554 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-07-03 15:43:19,554 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2015-07-03 15:43:19,614 CRIT reaped unknown pid 77)
2015-07-03 15:43:19,616 CRIT reaped unknown pid 79)
2015-07-03 15:43:19,619 CRIT reaped unknown pid 81)
2015-07-03 15:43:19,621 CRIT reaped unknown pid 83)
2015-07-03 15:43:19,624 CRIT reaped unknown pid 85)
2015-07-03 15:43:19,626 CRIT reaped unknown pid 87)
2015-07-03 15:43:19,628 CRIT reaped unknown pid 89)
2015-07-03 15:43:19,631 CRIT reaped unknown pid 91)
2015-07-03 15:43:19,633 CRIT reaped unknown pid 93)
2015-07-03 15:43:19,635 CRIT reaped unknown pid 95)
2015-07-03 15:43:19,638 CRIT reaped unknown pid 97)
2015-07-03 15:43:19,640 CRIT reaped unknown pid 99)
2015-07-03 15:43:19,642 CRIT reaped unknown pid 101)
2015-07-03 15:43:19,644 CRIT reaped unknown pid 103)
2015-07-03 15:43:19,646 CRIT reaped unknown pid 105)
2015-07-03 15:43:19,649 CRIT reaped unknown pid 107)
2015-07-03 15:43:19,651 CRIT reaped unknown pid 109)
2015-07-03 15:43:19,653 CRIT reaped unknown pid 111)
2015-07-03 15:43:19,655 CRIT reaped unknown pid 113)
2015-07-03 15:43:19,657 CRIT reaped unknown pid 115)
2015-07-03 15:43:19,660 CRIT reaped unknown pid 117)
2015-07-03 15:43:19,663 CRIT reaped unknown pid 119)
2015-07-03 15:43:19,665 CRIT reaped unknown pid 121)
2015-07-03 15:43:19,668 CRIT reaped unknown pid 123)
2015-07-03 15:43:19,670 CRIT reaped unknown pid 125)
2015-07-03 15:43:19,673 CRIT reaped unknown pid 127)
2015-07-03 15:43:19,676 CRIT reaped unknown pid 129)
2015-07-03 15:43:19,678 CRIT reaped unknown pid 131)
2015-07-03 15:43:19,681 CRIT reaped unknown pid 133)
2015-07-03 15:43:19,683 CRIT reaped unknown pid 135)
2015-07-03 15:43:19,686 CRIT reaped unknown pid 137)
2015-07-03 15:43:19,688 CRIT reaped unknown pid 139)
2015-07-03 15:43:19,690 CRIT reaped unknown pid 141)
2015-07-03 15:43:19,693 CRIT reaped unknown pid 143)
2015-07-03 15:43:19,696 CRIT reaped unknown pid 145)
2015-07-03 15:43:19,698 CRIT reaped unknown pid 147)
2015-07-03 15:43:19,701 CRIT reaped unknown pid 149)
2015-07-03 15:43:19,706 CRIT reaped unknown pid 151)
2015-07-03 15:43:19,710 CRIT reaped unknown pid 153)
2015-07-03 15:43:19,714 CRIT reaped unknown pid 155)
2015-07-03 15:43:19,715 CRIT reaped unknown pid 157)
2015-07-03 15:43:19,718 CRIT reaped unknown pid 159)
2015-07-03 15:43:19,721 CRIT reaped unknown pid 161)
2015-07-03 15:43:19,725 CRIT reaped unknown pid 163)
2015-07-03 15:43:19,743 CRIT reaped unknown pid 165)
2015-07-03 15:43:19,746 CRIT reaped unknown pid 167)
2015-07-03 15:43:19,748 CRIT reaped unknown pid 169)
2015-07-03 15:43:19,751 CRIT reaped unknown pid 171)
2015-07-03 15:43:19,755 CRIT reaped unknown pid 173)
2015-07-03 15:43:19,758 CRIT reaped unknown pid 175)
2015-07-03 15:43:19,762 CRIT reaped unknown pid 177)
2015-07-03 15:43:19,764 CRIT reaped unknown pid 179)
2015-07-03 15:43:19,767 CRIT reaped unknown pid 181)
2015-07-03 15:43:19,769 CRIT reaped unknown pid 183)
2015-07-03 15:43:19,772 CRIT reaped unknown pid 185)
2015-07-03 15:43:19,774 CRIT reaped unknown pid 187)
2015-07-03 15:43:19,777 CRIT reaped unknown pid 189)
2015-07-03 15:43:19,779 CRIT reaped unknown pid 191)
2015-07-03 15:43:19,781 CRIT reaped unknown pid 193)
2015-07-03 15:43:19,783 CRIT reaped unknown pid 195)
2015-07-03 15:43:19,786 CRIT reaped unknown pid 197)
2015-07-03 15:43:19,790 CRIT reaped unknown pid 199)
2015-07-03 15:43:19,793 CRIT reaped unknown pid 201)
2015-07-03 15:43:19,795 CRIT reaped unknown pid 203)
2015-07-03 15:43:19,798 CRIT reaped unknown pid 205)
2015-07-03 15:43:19,802 CRIT reaped unknown pid 207)
2015-07-03 15:43:19,806 CRIT reaped unknown pid 209)
2015-07-03 15:43:19,809 CRIT reaped unknown pid 211)
2015-07-03 15:43:19,811 CRIT reaped unknown pid 213)
2015-07-03 15:43:19,813 CRIT reaped unknown pid 215)
2015-07-03 15:43:19,815 CRIT reaped unknown pid 217)
2015-07-03 15:43:19,817 CRIT reaped unknown pid 219)
2015-07-03 15:43:19,819 CRIT reaped unknown pid 221)
2015-07-03 15:43:19,821 CRIT reaped unknown pid 223)
2015-07-03 15:43:19,824 CRIT reaped unknown pid 225)
2015-07-03 15:43:19,826 CRIT reaped unknown pid 227)
I run the boot2docker on my mac.
It will display as you see and I can't access http://127.0.0.1:6080/vnc.html
Can you help to check the problem?thank you
@fcwu Any plans to upgrade to latest noVNC?
Hi, My docker has been installed in a remote development machine, Can I run this image in the development machine and access by my local Macbook?
I want o install other software in it, but can't know the root password of the ubuntu installed.
see https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/master/Dockerfile#L22, see https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/master/Dockerfile#L23
Please don't take this personally, but I would really prefer a version, where all packages are coming from official and thrustworthy repositories. I'm sorry, but the content of those 2 files can change any time - malicious code could be inside. Who knows?
Also it is not guaranteed that those files will stay forever. Existing docker images could be unstartable, as soon as the dropbox content goes away... :-(
Hi,
is it possible to secure it with https instead of http?
I am trying to access this virtual desktop from office ( while my qnap is at home with docker station is at home)
thanks!
我想通过Dockerfile来生成镜像,但是不知道如何在Dockerfile文件中设置root用户的密码,请问你是怎么做的呢?谢谢。
很不安全啊,lxde我不熟悉,没法帮你改进。
I am seeing a very low refresh rate on my VNC session (4-8 / sec) running on localhost. Is it normal? I get much higher refresh rate on native VNC clients (such as TigerVNC). Is there anything I can do to improve it?
Also, I couldn't get the sound to work. Is it not supported?
Hello, thank you for the work. I can start the noVNC in most case. In case I start my own java program soon after run supervisord, the VNC server crashed. If I run the superviord and wait a while, can launch my app without any issue.
20/12/2014 08:39:43 ***************************************
20/12/2014 08:39:43 *** XOpenDisplay failed (:1)
*** x11vnc was unable to open the X DISPLAY: ":1", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.
Some tips and guidelines:
** An X server (the one you wish to view) must be running before x11vnc is
started: x11vnc does not start the X server. (however, see the -create
option if that is what you really want).
** You must use -display , -OR- set and export your $DISPLAY
environment variable to refer to the display of the desired X server.
** Next, you need to have sufficient permissions (Xauthority)
to connect to the X DISPLAY. Here are some Tips:
** If NO ONE is logged into an X session yet, but there is a greeter login
program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
to find and use the raw display manager MIT-MAGIC-COOKIE file.
Some examples for various display managers:
gdm: -auth /var/gdm/:0.Xauth
-auth /var/lib/gdm/:0.Xauth
kdm: -auth /var/lib/kdm/A:0-crWk72
-auth /var/run/xauth/A:0-crWk72
xdm: -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
dtlogin: -auth /var/dt/A:0-UgaaXa
Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
Starting with x11vnc 0.9.9 you can have it try to guess by using:
-auth guess
(see also the x11vnc -findauth option.)
Only root will have read permission for the file, and so x11vnc must be run
as root (or copy it). The random characters in the filenames will of course
change and the directory the cookie file resides in is system dependent.
See also: http://www.karlrunge.com/x11vnc/faq.html
I ran the command in the readme and also the following command using unmodified files:
docker run test ls
no such file or directory
Error response from daemon: Cannot start container 6cb41a9190534beb3440f72f32607fdec4744fc60d9f48b6bd3ffdbb38219ef3: [8] System error: no such file or directory
@fcwu
I have the following scenario where there is a need for simultaneous connections to the same session/screens
a. Student: Who will have access to modify the screen/session - has keyboard and mouse access
b. Teacher: Who will have "view-only" access to the screen/session to view/observe (but not modify) what the Student is doing.
How should that be setup?
If I want to run another gui program like firefox to the supervisor.conf file, it doesn't open when I launch my VNCServer for the first time.
If I kill supervisord and I run it the second time, firefox opens as it's supposed to. The only new process that I could see was LXDE's menu-cache.
What could be a possible work around for this?
I have a Dockerfile that builds on your excellent one! However I just tried to rebuild it and get this strange error about expired keys for the repository "http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release"
Step 3/5 : RUN apt-get update
---> Running in 46def89c3bd3
Hit:1 http://ppa.launchpad.net/fcwu-tw/ppa/ubuntu xenial InRelease
Ign:2 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 InRelease
Get:3 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release [1007 B]
Get:4 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release.gpg [481 B]
Get:5 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Ign:4 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release.gpg
Hit:6 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Packages
Err:6 http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Packages
Hash Sum mismatch
Hit:7 http://tw.archive.ubuntu.com/ubuntu xenial InRelease
Hit:8 http://tw.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:9 http://tw.archive.ubuntu.com/ubuntu xenial-backports InRelease
Fetched 104 kB in 1s (60.1 kB/s)
Reading package lists...
W: GPG error: http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release: The following signatures were invalid: KEYEXPIRED 1496576244
W: The repository 'http://download.opensuse.org/repositories/home:/Horst3180/xUbuntu_16.04 Release' is not signed.
E: Failed to fetch store:/var/lib/apt/lists/partial/download.opensuse.org_repositories_home:_Horst3180_xUbuntu%5f16.04_Packages.gz Hash Sum mismatch
E: Some index files failed to download. They have been ignored, or old ones used instead.
The command '/bin/sh -c apt-get update' returned a non-zero code: 100
This prevents my image from building.
Hi Thanks for the image, runs good! i just started the docker, and i was user " ubuntu" without giving a password. now i want to "su" to root or "sudo" or change the password of the standard user "ubuntu"!! But HOW?
my best
I have tried running TightVNC and UltraVNC on the hosting server to connect to the running docker container but without success. Is that possible? It would provide a much faster user interface.
Thanks!
When I check on http://html5test.com, the h264 support is missing. On Vimeo, you can check it also: https://vimeo.com/79578794
It will be a great added value to have it. Thxs
I'm not sure what the best solution is, but as it stands with Docker running on a Mac, the docker-machine instance exposes VNC at http://192.168.99.100:6080/vnc.html .
Hi
Perfect information, exactly what I was looking for - thank you!
Now I have a small question. I would love to like here:
https://github.com/creack/docker-firefox
I would love to provide only the FireFox. Would it go and how can I implement it?
Thank you Felix
2014/10/29 14:45:29 Error response from daemon: Cannot start container 1731d0c9ce87470644d36a74313f2ed2a8a9305bd3cec8dd61ad86da88c8668b: /mnt/main/docker/var-lib-docker/aufs/mnt/1731d0c9ce87470644d36a74313f2ed2a8a9305bd3cec8dd61ad86da88c8668b is not within /mnt/main/docker/var-lib-docker/aufs/mnt/1731d0c9ce87470644d36a74313f2ed2a8a9305bd3cec8dd61ad86da88c8668b
I'm running Windows 7.
I downloaded and installed boot2docker 1.1.1.
I executed boot2docker ssh
I pulled your image with
docker pull
Next is a series of commands and output
docker@boot2docker:/devbox/sts$ docker version/devbox/sts$ docker images
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a
docker@boot2docker:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
fans/sts-base latest c09dbe15c9d7 About an hour ago 1.936 GB
centos centos7 1a7dc42f78ba 9 days ago 236.4 MB
centos latest 1a7dc42f78ba 9 days ago 236.4 MB
svendowideit/samba latest 06d5f1237cf3 9 days ago 273.7 MB
ubuntu 12.04 ea7d6801c538 3 weeks ago 127.5 MB
phusion/baseimage latest dabfc8a44cb5 3 weeks ago 421.6 MB
ubuntu latest e54ca5efa2e9 4 weeks ago 276.5 MB
busybox latest a9eb17255234 6 weeks ago 2.433 MB
dorowu/ubuntu-desktop-lxde-vnc latest 15b04390c9f1 7 weeks ago 858.9 MB
docker@boot2docker:/devbox/sts$ docker run -t -i -p 6080:6080 15b04390c9f1/devbox/sts$ docker ps -a
2014/07/18 22:58:11 Error response from daemon: Cannot start container 1e7b0c0f66678c3a23117d5c90561ff56ed21e7be9af4edcbdf43545460f613b: /mnt/sda1/var/lib/docker/aufs/mnt/1e7b0c0f66678c3a23117d5c90561
ff56ed21e7be9af4edcbdf43545460f613b is not within /mnt/sda1/var/lib/docker/aufs/mnt/1e7b0c0f66678c3a23117d5c90561ff56ed21e7be9af4edcbdf43545460f613b
docker@boot2docker:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e7b0c0f6667 dorowu/ubuntu-desktop-lxde-vnc:latest /startup.sh 4 seconds ago sick_bohr
6bd235b0c6ea dorowu/ubuntu-desktop-lxde-vnc:latest /startup.sh 21 minutes ago romantic_poincare
44c5bcacd4d5 fans/sts-base:latest /startup.sh /sbin/my About an hour ago hungry_euclid
866aa3d16904 busybox:latest echo test About an hour ago Exited (0) About an hour ago sick_hoover
docker@boot2docker:~/devbox/sts$
Can you explain why I'm getting an error on startup? Is this a bug in boot2docker? Should I even attempt to run docker under boot2docker?
Hello,
Are you able to type double quotes
through the novnc interface?
Thanks
It should be possible to use a different / better native viewer than one in the web browser like TightVNC, TigerVNC, Vinagre, etc, etc... I have tried exposing -p 5900:5900
but can't seem to get it to work. Any ideas?
Hello,
How can we start the VNC user session with non-root user?
Thanks!
Hello, this is great! thanks.
Im newbie so can you tell me how I can run this at system startup using ubuntu 14.04 ?
Thanks
I was only able to click things by using the touch screen on my laptop
I can't change the resolution by LXRandR, how to make it suitable for higher resolution monitor?
How can one enable secure login to the desktop?
Like https://127.0.0.1:6080/vnc.html
I'm only using 800x600 so far
I'm currently using the latest build and it works perfectly, the only thing I noticed is that the image quality of the desktop is poor in the browser i don't know if this the LXDE itself or the setting of the noVNC server.
so if this is can be improved how can i do it ?
the delete key is work with click one delete one character....
if has 100 to delete ,must click 100
Hi Doro!
I have another question. I notice that your container is using a newer version of x11vnc server (0.9.14) from your own Ubuntu PPA rather than the official version (0.9.13) from the repository.
Why did you make this choice?
Would your container still work with version 0.9.13?
Does 0.9.14 offer better performance? Or maybe better compatibility with novnc or better managment of web sockets?
Thank you!
jerome
Hi,
You have a great image there !
I saw in other issues that you set the image to adapt the resolution on the dcreen resolution. Wich is great, but I have a case where I need a fixed resolution.
I tried many thing (modifiying the supervisord.conf file is overwriten on each container's restart), but I am unable to find how to do it and I wonder if you can tell me so I can do it definitely (by now, I do it with xrandr tweak, but I have to do it on each restart wich is not a good solution).
Futhermore, why not giving users the choice with an environnent variable ?
If I undersstand the mechanisme you use, I can fork your image and do it if you want ?
z.
Does anyone know if it might be possible to open a GUI app docker container window in the docker-ubuntu-vnc-desktop container running on the same host machine?
i.e
docker run -ti --rm -e DISPLAY=$VNC_DESKTOP_DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix firefox
Maybe some ssh with X11 forwarding ?
Container does not lock screen on gui button shutdown->lock screen, please enable to restrict access.
Hi!
Thank you so much for sharing your container as an open source project. I will use it as an easy to try online preview of a Qt desktop application.
I would like to minimize the size and memory footprint of the container so I'm trying to understand how it works and what I can or cannot remove.
What is the purpose of the python code inside image/usr/lib/web?
Did you write this code or is it from another open source project?
Thanks for your time.
jerome
Is there any way to build this container so that resolution can be set as an environment variable so it can be set along with the docker run command?
I wanted to find what changes to be made so as to startup as a different user instead of root when accessing on port 6080.
Today I tried to connect to the desktop with my tablet and was suddenly stuck - there is no keyboard with VNC. I researched a little and you can easily add a screen keyboard via sudo apt-get install matchbox
. It would be nice to include it in the image, preferences could be adapted to make it even easier (larger size, always-on-top).
For the impatient: you can add it to your running docker container via
sudo docker exec -it <container-id> bash
sudo apt-get update
sudo apt-get install matchbox
Can the report of the Docker Security Scan for this repository be published?
I've started the container and pointed my browser to http://myhost:6080/vnc.html
All I see is the default noVNC login window asking(?) me to enter host/port/password. I believe it supposed to automatically open up the lxde session. I am doing following to start the container
$ docker run -i -t -p 0.0.0.0:6080:6080 dorowu/ubuntu-desktop-lxde-vnc
Following is the stdout log from the container
/usr/lib/python2.7/dist-packages/supervisor/options.py:295: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2016-07-26 18:50:48,224 CRIT Supervisor running as root (no user in config file)
2016-07-26 18:50:48,225 WARN Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
2016-07-26 18:50:48,259 INFO RPC interface 'supervisor' initialized
2016-07-26 18:50:48,259 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2016-07-26 18:50:48,259 INFO supervisord started with pid 28
2016-07-26 18:50:49,263 INFO spawned: 'xvfb' with pid 35
2016-07-26 18:50:49,266 INFO spawned: 'lxsession' with pid 36
2016-07-26 18:50:49,270 INFO spawned: 'x11vnc' with pid 37
2016-07-26 18:50:49,279 INFO spawned: 'novnc' with pid 38
2016-07-26 18:50:50,307 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-26 18:50:50,307 INFO success: lxsession entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-26 18:50:50,307 INFO success: x11vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-07-26 18:50:50,307 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
It would be great (from stability and update point of view) if the base system was updated to Ubuntu LTS 16.04.
Thanks for you excellent work!
docker run -i -t -p 6080:6080 dorowu/ubuntu-desktop-lxde-vnc
这条命令执行出错 no user in conf
Hi,
Thank a lot for the docker-image, looks great!
Sorry for the possibly newbie question, but I'm new to docker and not very familiar with linux. I want to have SSH session to the container, usually I would to that via the docker command "docker attach [NAME_OF_CONTAINER]", however this won't work in the provided image, since after I connect I cannot write any commands. I've tried connecting with putty but so far unsuccessfully (I use the same host IP as the one I use to open the web browser gateway)
Thanks in advance!
hello bro i have install the docker and tried to some tests for videos like you had in your video the hybrid vnc one cant able to get audio and video is lagging too much please can you tell me how to fix that
I discovered there is a way to add the sound for novnc. here, more explanations: novnc/noVNC#302
That can be interesting to have it
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.