11 ms·
Eternal Terminal
- math0ne 7y agoAs a current mosh user i'm interested but I don't know what "support native scrolling nor tmux control mode" means. Any insight?
- dunkelheit 7y agoRun some command that outputs more than one page of text and try to scroll back in your terminal emulator. You won't see the remainder of the output, while with ordinary ssh and eternal terminal you will. tmux control mode is this: http://man7.org/linux/man-pages/man1/tmux.1.html#CONTROL_MODE http://man7.org/linux/man-pages/man1/tmux.1.html#CONTROL_MOD... It allows e.g. native tiling in ITerm.
- codetrotter 7y agoI am a current mosh user too. In mosh you can’t scroll backwards, due to how the implementation of mosh is made. See https://github.com/mobile-shell/mosh/issues/774 https://github.com/mobile-shell/mosh/issues/774 and https://github.com/mobile-shell/mosh/issues/122 https://github.com/mobile-shell/mosh/issues/122 This has annoyed me for a long time so I am definitely going to give ET a shot. As for the stuff about tmux I don’t know since I don’t use tmux.
- d21d3q 7y agoYou can scroll with tmux. Ctrl b and page up/down. Give it a try. Tmux is first thing I install on any machine.
- Kilenaitor 7y agomosh by default doesn't support native scrollback. The way mosh is implemented (by default at least) is to just paint the screen locally with the remote "view". If you try to scroll back in your terminal locally (literally scroll up with a mouse/trackpad), it will scroll up your local terminal instead of scrolling up in the remote view. So your scrollback is literally capped at the vertical height of your local terminal window. This is super annoying if you want to see long output of a previous command or even see what the output was of the command you ran five minutes ago. ET solves this by basically doing ssh under the hood. So you have real scrollback by default. It's REALLY nice and is one of the primary reasons I use ET. --- As far as tmux control mode, in essence, it allows you to control tmux via your native terminal commands. On iTerm for example, you can use the key command to vertically split the (iTerm) terminal and tmux will actually hijack that command it do it in tmux. So you can use your native terminal multiplexing commands instead of the tmux key commands. I only know of iTerm 2 that supports this functionality, just as a heads up.
- ignoramous 7y agoNot being able to scroll was a pain, but nothing that tmux or even output piped to less couldn't solve. It wasn't glorious, but it worked. That said, might be tempted to try ET just because scrolling through long winded outputs are a frequent thing.
- sjy 7y agoSmooth-scrolling back through a command that unexpectedly dumped 500 lines of output, using Alacritty and a big scrolling trackball with acceleration, is pretty glorious.
- math0ne 7y agoAwesome thanks! I'm still not sure I understand tmux control mode but I have always used mosh and tmux together so I guess I just never noticed.
- gnachman 7y agoThis is the best way to use iTerm2's tmux integration mode on a remote host. I wrote some guidance here: https://gitlab.com/gnachman/iterm2/wikis/tmux-Integration-Best-Practices#i-keep-having-to-reattach-because-my-ssh-connection-dies-when-my-ip-address-changes https://gitlab.com/gnachman/iterm2/wikis/tmux-Integration-Be...
- maratc 7y agoHey George, the wiki is good, as is the whole tmux/iTerm integration. You might want to add a section on reconnecting to ssh agent forwarding from Mac (the whole `eval $(tmux showenv -s SSH_AUTH_SOCK)` thing).
- tekknolagi 7y agoDoes Eternal Terminal have any telemetry? I guess what I'm asking is, does ET phone home?
- harumph 7y agoslow clap
- skyyler 7y agoIt doesn't appear so. Is it normal for remote shells to have telemetry? I hope you were sincerely asking a dumb question and not attempting to make a low effort joke instead of discussing the project in earnest.
- dunkelheit 7y agoI guess it is the reference to https://en.wikipedia.org/wiki/E.T._the_Extra-Terrestrial https://en.wikipedia.org/wiki/E.T._the_Extra-Terrestrial Although in our times it won't even be that surprising if remote shells started phoning home...
- skyyler 7y agoThis website is for high quality discussion, not low effort pop culture references.
- kstrauser 7y agoI personally found that to be a high quality joke. I mean, this isn't Reddit, but I wouldn't stick around a website too long if it were genuinely all business, zero fun.
- evanriley 7y agoAnd yet, I'm not sure I would call the majority of discussion on this website "high quality".
- hundchenkatze 7y ago
- equalunique 7y ago> mosh: Mosh is a popular alternative to ET. While mosh provides the same core funtionality as ET, it does not support native scrolling nor tmux control mode (tmux -CC). I had no idea Mosh did not support tmux control mode. I was hoping to eventually use Mosh more, but not any more. Glad to see Eternal Terminal works with FreeBSD too.
- codetrotter 7y ago> Glad to see Eternal Terminal works with FreeBSD too. Just installed it on my server. Package doesn't include any rc.d service file though. And I am fairly certain that unlike mosh, the Eternal Terminal etserver needs to run as a service, seeing as that is what they do on Linux and on macOS. I'm gonna open an issue about it on their issue tracker.
- codetrotter 7y agoI created an issue for it and then a PR also. Issue: https://github.com/MisterTea/EternalTerminal/issues/253 https://github.com/MisterTea/EternalTerminal/issues/253 PR: https://github.com/MisterTea/EternalTerminal/pull/255 https://github.com/MisterTea/EternalTerminal/pull/255 Note that the version in FreeBSD ports was a bit out of date and they changed the command-line flags between then and now so I built the most recent version from source and had to make a small change in CMakeLists.txt in order to be able to build it, for which I submitted a separate PR. CMakeLists.txt PR: https://github.com/MisterTea/EternalTerminal/pull/254 https://github.com/MisterTea/EternalTerminal/pull/254 If these two PRs are accepted and a new version of Eternal Terminal is released with these changes included then I can ask the FreeBSD package maintainers to update the port and for that rc.d service file to be included in the FreeBSD port and package.
- tudelo 7y agoI had used ET For a few weeks and it worked great except for when it didn't. I can't blame ET for sure, but I had some nasty problems with my ET crashing, having to SSH back in and fix ET, and realizing that it blew up my tmux with it. mosh has not caused this to happen :/
- Uehreka 7y agoSince I often complain about bad landing pages, I want to take a moment to highlight a really good one. I arrive on the page and: BOOM! "Eternal Terminal" the name of the project But what is-- "H2: Remote terminal for the busy and impatient"! In a sentence or two? "Eternal Terminal (ET) is a remote shell that automatically reconnects without interrupting the session. Learn how to install and use it here." Oh sweet, now I know what this is. But I'm a power user, can't you also just do this in bash using-- "Here are alternative approaches along with explanations of why we're better" Cool stuff, is this a new thing or-- "Here's our paginated version history with DATES! BEAUTIFUL WONDERFUL RELEASE DATES so you can see quickly that this project is at least a couple years old." Sure sure, but what if someone on HN had just linked to the most recent release notes? "Let your eye and your mouse cursor drift naturally to the upper left hand corner, where the name of the project shows up and links to the landing page you just spent 5 minutes gushing about." Bravo.
- albertzeyer 7y agoActually, I found the homepage (landing page) not so great, and came here to the comments, in the hope to get some more information. Specifically, I use Mosh, and I would like to know, is this the same thing? If yes, how is it different? What are advantages/disadvantages? I would have wanted a more detailed comparison. The name is also a bit confusing; just from the name, I thought this might be a terminal emulator. Back to Mosh: If it supports scrolling, how does that work? Is there also a prediction engine like in Mosh? What about ncurses apps? I skimmed briefly through the "how it works" page now, and it seems it also uses TCP instead of UDP. Shouldn't UDP be a better protocol for such a tool (also, that's what Mosh uses)? That page also does not say anything about how the prediction works (which is important in Mosh for the low latency), or whether it even does that (or how else could it have low latency)?
- NickBusey 7y agoAt least one of your questions is answered above the fold of the homepage. mosh: Mosh is a popular alternative to ET. While mosh provides the same core funtionality as ET, it does not support native scrolling nor tmux control mode (tmux -CC).
- oefrha 7y agoHoly shit, it’s mosh with native scrolling? Why haven’t I heard of this?
- Kilenaitor 7y agoThat's literally the only reason I use it. It's fantastic.
- donatj 7y ago> While mosh provides the same core funtionality as ET, it does not support native scrolling NICE. I love Mosh but have always ALWAYS hated how it messes up native scrolling.
- mikenew 7y agoMosh also refuses to cut a new release, even after almost two and a half years. If you want truecolor, for example, you have to build from source.
- shakna 7y agoWorth noting that most of the "bleeding edge" package managers will do this for you already. Like pacman [0], which you can use on systems like Ubuntu and Debian via pacapt [1] [0] https://www.archlinux.org/packages/community/x86_64/mosh/ https://www.archlinux.org/packages/community/x86_64/mosh/ [1] https://www.ostechnix.com/use-archlinuxs-pacman-package-manager-unix-like-oss/ https://www.ostechnix.com/use-archlinuxs-pacman-package-mana...
- mikenew 7y agoI'm not sure what you mean. The Arch Linux package uses 1.3.2, which is from July 2017.
- pgib 7y agoHmmm, I'll give it a try, though I'm quite happy with mosh. Having to open up only one extra port is nice. I use remote tmux sessions, and so I've never had a scrolling issue before.
- lordleft 7y agoJason, the author of this terminal, has a great podcast about programming with a cohost called Programming Throwdown.
- unspecified 7y agoThanks for this, I have problems finding good developer podcasts, and at a quick glance of title + count, this looks promising. Also...the podcast is more than eight years old!
- nautilus12 7y agoI'm glad that it has tmux compatibility. Does anyone else have a love hate relationship with tmux? I hate its scrolling and buffer behavior, its almost impossible to get right. Been waiting for a good replacement for tmux to come along for a while now that isn't just i3. Right now I just use tabs in the terminal app most of the time because I dont want to mess with mouse mode, etc.
- ofrzeta 7y ago> Does anyone else have a love hate relationship with tmux? Absolutely. Just today I logged in on some server and started a tmux session to learn that copypasting with mouse didn't work. After googling how to solve this I noticed that scrollback with mousehweel also didn't work. Then I remembered that I did solve that some time ago but never was satisfied with it because the scroll speed/differential was so low.
- abcdef123xyz123 7y agoIt is easy to change the scroll speed in tmux, although the default is 5 lines at a time which seems like it should be fast enough... Mouse and scrollback and clipboard are some of the more complicated areas of terminal emulators and ones where applications like tmux have the least power so they will always have the potential to be a bit fiddly.
- 0xb100db1ade 7y ago> Been waiting for a good replacement for tmux to come along for a while now that isn't just i3 > Does anyone else have a love hate relationship with tmux? > I hate its scrolling and buffer behavior, its almost impossible to get right. I wasn't planning on sharing my project on HN until I've written up more documentation, but I'm actually working on exactly this problem. https://github.com/aaronjanse/i3-tmux https://github.com/aaronjanse/i3-tmux So far I've got i3-like controls, resizing & scrolling terminal splits with the mouse, and better color support than tmux. My current roadblock has been lack of motivation, but if *anyone& on HN finds this interesting (or even just files a bug report), I'd be motivated to reignite my work on the project.
- ofrzeta 7y agoA downside is that compiling it on CentOS is not so straightforward. I finally succeeded with activating the devtoolset-8 toolchain.
- bobowzki 7y agoEterminal.
- heeen2 7y agoHow does this compare to ssh+gnu screen on the remote host?
- richardwhiuk 7y agoNative scrolling, I think
- thenewnewguy 7y agoDirectly from the linked page: > Ssh is a great remote terminal program, and in fact ET uses ssh to initialize the connection. The big difference between ET and ssh is that an ET session can survive network outages and IP roaming. With ssh, one must kill the ssh session and reconnect after a network outage
- deleted 7y ago[deleted]
- johntiger1 7y agoFor someone wondering "how is this different from screen?/ what problem does it solve?", this article was actually quite nice: https://medium.com/@grassfedcode/what-could-be-better-than-ssh-e69561ec1b83 https://medium.com/@grassfedcode/what-could-be-better-than-s...
- Lurkars 7y agoI asked my self the same question, scanned the linked article and did not find any matches for "screen". So please, could you tell me in short, what the benefit is?
- yoz-y 7y agoThey are a bit orthogonal. When you have a flaky connection, screen will help keeping your stuff alive on the remote host but you still need to reconnect all the time the connection drops. ET and mosh will make it look like your connection never dropped.
- blunte 7y agoJust my guess, but it could be that screen is older and perhaps less used (or at least written about) than tmux.
- noobermin 7y agoThis article didn't help with screen, but it convinced me that eternal terminal isn't what I want because I often leverage mosh over poor connections and I generally use tmux anyway.
- scubbo 7y agoThanks! I was wondering the same thing, and this helped.
- tgvaughan 7y agoEver since moving to eshell+tramp, all of these persistence tools, however beautifully designed, somehow strike me as solving the wrong problem.
- pard68 7y agoCould you elaborate on this setup?
- gyrgtyn 7y agoFirst, crash emacs 10 or 12 times...
- totierne2 7y agoEmacs daemon,emacsclient,shell mode and -nw ? Works ok if the disconnects are infrequent once an hour or so.
- MarcScott 7y agoYou can use emacs and tramp to edit files remotely within a local buffer. If you lose connection it doesn't matter, you still have the file, and when you save it auto connects. I often use this with Python and can execute the scripts within emacs with the results being sent back to another buffer. You can also use eshell or even just shell (if you're not into lisp) within emacs once you are on the remote machine to execute bash commands, with scrolling. I think that's what is being referred to, but I'm no expert.
- deleted 7y ago[deleted]
- yoz-y 7y agoHow so? What if you don’t use emacs or just want your irssi not dying every time you enter a tunnel?
- desireco42 7y agoIt is down for me, I wonder if .dev domain is filtered for me? Anyone has issues accesing this?
- beering 7y agoIf you ping eternalterminal.dev, does it go straight to localhost? If so, it's probably your own computer that's redirecting .dev to localhost.
- desireco42 7y agoOh, that explains everything :) I feel so stupid now, thanks.
- edpichler 7y agoThis is a good landing page. Every open source project should have something like this. And this is how you create useful software. Looking for something to work? Try solving a problem you have. This is a so basic feature and so useful too.
- anderspitman 7y agoI know it's cliche but scratching your own itch really is the way to go. At least you know your market exists, even if you're the only one in it.
- ElijahLynn 7y agoMy first question I couldn't find answered easily is "How does it work", e.g. "How does it maintain the connection? The answer so far is that it does require you to install ET on the server too, along with the client. And then I searched github for "multiplex" thinking maybe it uses TCP multiplexing. And found a branch named "multiplex". Then I realized the Linux feature I was thinking of is actually called TCP Multipath, searched for it and no go. So I can only say that it _seems_ that it is _not_ using TCP Multipath for maintaining the connection over multiple connection drops. Would love a more technical "How" here.
- ElijahLynn 7y agoHere it is, I didn't see it hanging out at the top right of the page (#ux test). https://eternalterminal.dev/howitworks/ https://eternalterminal.dev/howitworks/
- galacticdessert 7y agoI am probably missing the point here, but how is this different than connecting via ssh and doing tmux attach?
- filleduchaos 7y agoThat is explicitly and directly addressed in the article.
- fuzzygroup 7y agoAt the risk of incurring self promotion issues (and I really don't understand what qualifies as acceptable self promotion), I didn't feel that this article was all that clear if you are an AWS focused user, so I wrote up all the steps it took to use Eternal Terminal in an OSX / AWS context including an Ansible playbook for configuration. https://fuzzyblog.io/blog/aws/2019/11/26/using-eternal-terminal-with-osx-and-aws-including-ansible-support.html https://fuzzyblog.io/blog/aws/2019/11/26/using-eternal-termi...
- nightbrawler 7y agoI use mosh to connect up to a raspberry pi over a slow satellite link. For that, mosh works awesome but I’ve always missed the ability to scroll output when I’m trying to debug something. I’m anxious to give this terminal a try and see how it performs in comparison
- Digitalghost 7y agoHey all, ET developer here. It was an amazing surprise to find ET on the top of HN today. Since it's the three year anniversary of the project, I wanted to share a post that I wrote to my colleagues about it: RejoinableTCP was a project that I started and abandoned in 11/18/16. RejoinableTCP was supposed to be a remote shell that automatically reconnects without interrupting the session. It was supposed to be resumable like mosh but with the user experience of ssh. I never started it, because: 1. Unix sockets, public-key encryption, and how TCP actually works are the stuff of eldritch nightmares. 2. No one would switch from ssh just to save a few minutes each day. No one would switch from mosh just to get OS scrollbars 3. I wasn't living up to my expectations in my day-job, and it was taking all of my time. There was no way that I would work on something new. I created an empty folder and gave up on the same day. The next day, after using mosh for a few hours, I decided: 1. I would give myself three weeks to learn these things before truly giving up. 2. Even if no one else used it, I'd use it. 3. I'd keep a weekly log of time spent and economize that time. 4. RejoinableTCP was not a good name. So on 11/19/16 Eternal Terminal was born, and three years later, here we are. Somewhere out there, there is some engineer today who has an idea in the same state that I was with Eternal Terminal three years ago. This post is for you: 1. You can prototype anything in three weeks if you put your heart in it. 2. Look around: all the engineers around you felt that same Calling, when you are building something amazing, time becomes fluid and things just flow. We may all come from different places and backgrounds, but that shared experience unites us. If you see a way to make this place better for you, it will probably make it better for others as well. 3. If you love the job you do and the place you work, you can find a way through almost any situation. The entire company is rigged in your favor.
- anderspitman 7y agoThank you for sharing this.
- dionian 7y ago> RejoinableTCP actually i understood a lot from this name, but i get it
- hnlmorg 7y agoThis really resonates with me because it was a very similar story with one of my projects (a $SHELL -- a bit like Bash et al). I started it as a short "what if" project and was really surprised at just how much already worked after only 3 weeks. I think it's a great lesson for hobbyists: don't worry about perfection. Just POC something and if you're still passionate about it after 3 weeks you can always go back and tidy stuff up.
- 55555 7y agoDoes this support lag-free typing over slow connections?
- jsilence 7y agoUses one TCP port instead of a UDP port range like mosh makes it easier to use through a firewall. Nice.