aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/tramp.texi29
1 files changed, 22 insertions, 7 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 7f6182ae17c..acf32726895 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -2728,6 +2728,7 @@ entry, @option{Seconds between keepalives} option. Set this to 5.
2728There is no counter which could be set. 2728There is no counter which could be set.
2729 2729
2730 2730
2731@anchor{Using ssh connection sharing}
2731@subsection Using ssh connection sharing 2732@subsection Using ssh connection sharing
2732 2733
2733@vindex ControlPath@r{, ssh option} 2734@vindex ControlPath@r{, ssh option}
@@ -2758,19 +2759,32 @@ Note how @samp{%r}, @samp{%h} and @samp{%p} must be encoded as
2758@samp{%%r}, @samp{%%h} and @samp{%%p}. 2759@samp{%%r}, @samp{%%h} and @samp{%%p}.
2759 2760
2760@vindex tramp-use-ssh-controlmaster-options 2761@vindex tramp-use-ssh-controlmaster-options
2761If the @file{~/.ssh/config} file is configured appropriately for the 2762Using a predefined string in @code{tramp-ssh-controlmaster-options},
2762above behavior, then any changes to @command{ssh} can be suppressed 2763or puzzling an own string, happens only when user option
2763with this @code{nil} setting: 2764@code{tramp-use-ssh-controlmaster-options} is set to @code{t}. If the
2765@file{~/.ssh/config} file is configured appropriately for the above
2766behavior, then any changes to @command{ssh} can be suppressed with
2767this @code{nil} setting:
2764 2768
2765@lisp 2769@lisp
2766(customize-set-variable 'tramp-use-ssh-controlmaster-options nil) 2770(customize-set-variable 'tramp-use-ssh-controlmaster-options nil)
2767@end lisp 2771@end lisp
2768 2772
2773Sometimes, it is not possible to use OpenSSH's @option{ControlMaster}
2774option for remote processes. This could result in concurrent access
2775to the OpenSSH socket when reading data by different processes, which
2776could block Emacs. In this case, setting
2777@code{tramp-use-ssh-controlmaster-options} to @code{suppress} disables
2778shared access. It is not needed to set this user option permanently
2779to @code{suppress}, binding the user option prior calling
2780@code{make-process} is sufficient. @value{tramp} does this for
2781esxample for compilation processes on its own.
2782
2769@vindex ProxyCommand@r{, ssh option} 2783@vindex ProxyCommand@r{, ssh option}
2770@vindex ProxyJump@r{, ssh option} 2784@vindex ProxyJump@r{, ssh option}
2771This should also be set to @code{nil} if you use the 2785@code{tramp-use-ssh-controlmaster-options} should also be set to
2772@option{ProxyCommand} or @option{ProxyJump} options in your 2786@code{nil} or @code{suppress} if you use the @option{ProxyCommand} or
2773@command{ssh} configuration. 2787@option{ProxyJump} options in your @command{ssh} configuration.
2774 2788
2775In order to use the @option{ControlMaster} option, @value{tramp} must 2789In order to use the @option{ControlMaster} option, @value{tramp} must
2776check whether the @command{ssh} client supports this option. This is 2790check whether the @command{ssh} client supports this option. This is
@@ -4288,7 +4302,8 @@ In order to gain even more performance, it is recommended to bind
4288@code{start-file-process}. Furthermore, you might set 4302@code{start-file-process}. Furthermore, you might set
4289@code{tramp-use-ssh-controlmaster-options} to @code{nil} in order to 4303@code{tramp-use-ssh-controlmaster-options} to @code{nil} in order to
4290bypass @value{tramp}'s handling of the @option{ControlMaster} options, 4304bypass @value{tramp}'s handling of the @option{ControlMaster} options,
4291and use your own settings in @file{~/.ssh/config}. 4305and use your own settings in @file{~/.ssh/config}, @ref{Using ssh
4306connection sharing}.
4292 4307
4293 4308
4294@node Cleanup remote connections 4309@node Cleanup remote connections