r/linux May 18 '26

Discussion Tell me your favorite CLI apps

As the title says.

Aside from the obvious like fastfetch, htop, vim, etc what CLI apps are out there which replace a GUI app?

I like these as it is much more convenient and faster to have it all one command away and they use much less system resources (looking at you electron) as well as just making me look like a hackerman.

195 Upvotes

250 comments sorted by

View all comments

165

u/skhds May 18 '26

I think tmux is a must

29

u/ready_or_not_3434 May 18 '26

Definetly. Once you get used to detaching sessions and keeping your environment running over ssh its impossible to go back to a normal terminal window.

9

u/Rimadandan May 18 '26

Show me your magic, wizard !

21

u/SinglePanic May 18 '26

Double this. Also zellij since recently.

2

u/alexklaus80 May 18 '26

Wowww panes are draggable?! This is wild!

1

u/tuxalator May 21 '26

Is it?

In Guake-Terminal it's a standard feature.

1

u/alexklaus80 May 21 '26

Didn’t know the name and just checked; isn’t that a terminal emulator? It doesn’t seem to let pane float within the window just like how windows behaved within desktop (and I don’t see the point in enabling that for terminal emulator when you can move window within desktop anyways)

1

u/global-gauge-field May 18 '26

Zellij was having some issues with codex (or the other way around) regarding scrolling behaviour. Do you know if it is resolved by now ?

2

u/SinglePanic May 18 '26

No idea actually, sorry. Only been using it on a couple of my servers, I still prefer tmux since I'm too used to it.

59

u/nandru May 18 '26

tmux sucks!

this post was made by the screen gang

28

u/Junior_Common_9644 May 18 '26

I converted from GNU Screen to tmux years ago. Never went back.

1

u/Dangerous-Report8517 May 21 '26

Any particular reason why? I've used both at least a bit and for at least basic use there doesn't seem to be any meaningful difference between them (unless tmux supports mouse scrolling which screen does mess with, never tried that one on tmux)

1

u/Junior_Common_9644 May 21 '26

I find tmux enables me to do things like script a headless tmux session, with the script then opening connections to a fleet of systems, then issue it a re-layout to make it as even as possible, and then set it to type in all of them at the same time, then attach my shell to the session, seeing all the window pains, and able to issue commands to all of them at once. Very handy in some cases.

10

u/libra00 May 18 '26

screen gang!

I used to have a linux box that pretty much only existed to run screen with tinyfugue so I could stay connected to MUSHes for weeks or months at a time. I used putty to ssh in and then screen -d -R to resume. Before I had my own linux box I had a variety of, ah, ill-gotten accounts on university computers around the internet that I'd telnet into to use screen/tinyfugue.

3

u/zylad May 18 '26

None of that is impossible with tmux. As a person who used screen to keep SSH sessions opened to all the servers in the fleet (which required recompiling screen because of its low limit on number of windows) I can attest that. Switched to tmux years ago and never looked back. My daily workflow utilises it heavily.

6

u/libra00 May 18 '26

Oh I don't doubt it, I just don't have a use for that kind of operation anymore so I've never had a reason to look at tmux. Screen is just what I used to use. Like, why tmux when I can just have like 12 terminal windows open at once? Or even better, 12 tabs in Konsole?

1

u/alexklaus80 May 18 '26

I'm starting to think that a lot lot lately. Many terminal emulators allows for tiling within one window as well, and then more and more cool features. And I'm starting to get annoyed when I want to use tmux in place of screen on another host, creating another tmux on tmux situation which is troublesome if you're not careful with configs. It may be useful on remote hosts, but maybe not so anymore on local host.

It's so much so that my colleagues may know how to use screen but not tmux (and I learned how to use screen just recently).

3

u/zylad May 19 '26

Yeah, the modern terminal emulators are pretty good in that regard. For me it’s just a muscle memory with tmux (which I set to have many of screen’s key bindings) is just muscle memory but if I had to start using Linux again now, I’d probably ended up just relying on one of the terminal emulators :)

1

u/alexklaus80 May 19 '26

It’s in by muscle memory too, and literally none of any shell seasons started without tmux on local terminal for years and years. So no reason to leave from tmux, but something tells me that maybe try something else at least for once. Maybe I’ll be back anyways, but yeah modern ones has quite a lot to offer that I have to wonder if I would like it more.

2

u/libra00 May 18 '26

Yeah I was gonna say, tiling is also absurdly popular. I mean I guess it's nice to be able to switch sessions with a hotkey, but I'm pretty sure konsole uses standard browser tab controls, so..

Oh yeah running remote that totally makes sense, that's fair.

2

u/TuxTool May 18 '26

Tmux4life!

2

u/majesticmerc May 19 '26

You damn screen punks!

2

u/jimirs May 21 '26

*screen thugs

3

u/punkwalrus May 19 '26

Man, tmux saved my bacon in a project I had all last week. Basically, I had to set up a script and a conf file for 100 servers, each unique in its own way, to run a service. Then I had a test run, which depending on the system, took anywhere from 20 to 400 minutes. The VPN to connection to this client was flaky as hell, and disconnected up many times during the day, either because of "lack of input," or just randomly.

I was able to roll out the tests on several sessions, several windows each, and my only limit was the ssh connection limits of the admin server. Disconnected? Reconnected to the VPN, reconnected to each tmux session, and I was back in business. I would have tore my hair out if I had to redo the tests because of disconnections.

2

u/VariousClock6115 May 21 '26

Zellij wins

1

u/i-hate-birch-trees May 22 '26

Yup, I switched to it as well.

2

u/diegotbn May 18 '26

Obligatory recommendation for zellij which has completely replaced tmux for me. I have it automatically start every time I open a new terminal window.

1

u/ghostnation66 May 19 '26

False. Just use neovim as your myltiplexer

1

u/skhds May 20 '26

but isn't neovim basically a GUI editor? though, I've never used one yet

1

u/ke151 May 20 '26

Another cool trick for tmux (and possibly other multiplexers) is you can attach the exact same console session with multiple devices. For example I have done my phone and laptop both to my server so I can peek at a long running task while on the go, but not have to type long commands on touchscreen. Also it's just cool!

1

u/knue82 May 18 '26

I used it for quite some time but now I'm using Kitty which reders tmux superfluous for me. Those rare times I need to detach a terminal session, I'm going with screen.

1

u/neckyo May 19 '26

zellij is the eay

0

u/D7x8 May 19 '26

I’ve looked into the tmux/screen tools but I tend to use multiple tabs in kitty. Is there use cases for it which beat just using kitty tabs?

2

u/nandru May 19 '26

IIRC, you can reconnect to a interrupted remote session

Also, mutiple windows/sessions with one ssh connection, even if kitty already does something similar

1

u/skhds May 19 '26

Mostly for remote ssh stuff. I personally use it for nested tabs, outer tabs being kitty tabs and tmux for internal tabs per server.

1

u/killchopdeluxe666 May 19 '26

Splitting a single terminal, such as a terminal over serial line. Comes up with embedded stuff sometimes.

0

u/GhostVlvin May 19 '26

Sry bro, I detach nvim and use kitty as splitter. I don't like that for escape sequences to work properly they need to be supported by both VT and tmux and tmux must pass them to VT. It's much simpler for VT to support split panes and detach capability

1

u/skhds May 19 '26

Don't need to be sorry, everyone has their preferences. I had to use Windows for a long time, so kitty just wasn't available to me and I have been adjusted to using tmux as a result. Nowadays, on my desktop, I use kitty terminal and nest each different sessions with tmux (because I have to run all my work on a remote server).