6 ms·
This is completely awesome. When I saw http://cb.vu http://cb.vu a few years ago I thought hey, someone has finally done it, but that turned out to be a hack. K
by sigil 15y ago
This is completely awesome. When I saw http://cb.vu http://cb.vu a few years ago I thought hey, someone has finally done it, but that turned out to be a hack. Kudos to Bellard once again.
Nitpicking: the terminal emulation is messed up. It keeps resizing horizontally, and less gets confused. I'm sure the terminal emulator was fun to play with. A correct vt100 state machine implementation [1] would probably not be quite as fun [2]. There's a vt100.js library used by a couple projects that might improve things. [3]
[1] http://vt100.net/emu/dec_ansi_parser http://vt100.net/emu/dec_ansi_parser
[2] http://vt100.net/emu/vt500_parser.png http://vt100.net/emu/vt500_parser.png
[3] http://fzort.org/bi/o.php http://fzort.org/bi/o.php
- wladimir 15y agoIndeed, this is completely awesome. I first thought it was some remotely hosted virtual machine, but it really runs inside the browser. Insane! Especially considered how fast it is. When he adds X, we can run Firefox inside Linux inside Firefox inside Linux :') Edit: seems the terminal emulator supports ANSI escape codes such as the 16 Linux colors, but not the XTerm 256 color mode (\e[38;5;CCm) or Konsole 24 bit (\e[38;2;RR;GG;BBm). Guess it could be easily added as it's HTML.
- sigil 15y ago> When he adds X, we can run Firefox inside Linux inside Firefox inside Linux :') Reddit has a meme for that. ;) (downvote away, I've earned it!)
- dkasper 15y agoNo network connection yet either :( ~ # ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B
- mnutt 15y agoThis would require a server-side component, as the browser has cross-domain limitations and couldn't generate arbitrary network traffic anyway. You could tunnel through websockets, however.
- Maxious 15y ago> When he adds X, we can run Firefox inside Linux inside Firefox inside Linux :') Skip the middle man, output gtk via html5 http://blogs.gnome.org/alexl/2011/03/15/gtk-html-backend-update/ http://blogs.gnome.org/alexl/2011/03/15/gtk-html-backend-upd... (I don't actually know if it still has dependencies on X11 :P)
- wladimir 15y agoThat would be even better. One could make a Linux device driver to directly access Canvas, WebGL, or even the DOM. It seems that in my post I used "X" as a generic name for "Linux graphics" which is pretty short-sighted.
- bzbarsky 15y agoGecko's GTK backend has dependencies on X11, if that's what you were asking about.
- starwed 15y agoInterestingly, you can run Firefox inside of Firefox... just enter the url: chrome://browser/content/browser.xul
- bhoung 15y agowhy??
- windsurfer 15y agoBecause XUL is rendered with gecko.
- CountHackulus 15y agoSadly my dreams were also crushed when I discovered that lynx wasn't in there. However, wget is there, so all the building blocks are in place.
- anc2020 15y agoAs far as I can guess, any networking implementation would have to pass low level requests through a proxy on the server, which would end up making things pretty slow even on an unburdened server.
- pixelbeat 15y agoI just tried out my ansi_colours.sh [1] script and it mostly worked. A few notes: wget is available, and it would be cool to piggy back the linux network stack through the browser. cut & paste support is a must for any terminal The space characters are very narrow. Needs to be monospace. All fairly minor compared to the coolness of this. [1] http://www.pixelbeat.org/scripts/ansi_colours.sh http://www.pixelbeat.org/scripts/ansi_colours.sh
- sedachv 15y agoThere's a port of urxvt to JavaScript: https://github.com/paddymul/rxvt-js https://github.com/paddymul/rxvt-js