Hi all, I'm one of the maintainers of xterm.js, open to answer any questions!<p>Here's a little history on the project, some of which is already called out in other comments:<p>- Fabrice Bellard created jslinux[1].<p>- Christopher Jeffrey (@chjj) forked the terminal component into term.js[2], this eventually became unmaintained.<p>- Paris Kasidiaris (@parisk) forked it into xterm.js for use in SourceLair[3].<p>- I showed up around 2016 when investigating options for VS Code's integrated terminal and eventually joined as a maintainer, spending a good deal of my time at work on the project since then.<p>We currently have 5 active maintainers in the xterm.js team as well which I'd like to call out because the project has only come this far as a result of everyone's efforts.<p>[1]: <a href="https://bellard.org/jslinux/" rel="nofollow">https://bellard.org/jslinux/</a><p>[2]: <a href="https://github.com/chjj/term.js" rel="nofollow">https://github.com/chjj/term.js</a><p>[3]: <a href="https://www.sourcelair.com/" rel="nofollow">https://www.sourcelair.com/</a><p>EDITS: Formatting
I wonder how well it fares on the VT100 torture test<p>curl -q <a href="http://cdn.preterhuman.net/texts/art/torturet.vt" rel="nofollow">http://cdn.preterhuman.net/texts/art/torturet.vt</a>
TIL chrome has an ssh client extension which can be used in a browser tab. Anyone care to share their experience with it?<p><a href="https://chrome.google.com/webstore/detail/secure-shell-app/pnhechapfaindjhompbnflcldabbghjo" rel="nofollow">https://chrome.google.com/webstore/detail/secure-shell-app/p...</a>
Related is <a href="https://hterm.org/" rel="nofollow">https://hterm.org/</a> , used with the built in ssh terminal in chromebooks.
We're using xterm.js to teach programming to kids in a block-based (like MIT scratch) editor: <a href="https://app.code-it-studio.de/makerspace/57" rel="nofollow">https://app.code-it-studio.de/makerspace/57</a>
I've used this to create recorded terminals to Kubernetes for an internal app I built. We'd basically proxy the kube exec socket endpoint with a write log so we can playback what folks did.<p>Worked wonderfully. Thanks maintainers!
I wrote a VT100 emulator in PostScript for NeWS in 1987! I worked for a company called Wedge Computer (ha ha!), who ported NeWS to the Mac II running A/UX, which needed a way to connect to Unix servers from NeWS without running a terminal emulator client remotely. It could passed vttest!<p><a href="https://donhopkins.com/home/archive/NeWS/tnterm.ps" rel="nofollow">https://donhopkins.com/home/archive/NeWS/tnterm.ps</a><p><a href="https://en.wikipedia.org/wiki/NeWS" rel="nofollow">https://en.wikipedia.org/wiki/NeWS</a><p>Two versions of NeWS on Mac II Make Debut<p><a href="https://books.google.nl/books?id=Cj8EAAAAMBAJ&pg=PA31&lpg=PA31&dq=%22wedge+computer%22+%22news%22+%22mac%22&source=bl&ots=OGlB_t3fXQ&sig=ACfU3U1AJciLsfbqkbKQjMX02zNq9z1hpA&hl=en&sa=X&ved=2ahUKEwiooee50bvzAhWQ2aQKHWvFCiMQ6AF6BAgCEAM#v=onepage&q=%22wedge%20computer%22%20%22news%22%20%22mac%22&f=false" rel="nofollow">https://books.google.nl/books?id=Cj8EAAAAMBAJ&pg=PA31&lpg=PA...</a><p>Yep, Unix ran on Macs in 1988!<p><a href="https://en.wikipedia.org/wiki/A/UX" rel="nofollow">https://en.wikipedia.org/wiki/A/UX</a>
just throwing a related idea in here in the hopes someone finds it interesting enough to develop.<p>Having a very simple cli app generator that allows one to have independent terminal applications that run just like normal app. Independent in the sense that you can open them as any other app, run on their own window, and and you can reach them through the app switcher.
Love xterm.js! We use it to stream logs and as an in-browser terminal for our upcoming CI[1]. It's blazing fast especially with the WebGL renderer turned on.<p>[1]<a href="https://buildjet.com" rel="nofollow">https://buildjet.com</a>
A well made library, we use it as part of the REPL demos for CheerpX, our WebAssembly-powered X86 virtual machine.<p><a href="https://nextrepl.leaningtech.com/?python3" rel="nofollow">https://nextrepl.leaningtech.com/?python3</a>
Fun fact - xterm.js was originally created by chjj who also wrote the code for Handshake DNS among other things.<p>My favorite is blessed [1].<p>He’s definitely a super programmer. Thank you for all your contributions to this world @chjj!<p>[1] <a href="https://github.com/chjj/blessed" rel="nofollow">https://github.com/chjj/blessed</a>
This is a great project. I played with it a few years ago to create a tiled ssh client in Electron as a proof of concept for an idea I had and it was very easy to integrate. It has only gotten better since then with all the love from the Microsoft sponsored commits (it is used in VSCode).
Would somebody (if reading this) want to be generous and help me out? I'm not a programmer. I'd wish to use xterm.js in either a md or the mdx file (looking to incorporate a terminal in docusaurus site). My google-fu fails me for this.
Another older terminal JS library that might interest people is <a href="https://www.masswerk.at/termlib/" rel="nofollow">https://www.masswerk.at/termlib/</a>