mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Move FAQ online and do not ship TODO.
This commit is contained in:
		
							
								
								
									
										223
									
								
								FAQ
									
									
									
									
									
								
							
							
						
						
									
										223
									
								
								FAQ
									
									
									
									
									
								
							@@ -1,223 +0,0 @@
 | 
				
			|||||||
tmux frequently asked questions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
******************************************************************************
 | 
					 | 
				
			||||||
* PLEASE NOTE: most display problems are due to incorrect TERM! Before       *
 | 
					 | 
				
			||||||
* reporting problems make SURE that TERM settings are correct inside and     *
 | 
					 | 
				
			||||||
* outside tmux.                                                              *
 | 
					 | 
				
			||||||
*                                                                            *
 | 
					 | 
				
			||||||
* Inside tmux TERM must be "screen" or similar (such as "screen-256color").  *
 | 
					 | 
				
			||||||
* Don't bother reporting problems where it isn't!                            *
 | 
					 | 
				
			||||||
*                                                                            *
 | 
					 | 
				
			||||||
* Outside, it must match your terminal: particularly, use "rxvt" for rxvt    *
 | 
					 | 
				
			||||||
* and derivatives.                                                           *
 | 
					 | 
				
			||||||
******************************************************************************
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How is tmux different from GNU screen?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tmux and GNU screen have many similarities and similar goals but now many
 | 
					 | 
				
			||||||
differences. Most things that can be achieved in one can be achieved in the
 | 
					 | 
				
			||||||
other, however.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* What is TERM and what does it do?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The environment variable TERM tells applications the name of a terminal
 | 
					 | 
				
			||||||
description to read from the terminfo(5) database. Each description consists of
 | 
					 | 
				
			||||||
a number of named capabilities which tell applications what to send to control
 | 
					 | 
				
			||||||
the terminal. For example, the "cup" capability contains the escape sequence
 | 
					 | 
				
			||||||
used to move the cursor up.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It is important that TERM points to the correct description for the terminal an
 | 
					 | 
				
			||||||
application is running in - if it doesn't, applications may misbehave. 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The infocmp(1) command shows the contents of a terminal description and the
 | 
					 | 
				
			||||||
tic(1) command builds and installs a description from a file (the -x flag is
 | 
					 | 
				
			||||||
normally required with both).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* I found a bug in tmux! What do I do?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Check the latest version of tmux from Git to see if the problem is still
 | 
					 | 
				
			||||||
present.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Please send bug reports by email to nicholas.marriott@gmail.com or
 | 
					 | 
				
			||||||
tmux-users@googlegroups.com or by opening a GitHub issue. Please see the
 | 
					 | 
				
			||||||
CONTRIBUTING file for information on what to include.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Why doesn't tmux do $x?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Please send feature requests by email to tmux-users@googlegroups.com.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Why do you use the screen terminal description inside tmux?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It is already widely available. tmux and tmux-256color entries are provided by
 | 
					 | 
				
			||||||
modern ncurses and can be used instead by setting the default-terminal option.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* I don't see any colour in my terminal! Help!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On a few platforms, common terminal descriptions such as xterm do not include
 | 
					 | 
				
			||||||
colour. screen ignores this, tmux does not. If the terminal emulator in use
 | 
					 | 
				
			||||||
supports colour, use a value for TERM which correctly lists this, such as
 | 
					 | 
				
			||||||
xterm-color.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* tmux freezes my terminal when I attach to a session. I have to kill -9 the
 | 
					 | 
				
			||||||
  shell it was started from to recover!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Some consoles don't like attempts to set the window title. Tell tmux not to do
 | 
					 | 
				
			||||||
this by turning off the "set-titles" option (you can do this in .tmux.conf):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set -g set-titles off
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If this doesn't fix it, send a bug report.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Why is C-b the prefix key? How do I change it?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The default key is C-b because the prototype of tmux was originally developed
 | 
					 | 
				
			||||||
inside screen and C-b was chosen not to clash with the screen meta key.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To change it, change the "prefix" option, and - if required - move the binding
 | 
					 | 
				
			||||||
of the "send-prefix" command from C-b (C-b C-b sends C-b by default) to the new
 | 
					 | 
				
			||||||
key. For example:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set -g prefix C-a
 | 
					 | 
				
			||||||
	unbind C-b
 | 
					 | 
				
			||||||
	bind C-a send-prefix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How do I use UTF-8?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tmux requires a system that supports UTF-8 (that is, where the C library has a
 | 
					 | 
				
			||||||
UTF-8 locale) and will not start if support is missing.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tmux will attempt to detect if the terminal it is running in supports UTF-8 by
 | 
					 | 
				
			||||||
looking at the LC_ALL, LC_CTYPE and LANG environment variables.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If it believes the terminal is not compatible with UTF-8, any UTF-8 characters
 | 
					 | 
				
			||||||
will be replaced with underscores. The -u flag explicitly tells tmux that the
 | 
					 | 
				
			||||||
terminal supports UTF-8:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	$ tmux -u new
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How do I use a 256 colour terminal?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Provided the underlying terminal supports 256 colours, it is usually sufficient
 | 
					 | 
				
			||||||
to add one of the following to ~/.tmux.conf:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set -g default-terminal "screen-256color"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Or:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set -g default-terminal "tmux-256color"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
And make sure that TERM outside tmux also shows 256 colours, or use the tmux -2
 | 
					 | 
				
			||||||
flag.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Why are tmux pane separators dashed rather than continuous lines?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Some terminals (such as mintty) or certain fonts (particularly some Japanese
 | 
					 | 
				
			||||||
fonts) do not correctly handle UTF-8 line drawing characters.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The U8 capability forces tmux to use ACS instead of UTF-8 line drawing:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set -as terminal-overrides ",*:U8=0"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How do I make Ctrl-PgUp and Ctrl-PgDn work inside tmux?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tmux sends modified function keys using xterm(1)-style escape
 | 
					 | 
				
			||||||
