Well, not knowing what other explanations you’ve read but don’t understand/grasp makes it a bit difficult to narrow down specifics, though to start from the beginning, tmux
is a terminal multiplexer, what that means is that it will allow multiple sessions running concurrently under the same virtual terminal. It provides keyboard shortcuts to switch between them, or split them and display them concurrently.
The biggest use case for me however (though I use an older one called screen
out of hard to shake habits) is the ability to detach and attach at will, so that any disconnected remote sessions won’t kill whatever I happen to be working on. Alternatively, I can have running sessions locally on my current machine and then I can go elsewhere and remote in and resume from where I’ve left off.
A somewhat frowned upon use case is to use it to run “background” processes on a remote server - like a development web service that you just can’t be bothered to properly package/daemonize - just open screen
or tmux
, start it, and detach the session and it should stay running barring any other problems.
They are essentially built with the same text editing component, more specifically, kwrite makes use of kate through kparts for the editing component only, to provide a more stripped down interface as compared to kate.