Can you please ELI5 tmux?

jackofalltrades@lemmy.ml to Linux@lemmy.ml – 127 points –

I am fairly familiar with Linux, I've been using different distros for some years now and have done some config editing here and there. I am also a web developer and use the terminal quite a lot and so I always stumble on people's recommendation to use tmux and how good it is, but I never really understood what it does and, in layman's terms, how can it be useful and for what use cases.

Can you guys please enlight me a bit on this?

Thank you.

Edit: if my phrasing is a bit awkward or confusing I apologize since I am not an English native speaker. (Maybe that's why I never fully grasped what tmux is from other explanations xD)

Edite: Ok, just to clarify, my original struggle was to understand what made tmux different from using some terminal app and just split the screen xD

63

You are viewing a single comment

I copy by pressing ctrl+shift+C. Some terminal emulators copy on select. A terminal multiplexer isn't needed to copy.

I suspect what they meant was copy and paste from the console and not a terminal.

I don't know how else somebody could do copy and paste at the console. And I don't necessarily know that tmux can do this (I still haven't graduated from 'screen'), but this interpretation makes the most sense.

If it can do this, presumably with just the keyboard, that's a pretty decent feature.

Yeah, doing it with the keyboard is key. I know some terminals have a way to do it, but it's so ingrained in my muscle memory that I struggle without it, and having something that works everywhere (including try) is nice.

I'm not familiar with the terminology. What's the distinction between a terminal and a console?

Tmux does let you copy from a shell to your system clipboard using the keyboard, which is nice. But many terminal emulators like mobaxterm on windows let you copy as well.

The console is the virtual terminal (VT) seen initially at boot before the desktop login starts up, or where you land if there is no desktop, and where the kernel spits its raw output. It could even be configured to be a physical serial port.

I'm using the term in a similar manner to describe the virtual terminals spawned at boot (typically 7 of them) and occupied either by a login prompt (getty) or the desktop session, and switchable with Alt-Left/Right or using the chvt command. These are analogous to the real terminals of old such as VT100 or even typewriters.

This is in contrast to what we normally call a terminal like xterm or Konsole which runs in the GUI where it is resizable, zoomable, etc. The console, and virtual terminals, are pretty limited in the interactivity they have. For instance, there's no mouse interaction or copy-paste functionality, at least not without some exotic setup.