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

add html5 vnc support for SMC projects so that we can use X11, X windows applications -- noVNC looks good #135

Closed
williamstein opened this issue Sep 28, 2015 · 17 comments

Comments

@williamstein
Copy link
Contributor

Motivation: this would at least make it possible for people to use various native apps (like GIMP? Octave?) if necessary. Better than nothing. It's something people expect. Also, this could be an easy feature to add that wouldn't have any negative effect on our UI -- it would just increase usage. One way to do it would be via simply a document type, e.g., ".vnc", which when opened provides a full vnc session/desktop/etc using the account of that project. Easy, simple, no added ui weight. I've been planning to do this for a long, long time.

Technology to use: https://kanaka.github.io/noVNC/

A discussion of a similar product: https://news.ycombinator.com/item?id=10289673

Sync -- like in terminals in SMC -- does work, e.g., I tried opening the same vnc session in two browsers and either one can fully interact with the session.

@williamstein
Copy link
Contributor Author

screen shot 2015-09-28 at 9 54 40 am

@williamstein williamstein changed the title add html5 vnc support for SMC projects add html5 vnc support for SMC projects so that we can use X11 applications -- noVNC looks good Oct 15, 2015
@williamstein williamstein changed the title add html5 vnc support for SMC projects so that we can use X11 applications -- noVNC looks good add html5 vnc support for SMC projects so that we can use X11, X windows applications -- noVNC looks good Oct 15, 2015
@rbeezer
Copy link

rbeezer commented Oct 15, 2015

R Commander would be a (graphical) application many introductory statistics courses would find appealing on SMC.

http://www.rcommander.com/

@timothyclemansinsea
Copy link
Contributor

I need this ASAP because of an OpenCV script I'm trying to use requiring X server. I tried building on Icebergs.io but it failed.

@williamstein
Copy link
Contributor Author

Another possibility: https://news.ycombinator.com/item?id=11744430

@williamstein
Copy link
Contributor Author

This goes against the whole point/philosophy/dream/argument of SMC. So let's not do this.

@williamstein
Copy link
Contributor Author

Discussion of some approaches to this problem here: https://news.ycombinator.com/item?id=16358774

And reopening, since I disagree with my previous comment - this can be viewed similarly to term.js

@williamstein williamstein reopened this Feb 12, 2018
@slel
Copy link
Contributor

slel commented Mar 19, 2018

Would this allow to run TeXmacs on CoCalc?

@williamstein
Copy link
Contributor Author

Instead supporting Wayland might be a reasonable alternative/tradeoff. See https://github.com/udevbe/greenfield

@williamstein
Copy link
Contributor Author

Definitely 100% the way to go right now would be xpra

E.g., on my laptop this worked well, after installing a lot of packages:

xpra start --bind-tcp=0.0.0.0:14501 --html=on --start=xterm --daemon=no --xvfb="/usr/bin/Xvfb +extension  Composite -screen 0 1920x1080x24+32 -nolisten tcp -noreset"

See https://xpra.org/trac/wiki/Clients/HTML5

@williamstein williamstein self-assigned this Oct 12, 2018
@williamstein
Copy link
Contributor Author

This will be available soon :-)

@williamstein
Copy link
Contributor Author

Teaser screenshot showing VSCode, Octave, TexMacs, and RStudio all running in a cocalc-docker instance remotely...

screenshot 2018-10-12 at 1 17 59 pm

@rbeezer
Copy link

rbeezer commented Oct 12, 2018 via email

@slel
Copy link
Contributor

slel commented Oct 17, 2018

Note that many plugins for GNU TeXmacs just got updated and given a new home,
including

@williamstein
Copy link
Contributor Author

Another teaser...

image

@williamstein
Copy link
Contributor Author

It's now possible to try this out. CAVEAT: It's still far from done and focus is pretty broken, etc., etc.,

But if anybody wants to just try this out, refresh your browser after I write this, then make a file that ends in .x11. Just do this in any project. You'll get a terminal. As a test, try running gvim or emacs or starting R and drawing a plot.

You do NOT have to do anything to explicitly start or stop any servers, and this is collaborative -- multiple people can open the same .x11 file. However, it's no more collaborative than terminals.

Once you have a new .x11 open, you can use the terminal to open app or do this in any non-X11 terminal:

~$ export DISPLAY=:0
~$ gvim
etc.

and tabs will pop up in the .x11 thing for now.

image

William

@williamstein
Copy link
Contributor Author

We now have this. It lets you run any graphical Linux X11 applications in your browser. If you want to try it, click

+New --> X11 Desktop

You'll get a terminal on the left and a blank desktop on the right. Type

~$ xclock&

in the terminal, and you'll a tab appear on the right. Click it and see a clock. Similar for lots of other things
like inkscape, libreoffice, octave, gvim, emacs, gnome-shell, rstudio, VS code, nteract, etc.

@rbeezer
Copy link

rbeezer commented Nov 3, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants