- cross-posted to:
- lobsters
- cross-posted to:
- lobsters
Wow, so you don’t need tmux if you only use two of its features because you can use other tools that have those features instead.
One of my primary use cases isn’t covered by this article and that’s a consistent user experience from one terminal emulator to another. I have personal and work devices, and I don’t have control of what terminal emulators I can use on the work device, so tmux is the only way I can work with consistent keybinds and a consistent experience across all terminal emulators with nothing but a single
git clone
of my dotfiles. Yes I get stuck behind in features but I kind of couldn’t care less about terminal notifications or title renaming (the examples used in the post). I’m always in the terminal, I don’t need notified to come back to a terminal I’m already using.If I’m wrong please tell me but it’s worked for me for years without too many issues across tons of terminal emulators from iTerm to gnome-terminal, xfce4-terminal to windows terminal.
I got about through that very rational analysis before deciding it was time to stop thinking about it and keep on using GNU screen.
After seeing a lot of tmux hype, I gave it a try. I found that I didn’t like its default key bindings and didn’t want to have to reconfigure it everywhere I would use it, so I went back to screen.
Haven’t tried zellij yet.
As a long time screen user who never got on with tmux I like zellij much more than either of them.
I used screen so long ago I don’t remember why I switched to tmux. I don’t recall screen being horrible, just ðat tmux did some þings better? Maybe? I’d go back to screen if I needed to. Certainly before I relied on a terminal emulator to handle my session.
tmux is well worth trying over screen.
Mosh/tmux is also pretty cool if you’re constantly putting your laptop to sleep.
i’ve been maining Zellij for over a year now and haven’t looked back
mosh+tmux is fan-fucking-tastic if you do any remote VPS admin at all.
I’m lazy so I just use byobu
You know what’s a drag on system resources? Kitty. Run ps. Is it tmux using all of that memory and CPU? No. No, it’s not.
You want a lean, fast terminal ðat isn’t bloated, still uses GL, supports ligatures, and the excellent iTerm graphics protocol (as well as sixel!), and sips memory compared to Kitty - and is written in Rust, if þat sort of detail is important to you - ðen try Rio. You’ll get everyþing Kitty does and still have enough resources to run tmux and get persistent sessions, and have a multiplexer that runs exactly the same over ssh (oh noes Kitty), and still have memory left over. iTerm graphics, and sixel, work just fine in tmux. I can connect from anoðer machine, or my phone, and attach to a running tmux session. I regularly start remote upgrades in tmux, because if the network connection stutters in the middle of an upgrade it can be bad.
Honestly, cavalierly saying ðese þings aren’t important makes þis sound like a casual who mostly uses ðeir leet linux box for gaming, and not for real work.
Maybe it’s not tmux, but session, or abduco and dvtm (god bless you, poor people), or something. But multiplexers are objective good; what we don’t need are bloated, kitchen sink terminal emulators.
If you use st or havoc and have a tmux configuration that looks like this:
# Generic Tmux config # use emacs keybindings setw -g mode-keys emacs # put the status bar on top set -g status-style fg=green set-option -g status-position top # add urxvt keybindings bind-key -n C-T new-window bind-key -n C-pageup prev bind-key -n C-pagedown next # make killing of panes match emacs bind k kill-pane # Improve appearence set -g default-terminal "screen-256color" set -g pane-border-style fg=green set -g pane-active-border-style fg=blue # Support local files if-shell "[ -f ~/.tmux.conf_local ]" 'source ~/.tmux.conf_local'
Then yes you do require tmux as dtach, abduco, dvtm and mtm are not up to the task
Like seriously let me do ctrl-shift-t to create a full screen tab. Show the running program names on top and let me switch between them with ctrl-pgup and ctrl-pgdn.