Xterm.js
xtermjs.org
xtermjs.org
Here's a little history on the project, some of which is already called out in other comments:
- Fabrice Bellard created jslinux[1].
- Christopher Jeffrey (@chjj) forked the terminal component into term.js[2], this eventually became unmaintained.
- Paris Kasidiaris (@parisk) forked it into xterm.js for use in SourceLair[3].
- 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.
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.
[1]: https://bellard.org/jslinux/
[2]: https://github.com/chjj/term.js
[3]: https://www.sourcelair.com/
EDITS: Formatting
If you don't need to rely on ccrypt and just want to emulate teh experience of using it, you could have an on rails experience by forking the demo file and adapting the commands part.
They exist but you probably don't ever meet one. And there could be a lot more 10x people but most don't commit to it.
Maybe it's a pet peeve of mine but I do not understand how to select stuff when the Terminal application steals the select function.
Example: you open tmux with option "mouse on" - when you click and drag tmux "steals" the selecting function and makes it an internal selection/copy/paste feature. But if I happen to be connected via ssh or something I want the terminal emulator to ignore that stealing and let me select some text instead to my own clipboard. In most other terminal emulator there is some shortcut to do just that, I never understood if the option is present in xterm.js too.
Before that I was experimenting with using it as a custom shell for running commands inside a web application. In that use case it was a bit more challenging because I had never written to an actual tty before (ansi escape codes for coloring log files has been about the limit of my experience). For that use case I just really needed to send and receive text. I ended up using this library [ https://github.com/wavesoft/local-echo ] to smooth that process out until I could learn about how to do things properly.
Are any suggestions on:
1. where to learn about how ttys work to do things the right way, or
2. suggested libraries like local-echo that can wrap over some of the trickier bits of just getting text on the screen?
Thanks again for maintaining such a great & useful library!
2. The library you mention is the one I'm aware of, I have a WIP for building a basic shell in JS that I will probably open source eventually if I have the time.
Xterm.js is really impressive in what it can do, but it was pretty tough to get started with as someone who just wanted to pipe shell input/output over HTTP requests to a server. I realize streamlining that usecase is probably out of scope for the Xterm team, but I think there's a space for either some tutorials or a higher-level wrapper library
https://drive.google.com/file/d/1vkXp9Hm-9ID8eOrApjLFGFc-fOe...
Thank you for creating this!!!! I basically work full time in my oculus quest 2 thanks to this
Apple's Terminal: https://imgur.com/a/8IgJBdC
Not even DEC got it right 100% of the time.
Apple’s Terminal and xterm (the original X app) do a commendable job at that.
https://chrome.google.com/webstore/detail/secure-shell-app/p...
Worked wonderfully. Thanks maintainers!
https://donhopkins.com/home/archive/NeWS/tnterm.ps
https://en.wikipedia.org/wiki/NeWS
Two versions of NeWS on Mac II Make Debut
https://books.google.nl/books?id=Cj8EAAAAMBAJ&pg=PA31&lpg=PA...
Yep, Unix ran on Macs in 1988!
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.
If you open the Script Editor, you can use this chunk of code to get started:
tell application "Terminal"
do script "~/test.sh"
end tell
This will run the script ~/test.sh in a new terminal window. Closing the window automatically is a bit more difficult, but it can also be done. You can save this as an Application, which will let you click to open it, just like any other application.See here for more information:
https://stackoverflow.com/questions/1870270/sending-commands...
https://stackoverflow.com/questions/27453987/how-to-close-a-...
My favorite is blessed [1].
He’s definitely a super programmer. Thank you for all your contributions to this world @chjj!
https://en.wikipedia.org/wiki/Spectre_(security_vulnerabilit...
It's not a browser vulnerability per se, but it's still mitigated by having a separate address space.
You clearly misunderstood the issue.