sequences. However, many applications don't accept these when TERM is set to
 | 
					 | 
				
			||||||
screen or screen-256color inside tmux because these terminal descriptions lack
 | 
					 | 
				
			||||||
the capabilities for modified function keys. The tmux and tmux-256color
 | 
					 | 
				
			||||||
descriptions do have such capabilities, so using those instead may work.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* What is the proper way to escape characters with #(command)?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
When using the #(command) construction to include the output from a command in
 | 
					 | 
				
			||||||
the status line, the command will be parsed twice. First, when it's read by the
 | 
					 | 
				
			||||||
configuration file or the command-prompt parser, and second when the status
 | 
					 | 
				
			||||||
line is being drawn and the command is passed to the shell. For example, to
 | 
					 | 
				
			||||||
echo the string "(test)" to the status line, either single or double quotes
 | 
					 | 
				
			||||||
could be used:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set -g status-right "#(echo \\\\(test\\\\))"
 | 
					 | 
				
			||||||
	set -g status-right '#(echo \\\(test\\\))'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
In both cases, the status-right option will be set to the string "#(echo
 | 
					 | 
				
			||||||
\\(test\\))" and the command executed will be "echo \(test\)".
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* tmux uses too much CPU. What do I do?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Automatic window renaming may use a lot of CPU, particularly on slow computers:
 | 
					 | 
				
			||||||
if this is a problem, turn it off with "setw -g automatic-rename off". If this
 | 
					 | 
				
			||||||
doesn't fix it, please report the problem.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* What is the best way to display the load average? Why no #L?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It isn't possible to get the load average portably in code and it is preferable
 | 
					 | 
				
			||||||
not to add portability goop. The following works on at least Linux, *BSD and OS
 | 
					 | 
				
			||||||
X:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	uptime|awk '{split(substr($0, index($0, "load")), a, ":"); print a[2]}'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How do I attach the same session to multiple clients but with a different
 | 
					 | 
				
			||||||
  current window, like screen -x?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
One or more of the windows can be linked into multiple sessions manually with
 | 
					 | 
				
			||||||
link-window, or a grouped session with all the windows can be created with
 | 
					 | 
				
			||||||
new-session -t.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* I don't see italics! Or italics and reverse are the wrong way round!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GNU screen does not support italics and the "screen" terminal description uses
 | 
					 | 
				
			||||||
the italics escape sequence incorrectly.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
As of tmux 2.1, if default-terminal is set to "screen" or matches "screen-*",
 | 
					 | 
				
			||||||
tmux will behave like screen and italics will be disabled.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To enable italics, make sure you are using the tmux terminal description:
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	set -g default-terminal "tmux"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How do I see the default configuration?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Show the default session options by starting a new tmux server with no
 | 
					 | 
				
			||||||
configuration file:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        $ tmux -Lfoo -f/dev/null start\; show -g
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Or the default window options:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        $ tmux -Lfoo -f/dev/null start\; show -gw
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* How do I copy a selection from tmux to the system's clipboard?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
When running in xterm(1), tmux can automatically send copied text to the
 | 
					 | 
				
			||||||
clipboard. This is controlled by the set-clipboard option and also needs this X
 | 
					 | 
				
			||||||
resource to be set:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	XTerm*disallowedWindowOps: 20,21,SetXprop
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
For rxvt-unicode (urxvt), there is an unofficial Perl extension here:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        http://anti.teamidiot.de/static/nei/*/Code/urxvt/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Otherwise a key binding for copy mode using xclip (or xsel) works:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	bind -temacs-copy C-y copy-pipe "xclip -i >/dev/null"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Or for inside and outside copy mode with the prefix key:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        bind C-y run -b "tmux save-buffer - | xclip -i"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On OS X, look at the pbcopy(1) and pbpaste(1) commands.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Why do I see dots around a session when I attach to it?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
tmux limits the size of the window to the smallest attached session. If
 | 
					 | 
				
			||||||
it didn't do this then it would be impossible to see the entire window.
 | 
					 | 
				
			||||||
The dots mark the size of the window tmux can display.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To avoid this, detach all other clients when attaching:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	$ tmux attach -d
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Or from inside tmux by detaching individual clients with C-b D or all
 | 
					 | 
				
			||||||
using:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	C-b : attach -d
 | 
					 | 
				
			||||||
@@ -6,7 +6,7 @@ CLEANFILES = tmux.1.mdoc tmux.1.man
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Distribution tarball options.
 | 
					# Distribution tarball options.
 | 
				
			||||||
EXTRA_DIST = \
 | 
					EXTRA_DIST = \
 | 
				
			||||||
	CHANGES FAQ README TODO COPYING example_tmux.conf compat/*.[ch] \
 | 
						CHANGES README COPYING example_tmux.conf compat/*.[ch] \
 | 
				
			||||||
	osdep-*.c mdoc2man.awk tmux.1
 | 
						osdep-*.c mdoc2man.awk tmux.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Preprocessor flags.
 | 
					# Preprocessor flags.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								README
									
									
									
									
									
								
							@@ -37,8 +37,7 @@ the source tree with:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	$ nroff -mdoc tmux.1|less
 | 
						$ nroff -mdoc tmux.1|less
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Some common questions are answered in the FAQ file, a rough todo list is in the
 | 
					A small example configuration in example_tmux.conf.
 | 
				
			||||||
TODO file and an example configuration in example_tmux.conf.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
A vim(1) syntax file is available at:
 | 
					A vim(1) syntax file is available at:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user