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.
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
# Preprocessor flags.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								README
									
									
									
									
									
								
							@@ -37,8 +37,7 @@ the source tree with:
 | 
			
		||||
 | 
			
		||||
	$ nroff -mdoc tmux.1|less
 | 
			
		||||
 | 
			
		||||
Some common questions are answered in the FAQ file, a rough todo list is in the
 | 
			
		||||
TODO file and an example configuration in example_tmux.conf.
 | 
			
		||||
A small example configuration in example_tmux.conf.
 | 
			
		||||
 | 
			
		||||
A vim(1) syntax file is available at:
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user