I was excited to learn about two new terminal emulator app which seemed to have a lot of cool new features, warp and wave. Then I looked closer and found that both are a no go for me.

Warp is closed source and you need to create an account to use your terminal. Jebus Christus, no, thanks, but no.

Wave is an Electron app. While that’s better than not having a Linux version, I’ve seen how Electron apps behave. They are the ones which hog all memory and get killed by the OS first. So that’s a no from me too.

I guess I keep my Tilix for now.

64 points
*

Warp is closed source and [needs a mandatory account, and] Wave is an Electron app.

permalink
report
reply
49 points

I can’t see the benefit of fancy terminal emulators. I use plain old Konsole (mostly on Plasma) and as long as it has good history search and multiple tabs, I’m good.

permalink
report
reply
6 points

Don’t even need tabs with screen

permalink
report
parent
reply
3 points

Took me weeks to figure out a way to run a script at startup in a konsole window that gets hidden but continues running in the background. Tmux could do it but I found it cumbersome.

screen did the trick with a single command.

permalink
report
parent
reply
2 points

plain old Konsole

Come on now, it’s pretty active! Cf https://invent.kde.org/utilities/konsole/-/commits/master/?ref_type=HEADS 13hrs ago, a new feature weeks ago and https://konsole.kde.org/changelog.html

permalink
report
parent
reply
1 point

I know it’s active, but most of the stuff being added is not something I use. “Plain old” is a figure of speech for something that is pretty “vanilla”.

permalink
report
parent
reply
-5 points

That is the Luddites argument against progressing anything. There are many problems with current terminal emulators that these newer ones are trying to fix and make the terminal experience better overall. Terminals as they currently work were designed the way they are to talk to dumb typewriters with a screen (that’s right, not keyboards, digital typewriters). And they have barely changed at all since then.

Personally looking at these terminals they have a lot of niceties that I would love to use. But IMO these benefits are not worth the costs these particular terminals also have. One being closed source and requiring an account and the other being electron - no benefit is worth that. But to bury your head in the sand and claim they have no benefits at all is wrong.

Begin able to view images in the terminal would be amazing alone - just like you can cat a text file. I would hate to need to launch a GUI program every time I wanted to see what was inside a text file but that is exactly what I need to do for images or PDFs.

Being able to collapse the output of a command would be nice as well. The number of times I have had to scroll for days to get to the output of a previous command because I happen to run a noisy one but still want to check what something previously had done would save me quite a bit of annoyance. And being able to search just the last commands output would be great - like an after the fact, interactive grep with context. And being able to quickly copy the output of the last command would also be great.

permalink
report
parent
reply
16 points
*

Konsole can display images, as can kitty, alacritty, western, iterm2, etc. There’s quite a few formats to do so dating back decades. This isn’t new.

As for collapsing a command and it’s output that’s nice, but it’s not exactly game changing.

Lastly, searching explicitly your last command for a term with context would be much better suited to the shell to solve as it’d be terminal independent. Wouldn’t surprise me if under the hood it’s a bash script that takes whatever input you pass to bash, execs it, pipes stdout to tee, which passes it to a text file storing output and the console’s output too. Of course, you can always pipe it to fzf for a live grep with context if you have it set up right and remember to do so

I would agree just denying any advancements in favor of the “good ole way” is idiotic but nothing I’ve seen or that you’ve listed convinces me these are major advancements. Nor are these anything that couldn’t be solved at the shells level or with supplementary applications. Nice to have, if it weren’t electron or closed I would switch, but nothing groundbreaking

I doubt they’re outright rejecting any idea of progress. They’re likely just not convinced by what the fancy options offer

permalink
report
parent
reply
5 points

Konsole can display images, as can kitty alacritty, western, iterm2, etc.

They can now? I know it was possible in some niche terminals but never knew it was as wide spread as that.

but it’s not exactly game changing

None of these features on their own are game changing I agree. But lots of small nice to haves can end up being game changing overall. Again - I don’t think these terminals offer anywhere near enough to warrant their IMO massive downsides though. But I would love to see more innovation in the terminal emulator space.

Lastly, searching explicitly your last command for a term with context would be much better suited to the shell to solve as it’d be terminal independent.

