I remember using on the mac a branch of tmux with iTerm, where the gui understood tmux, giving native tabs and scrollback. I thought this was the greatest thing ever, but am now on Linux. Is this work still continuing does anyone know?
This actually works with GNU Screen. Because of this, and because of the lack of workspace reordering in tmux, I seem to be actually about the only person who likes Screen more than tmux.
There really isn't anything 'legacy' with screen. I've been using it for 20 years daily. I really have no reason to switch to tmux because I really can't see anything screen doesn't already offer me.
Vertical splits were patched in and added a long time ago, screen is usually installed by default, so I know it is there on systems where I'm not allowed to install packages. I can share screen sessions with co-workers, split windows etc.
Isn't one of the advantages of tmux is reduce / avoid using the mouse?
I know that scrolling is one of the first non-obvious changes that seem irritating at first. But after you get used to scrolling with the keyboard, I find myself missing this possibility on 'standard' terminal windows.
Suddenly using the mouse to scroll feels really awkward and inefficient.
I think I can live without scrolling, but what I found most irritating when trying tmux is selecting / copying / pasting things. ATM I use iterm with split panes and a 'quake-style' dropdown terminal; tbh it works well enough for me.
you can scroll just fine in tmux, in fact better because you can search in your scroll back. <c-b>[
as for selecting copying pasting. i use these options
set -g mouse-resize-pane on
set -g mouse-select-pane on
i can now select and resize panes with the mouse, and i can select while holding the option key on the keyboard.
also if you set
setw -g mode-mouse on
you can scroll back with the mouse in the scroll back buffer without having to press c-b[ and it will still properly scroll everywhere else... vim/weechat/etc.
on a mac, iterm2 does this natively(in linux it works anyway). but if you want to use that in terminal or totalterminal(quake term) you'll need to install mouseterm. I recommend using mouseterm-plus as i recall mouse term is no longer maintained.
If you happen to be copying with the mouse, tmux has prefix + z, which expands your current pane to fill the screen. prefix + z returns the screen layout to it's former self. Makes the need to copy easy regardless of layout.
Depends. If you have a ThinkPad with a TrackPoint-style mouse, it's actually really convenient having a mouse in the home row. Hold the middle button and scroll up/down easily.
Really? I find a quick scroll of the mouse wheel easier. Also when scrolling back a few hundred (or thousand lines), grabbing the scroll bar and finding where I want to be I find much faster.
I don't mind people who don't want to use the mouse, that's fine, but personally I sometimes don't run tmux when I know it will upset my scrolling and cut+pasting.
C-b [ + C-r <string> is pretty awesome when you know what you're looking for in the search history... Though I definitely use wheel scrolling when I don't remember exactly what I'm looking for or looking at log output.
I don't understand what are you talking about. In almost every linux terminal you can scroll with PageUp/Down and with mouse on most X ones(ex.: rxvt, xfce-terminal). In tmux one can press ctrl+b -> PageUp and scroll with keyboard or mouse.
There are other benefits to having GUI integration to your terminal emulator. One of which is discovery of features. I personally find it easier sometimes to discover new features that are available in a context menu as opposed to reading an entire MAN page.
Works out the box with tmux 1.8 and later + iTerm2 these days. Simply run tmux -CC [attach] and the tmux session pops up as tabs in iTerm2.
I don't know about any similar alternatives for linux :(
1) You have to have a separate terminal window for the 'control' process.
2) Now creating new tabs / windows automatically creates them in said tmux session (unless you manually use the "Profiles" drop-down menu). It would be nice to use Tmux as a way to create a window full of tabs in a scripted way (a la Tmuxinator), but not be forced to use a single Tmux session for everything.
Can someone share a use case or example of using tmux? Sorry for being thick, but I'm just not getting it.
I use iTerm. I use ssh to regularly access about 20 other boxes. I create tabs for every task. So I might have 3 tabs for a single box. 1 to start/stop processes, 1 to edit files, 1 to tail logs to verify my crap's working.
I installed tmux and I couldn't figure out what I'd use it for. This might be completely wrong, but I thought it'd allow me to control multiple boxes from a single session.
For example, I have 5 production servers that set up the same way. I want to do the same thing on all 5 at the same time. So my input/output is multiplexed to 5 boxes in a 1:5 relationship. Only I couldn't get that to work. I got lost switching sessions/contexts.
Again, sorry for being thick. I feel like I'm missing something great here.
One use case: you are working away on a server via SSH at some café and suddenly the a internet dies on you. Oh crap, you had a ``make install`` running and now it will be half-baked because a dead SSH connection will HUP the process you were using.
With tmux, no HUP happens on the server side so the process keeps running. Once your internet connection comes back online you ssh back into the machine and ``tmux attach`` to the previous session. And voilà, it is like nothing happened. All of your output from before is still there too.
Not sure if you tried following for input/output multiplexing -
* Create 5 panes, one for each server
* Ctrl-b :setw synchronize-panes
This should synchronize the input to all panes i.e. type in any
one and it will be sent to all 5. to turn it off, just run the same
command again.
I don't know if tmux has equivalent synchronize-windows.
It is always persistent so you have your tabs all set up on each server. You just attach to the sessions of TMux on the servers and don't have to ever create your complex scheme on your local machine. You can have them start on boot on the server and just attach to them via ssh.
My case I use WeeChat (IRC) on my home server always running and I just ssh to my server and attach to that session.