I know how to scroll in tmux using the keyboard, but I noticed that it looks like there's a way to use the terminal scrollbar with GNU Screen. Can this be done with tmux?
This is possible in both GNU screen and in tmux and the workaround is similar: to fool the multiplexers into thinking that the terminal has no "alternate screen" mode (such as that used by pico, mutt, etc). This is accomplished by setting termcap commands for the session.
For GNU screen, put this in your
termcapinfo xterm*|xs|rxvt|terminal ti@:te@
and for tmux, add this to your
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
xterm*' part of the command should be set to whatever your terminal-emulator is declared as. Some form of xterm is a good guess, but you can check yours on most sane *nix systems with:
and this can usually be set in the preferences of your terminal program (ie: For Apple's
Terminal.app, it's in Settings->Profile->Advanced (or Settings->Advanced->Emulation pre-yosemite) "Declare terminal as".
The end result is that the overflow ends up in the terminal's scrollback buffer instead of disappearing. Of course, since this is one static buffer, things will get messy as you switch between screen or tmux windows, but this is handy for quickly flicking up to see the output of an
ls command or the such.
My Env :
linux fedora 29 x86_64 workstation, GNU bash, version 4.4.23(1)-release (x86_64-redhat-linux-gnu), GNOME Terminal 3.30.3
TO DO :
- See the version of tmux.
$ tmux -V tmux 2.9a
set -g mouse on
- kill server
$ tmux kill-server
- Re-run tmux
Then it shows terminal scrollbar in each tmux panel.
But if you want to paste text to the panel, you should use
ctrl shift v.
Or see this how-to-copy-and-paste-with-a-mouse-with-tmux
The above answers do not give step 3 and 4. I might be helpful to others.