I had a similar thought TBH. But the more I thought about it the more I came to see that in order to do this nicely - ie with inline scroll back or being able to collapse command output like these terminals do then you would basically need to implement a terminal emulator into the shell. Either way you are breaking down the wall between what a shell and a terminal emulator are doing. I would be interesting in exploring this from the shell side, though I cannot fault them from doing it from the emulator side either.

couldn’t be solved at the shells level or with supplementary applications

I think the key benefit here is integration rather than technical ability to do something. Making it easy and convenient to do goes a long way. There is a lot that can be made much nicer with things more tightly integrated together than trying to string up a bunch of disparate applications together - even if you can do it the integrated approach will give you a much more refined experience.

I doubt they’re outright rejecting any idea of progress

It sounds like an outright dismissal of new features to me.

permalink
report
parent
reply
4 points

I doubt they’re outright rejecting any idea of progress. They’re likely just not convinced by what the fancy options offer

Exactly. I don’t mind progress. But terminal emulators that does things you become dependant on, is not great in my opinion. Because what happens the day you only have a TTY to get things done? If you rely on all the fancy stuff, you would feel lost.

So yeah, I am not convinced that I need my terminal emulator to be fancy. But some people clearly are, looking at the rest of the comments on the post.

permalink
report
parent
reply
11 points

Nah man, the Luddites weren’t against technological progress, they were against the ruling class fucking us over. So I guess that goes for the terminal that needs a user account

permalink
report
parent
reply
3 points

There’s a lot of stuff other people have brought up in this post, but with correct ps and vesa configuration it’s been trivial to view images and pdfs under non-x sessions for decades.

permalink
report
parent
reply
3 points

Every tool has its job. Why should a TTY terminal emulator also be a image/pdf viewer?

permalink
report
parent
reply
3 points

Sweats in emacs

permalink
report
parent
reply
2 points

I think the issue fundamentally is that this isn’t what terminal emulators are. The terminal emulator initializes a TTY session and enters a shell environment (sh, zsh, fish, etc). The medium is text and cannot be anything else.

Begin able to view images in the terminal would be amazing alone - just like you can cat a text file. I would hate to need to launch a GUI program every time I wanted to see what was inside a text file but that is exactly what I need to do for images or PDFs.

Would be convenient. There are things like neofetch’s backend capabilities that magically embeds images, but I don’t know how it works and it might not be scalable.

Being able to collapse the output of a command would be nice as well.

Skill issue. Pipe your output to something (like a file or the “less” command)

permalink
report
parent
reply
3 points

I think the issue fundamentally is that this isn’t what terminal emulators are. The terminal emulator initializes a TTY session and enters a shell environment (sh, zsh, fish, etc). The medium is text and cannot be anything else.

This is 90s thinking. Why must terminal emulators only be text and only do things that a physical terminal could? What makes teminals so nice is not that they work on 90s technology. Some terminal emualtors can already display images. Which is great. And the ideas they are introducing are still fundamentally text based, but are geared towards structuring that texts a bit more than a constant stream of characters on the screen.

Skill issue. Pipe your output to something (like a file or the “less” command)

This is a convenience issue not a skill issue. Yes you can pipe output to things but you need to know before hand that you want to do that. And with less you lose that output once you close less. And with files you have to clean them up after the fact. Both of these are inconvenient and need to be thought of before you run a command. IMO it would be nice to just run a command and then be able to collapse or expand or search its output after the fact and not have to preempt everything beforehand.

The argument that you can already do that in a much less convenient way is not a very good argument.

permalink
report
parent
reply
31 points
*

Might I add the idea that your terminal emulator must support your shell is utterly ridiculous?

https://docs.waveterm.dev/reference/faq#what-shells-does-wave-terminal-support

https://docs.warp.dev/getting-started/using-warp-with-shells

Also Wave might be FOSS but if you look at the footer in their website it says it’s backed by venture capital… how would you estimate the chances it gets closed, paywalled or otherwise enshittified?

permalink
report
reply
16 points

By default, sharing a sudo password between PTY sessions is not allowed by your operating system. This can be a frustration when using Waveterm because every command is treated as a separate PTY session. To get around this, Waveterm will cache your sudo password in local memory (not written to disk) and share it with a session when provided.

Holy crap, no thanks. That’s legit awful.

permalink
report
parent
reply
2 points

