4 ms·
I am curious to know what are the major differences between tmux and a tiling window manager? I've used awesome Wm for a while, now on i3wm.
by FrankBro 13y ago
I am curious to know what are the major differences between tmux and a tiling window manager? I've used awesome Wm for a while, now on i3wm.
- bphogan 13y agoSo I wrote a book on tmux and use it every day, but I use i3 on my Linux box. The main difference? tmux is a terminal multiplexer. So it's not going to handle the web browser stuff at all. Other than that, it's like Screen. A lot of devs spend a lot of time in the Terminal, running scripts, background servers, etc. With tmux (like Screen) you can have them running and detach, and come back later. Even with i3 I still find lots of room for tmux in my workflow when I'm in that environment. tmux is also a hell of a tool for pair programming, and for managing remote servers. But yea, if you're happy with i3, and you're using that to do Terminal splits, that's probably pretty great as is. tmux will remember the current working dir when you open new splits, and you can script it to launch your project workspace, but that's kind of just icing.
- VLM 13y agoI can answer tangentially as a screen user for a couple decades that if you put something like if [ -n "$SSH_TTY" }; then exec /usr/bin/screen -xRR fi in your .bash_profile then where ever in the world you log in via ssh, you'll instantly have exactly the same environment, as if you never disconnected. Simply "Ctrl-a z" to disconnect and later reconnect "somewhere else" exactly as if you hadn't disconnected. You can do something kind of like that with a tiling window manager if you put VNC in between the user and the window manager, such that all access is via VNC. However VNC doesn't transparently remap like screen does, so you can get icky issues with mismatched screen resolutions in VNC. In that way screen/tmux is MUCH better than doing something kinda like it with VNC. OR rdesktop, or whatever. In .screenrc I'd suggest startup_message off, vbell off (because I don't like it), and some lines similar to bindkey -k k1 select 1, bindkey -k k2 select 2, so that function keys insta-switch you. Also I have a "caption always" line that resembles line noise but it begins with the hostname and shows exactly which sessions I've opened and highlights the one I'm looking at right now. I probably last messed with it 15 years ago so I don't remember how it works. You can put lines in .screenrc like "screen -t bash 0" to autorun a bash shell in screen 0. You could put something like "watch procinfo" in screen 0, or tail something, or whatever. For all intents and purposes screen overlaps tmux about 99.99%. There is a small 0.01% area where featuresets and bugs do not overlap. There's a cultural thing where "most" screen users know about screen and tmux, and "most" tmux users don't know about screen, which is mildly interesting.