Might I add the idea that your terminal emulator must support your shell is utterly ridiculous?

TBH I am starting to come around to the idea of a tightly integrated shell and terminal emulator support. There are just things you cannot do with these being separate things. I am very tempted to explore the idea from the other end though - writing a shell that has a emulator built into it (like screen/tmux basically are). But I do think that this integration is needed for any per command features that is not just printing out a prompt.

It would be interesting to see what could be done with this type of integration but will likely break support for existing shells. Unless you maybe launch a shell for each command you run or something 🤔. Would like to seem more people experimenting with stuff like this and see what new things we could drive forward. We have been stuck with the current tty system since like the 80s to support devices that just dont exist anymore.

permalink
report
parent
reply
1 point

Philosophy aside, the practical issue with your terminal emulator having to support your shell is… that one does not use just one shell: what happens whenever you start a repl or an whatever program that has interactive sessions (say, for example, psql or parted)?

tightly integrated shell and terminal emulator support. There are just things you cannot do with these being separate things.

I can’t think of any, but I’m not the most creative person… what do you have in mind?

Having something that is like (say) tmux+fish could make sense, but only if it’s something that outweighs the lost flexibility of being able to combine <whatever shell you like> + <whatever terminal multiplexer you fancy>.

permalink
report
parent
reply
1 point

REPLs are basically shells. They behave the same way in every essential way. So the real question is support vs non-supported shells. But then that is easy - non supported shells fall back to just what a normal commands do ATM to process input/output. Other applications like TUIs are also easy to deal with as they already enter a different mode called raw mode - when a application requests that it can do what they currently do - switch to a new buffer and give full control to that one application.

I can’t think of any, but I’m not the most creative person… what do you have in mind?

Having smarter scroll back that knows the difference between a prompt/command and the output would let you do quite a few things that would be nice to have. Such as collapsing the output so you can only see the commands, keeping the command at the top of the screen even as other output scrolls off the top so you can always see what was running. Extra support for other UI elements could be nice to have as well - like tooltip support for blocks or similar.

All the shell - or really any application - needs to do is tell the terminal which bits of the output are witch. Like mark the start/end of the prompt, command and command output. Then the fallback is basically ignore the markers and print things out like it currently does.

And those are just random thoughts I have had over the last few days. These can be implemented in backwards compatible ways I believe and don’t need special support for specific shells - just needs to expand the VT100 protocols to be able to send more information between the terminal and shells/applications that are running. Much like how color, cursor positioning, entering/exiting raw mode etc are already done. Though I think some tight specialized integration might be a good start to explore these ideas before the protocols are formed.

permalink
report
parent
reply
14 points

Have you tried kitty? It’s seriously nice if you can live with the occasional “oh no I sshed to a server that doesn’t have the correct terminfo files and now none of the normal terminal navigation features work”

permalink
report
reply
4 points

I like Kitty, but the terminfo stuff happens often enough for me that it’s a no-go.

Normally, I would fiddle with workarounds, but the author of Kitty has no plans to make Kitty play ball.

permalink
report
parent
reply
3 points

I just make ssh an alias that runs TERM=xterm /usr/bin/ssh

permalink
report
parent
reply
2 points

I ended up just making an alias for s=kitten ssh and then added my desktop to .ssh/config so now typing s desktop does the trick!

permalink
report
parent
reply
2 points

I use kitty as my term, I am a little jealous of some of the warp features though.

Wave has some cool features too though feels very clunky and busy ui

permalink
report
parent
reply
12 points

Anyone using Wezterm?

permalink
report
reply
2 points
*

Hell yeah, now that it finally works with Wayland on nvidia with explicit sync being added to the 555 drivers it’s been great for me

permalink
report
parent
reply
1 point

Yes. But sometimes pasting doesn’t work. Then I switch my focus to another window and back to WezTerm and it works again.

I’m thinking of switching back to Foot.

permalink
report
parent
reply
2 points

I use foot, it’s very bare bones, but I’m using zellig to get all the QoL features I could want!

permalink
report
parent
reply
1 point

i’ve never had this issue, my only gripe is that I set my system font to Jetbrains Mono using gnome tweaks which conflicts with Wezterm as it’s default font is also Jetbrains Mono

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 9.8K

    Monthly active users

  • 5.8K

    Posts

  • 162K

    Comments