aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2018-02-14 09:28:33 +0100
committerMichael Albinus2018-02-14 09:28:33 +0100
commit78426b84e8b0e5de87a2203e0c8dd738cd237270 (patch)
tree94302c968612f2dbaf04e55bec8bdda4d0450e8a
parent0dca618075f4a02d90432d09ecd31be76b4ceca0 (diff)
downloademacs-78426b84e8b0e5de87a2203e0c8dd738cd237270.tar.gz
emacs-78426b84e8b0e5de87a2203e0c8dd738cd237270.zip
Improvements on tramp.texi
* doc/misc/tramp.texi: Use Tramp version in title. Further improvements on user option indexing. Finish command examples with @key{RET} where appropriate. (Remote processes): Use 'M-&' for invocation of async shell. (Frequently Asked Questions): Add example with simplified syntax.
-rw-r--r--doc/misc/tramp.texi116
1 files changed, 67 insertions, 49 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 61fd0d33a73..e264298efcf 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -1,18 +1,16 @@
1\input texinfo @c -*- mode: texinfo; coding: utf-8 -*- 1\input texinfo @c -*- mode: texinfo; coding: utf-8 -*-
2@setfilename ../../info/tramp.info 2@setfilename ../../info/tramp.info
3@c %**start of header 3@c %**start of header
4@settitle TRAMP User Manual
5@include docstyle.texi 4@include docstyle.texi
6@c %**end of header
7
8@c This is *so* much nicer :)
9@footnotestyle end
10
11@c In the Tramp repository, the version number is auto-frobbed from 5@c In the Tramp repository, the version number is auto-frobbed from
12@c configure.ac, so you should edit that file and run 6@c configure.ac, so you should edit that file and run
13@c "autoconf && ./configure" to change the version number. 7@c "autoconf && ./configure" to change the version number.
14
15@include trampver.texi 8@include trampver.texi
9@settitle @value{tramp} @value{trampver} User Manual
10@c %**end of header
11
12@c This is *so* much nicer :)
13@footnotestyle end
16 14
17@c Macro for formatting a file name according to the respective 15@c Macro for formatting a file name according to the respective
18@c syntax. Macro arguments should not have any leading or trailing 16@c syntax. Macro arguments should not have any leading or trailing
@@ -48,7 +46,7 @@ copy and modify this GNU manual.''
48@end direntry 46@end direntry
49 47
50@titlepage 48@titlepage
51@title @value{tramp} version @value{trampver} User Manual 49@title @value{tramp} @value{trampver} User Manual
52@author by Daniel Pittman 50@author by Daniel Pittman
53@author based on documentation by Kai Großjohann 51@author based on documentation by Kai Großjohann
54@end titlepage 52@end titlepage
@@ -57,9 +55,9 @@ copy and modify this GNU manual.''
57 55
58 56
59@node Top, Overview, (dir), (dir) 57@node Top, Overview, (dir), (dir)
60@top @value{tramp} version @value{trampver} User Manual 58@top @value{tramp} @value{trampver} User Manual
61 59
62This file documents @value{tramp} version @value{trampver}, a remote file 60This file documents @value{tramp} @value{trampver}, a remote file
63editing package for Emacs. 61editing package for Emacs.
64 62
65@value{tramp} stands for ``Transparent Remote (file) Access, Multiple 63@value{tramp} stands for ``Transparent Remote (file) Access, Multiple
@@ -319,7 +317,7 @@ behind the scenes when you open a file with @value{tramp}.
319@chapter Obtaining @value{tramp} 317@chapter Obtaining @value{tramp}
320@cindex obtaining @value{tramp} 318@cindex obtaining @value{tramp}
321 319
322@value{tramp} is included as part of Emacs (since Emacs version 22.1). 320@value{tramp} is included as part of Emacs (since Emacs 22.1).
323 321
324@value{tramp} is also freely packaged for download on the Internet at 322@value{tramp} is also freely packaged for download on the Internet at
325@uref{https://ftp.gnu.org/gnu/tramp/}. 323@uref{https://ftp.gnu.org/gnu/tramp/}.
@@ -1444,8 +1442,8 @@ server.
1444 1442
1445Both ssh and PuTTY support such proxy settings, using an HTTP tunnel 1443Both ssh and PuTTY support such proxy settings, using an HTTP tunnel
1446via the @command{CONNECT} command (conforming to RFC 2616, 2817 1444via the @command{CONNECT} command (conforming to RFC 2616, 2817
1447specifications). Proxy servers using HTTP version 1.1 or later 1445specifications). Proxy servers using HTTP 1.1 or later protocol
1448protocol support this command. 1446support this command.
1449 1447
1450@subsection Tunneling with ssh 1448@subsection Tunneling with ssh
1451 1449
@@ -1483,6 +1481,7 @@ proxy server @samp{proxy.your.domain} on port 3128.
1483@cindex using non-standard methods 1481@cindex using non-standard methods
1484@cindex create your own methods 1482@cindex create your own methods
1485 1483
1484@vindex tramp-methods
1486The @code{tramp-methods} variable currently has an exhaustive list of 1485The @code{tramp-methods} variable currently has an exhaustive list of
1487predefined methods. Any part of this list can be modified with more 1486predefined methods. Any part of this list can be modified with more
1488suitable settings. Refer to the Lisp documentation of that variable, 1487suitable settings. Refer to the Lisp documentation of that variable,
@@ -1493,8 +1492,8 @@ accessible with @kbd{C-h v tramp-methods @key{RET}}.
1493@section Selecting config files for user/host name completion 1492@section Selecting config files for user/host name completion
1494@cindex customizing completion 1493@cindex customizing completion
1495@cindex selecting config files 1494@cindex selecting config files
1496@vindex tramp-completion-function-alist
1497 1495
1496@vindex tramp-completion-function-alist
1498@code{tramp-completion-function-alist} uses predefined files for user 1497@code{tramp-completion-function-alist} uses predefined files for user
1499and host name completion (@pxref{File name completion}). For each 1498and host name completion (@pxref{File name completion}). For each
1500method, it keeps a set of configuration files and a function that can 1499method, it keeps a set of configuration files and a function that can
@@ -1632,8 +1631,8 @@ the need.
1632 1631
1633@anchor{Using an authentication file} 1632@anchor{Using an authentication file}
1634@subsection Using an authentication file 1633@subsection Using an authentication file
1635@vindex auth-sources
1636 1634
1635@vindex auth-sources
1637The package @file{auth-source.el}, originally developed for No Gnus, 1636The package @file{auth-source.el}, originally developed for No Gnus,
1638reads passwords from different sources, @xref{Help for users, , 1637reads passwords from different sources, @xref{Help for users, ,
1639auth-source, auth}. The default authentication file is 1638auth-source, auth}. The default authentication file is
@@ -1679,7 +1678,6 @@ Set @code{password-cache} to @code{nil} to disable password caching.
1679@node Connection caching 1678@node Connection caching
1680@section Reusing connection related information 1679@section Reusing connection related information
1681@cindex caching 1680@cindex caching
1682@vindex tramp-persistency-file-name
1683 1681
1684@vindex tramp-persistency-file-name 1682@vindex tramp-persistency-file-name
1685For faster initial connection times, @value{tramp} stores previous 1683For faster initial connection times, @value{tramp} stores previous
@@ -1703,11 +1701,11 @@ connection related information for that host and creates a new entry.
1703 1701
1704@node Predefined connection information 1702@node Predefined connection information
1705@section Setting own connection related information 1703@section Setting own connection related information
1706@vindex tramp-connection-properties
1707 1704
1708For more precise customization, parameters specified by 1705For more precise customization, parameters specified by
1709@code{tramp-methods} can be overwritten manually. 1706@code{tramp-methods} can be overwritten manually.
1710 1707
1708@vindex tramp-connection-properties
1711Set @option{tramp-connection-properties} to manually override 1709Set @option{tramp-connection-properties} to manually override
1712@code{tramp-methods}. Properties in this list are in the form 1710@code{tramp-methods}. Properties in this list are in the form
1713@code{(@var{regexp} @var{property} @var{value})}. @var{regexp} 1711@code{(@var{regexp} @var{property} @var{value})}. @var{regexp}
@@ -1882,7 +1880,6 @@ prompts, for which @value{tramp} uses @option{tramp-wrong-passwd-regexp}.
1882@item @command{tset} and other questions 1880@item @command{tset} and other questions
1883@cindex unix command tset 1881@cindex unix command tset
1884@cindex tset unix command 1882@cindex tset unix command
1885@vindex tramp-terminal-type
1886 1883
1887@vindex tramp-terminal-type 1884@vindex tramp-terminal-type
1888To suppress inappropriate prompts for terminal type, @value{tramp} 1885To suppress inappropriate prompts for terminal type, @value{tramp}
@@ -1963,9 +1960,9 @@ shell-specific config files. For example, bash can use
1963 1960
1964@value{tramp} redefines the remote shell prompt internally for robust 1961@value{tramp} redefines the remote shell prompt internally for robust
1965parsing. This redefinition affects the looks of a prompt in an 1962parsing. This redefinition affects the looks of a prompt in an
1966interactive remote shell through commands, such as @kbd{M-x 1963interactive remote shell through commands, such as @kbd{M-x shell
1967shell}. Such prompts, however, can be reset to something more readable 1964@key{RET}}. Such prompts, however, can be reset to something more
1968and recognizable using these @value{tramp} variables. 1965readable and recognizable using these @value{tramp} variables.
1969 1966
1970@value{tramp} sets the @env{INSIDE_EMACS} variable in the startup 1967@value{tramp} sets the @env{INSIDE_EMACS} variable in the startup
1971script file @file{~/.emacs_SHELLNAME}. 1968script file @file{~/.emacs_SHELLNAME}.
@@ -2078,8 +2075,8 @@ directory for temporary files:
2078 2075
2079@item 2076@item
2080Open a remote connection with the command @kbd{C-x C-f 2077Open a remote connection with the command @kbd{C-x C-f
2081@trampfn{ssh,192.168.0.26#2222,}}, where @command{sshd} is listening 2078@trampfn{ssh,192.168.0.26#2222,} @key{RET}}, where @command{sshd} is
2082on port @samp{2222}. 2079listening on port @samp{2222}.
2083 2080
2084To add a corresponding entry to the @file{~/.ssh/config} file 2081To add a corresponding entry to the @file{~/.ssh/config} file
2085(recommended), use this: 2082(recommended), use this:
@@ -2106,7 +2103,7 @@ the previous example, fix the connection properties as follows:
2106 2103
2107@noindent 2104@noindent
2108Open a remote connection with a more concise command @kbd{C-x C-f 2105Open a remote connection with a more concise command @kbd{C-x C-f
2109@trampfn{ssh,android,}}. 2106@trampfn{ssh,android,} @key{RET}}.
2110@end itemize 2107@end itemize
2111 2108
2112 2109
@@ -2114,8 +2111,8 @@ Open a remote connection with a more concise command @kbd{C-x C-f
2114@section Auto-save and Backup configuration 2111@section Auto-save and Backup configuration
2115@cindex auto-save 2112@cindex auto-save
2116@cindex backup 2113@cindex backup
2117@vindex backup-directory-alist
2118 2114
2115@vindex backup-directory-alist
2119To avoid @value{tramp} from saving backup files owned by @samp{root} 2116To avoid @value{tramp} from saving backup files owned by @samp{root}
2120to locations accessible to others, default backup settings in 2117to locations accessible to others, default backup settings in
2121@option{backup-directory-alist} have to be altered. 2118@option{backup-directory-alist} have to be altered.
@@ -2158,7 +2155,6 @@ Disabling backups can be targeted to just the @option{su} and
2158@end group 2155@end group
2159@end lisp 2156@end lisp
2160 2157
2161@vindex backup-directory-alist
2162@vindex tramp-backup-directory-alist 2158@vindex tramp-backup-directory-alist
2163Another option is to create better backup file naming with user and 2159Another option is to create better backup file naming with user and
2164host names prefixed to the file name. For example, transforming 2160host names prefixed to the file name. For example, transforming
@@ -2219,8 +2215,9 @@ This section is incomplete. Please share your solutions.
2219@cindex sshx method with cygwin 2215@cindex sshx method with cygwin
2220 2216
2221Cygwin's @command{ssh} works only with a Cygwin version of Emacs. To 2217Cygwin's @command{ssh} works only with a Cygwin version of Emacs. To
2222check for compatibility: type @kbd{M-x eshell}, and start @kbd{ssh 2218check for compatibility: type @kbd{M-x eshell @key{RET}}, and start
2223test.host}. Incompatibilities trigger this message: 2219@kbd{ssh test.host @key{RET}}. Incompatibilities trigger this
2220message:
2224 2221
2225@example 2222@example
2226Pseudo-terminal will not be allocated because stdin is not a terminal. 2223Pseudo-terminal will not be allocated because stdin is not a terminal.
@@ -2536,8 +2533,8 @@ remote host name and file name. For example, hopping over a single
2536proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}: 2533proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}:
2537 2534
2538@example 2535@example
2539@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path}} 2536@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path} @key{RET}}
2540@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path} 2537@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path @key{RET}}
2541@end example 2538@end example
2542 2539
2543Proxies can take patterns @code{%h} or @code{%u}. 2540Proxies can take patterns @code{%h} or @code{%u}.
@@ -2759,14 +2756,15 @@ host. Example:
2759@example 2756@example
2760@group 2757@group
2761@kbd{C-x C-f @trampfn{sudo,,} @key{RET}} 2758@kbd{C-x C-f @trampfn{sudo,,} @key{RET}}
2762@kbd{M-! tail -f /var/log/syslog.log & @key{RET}} 2759@kbd{M-& tail -f /var/log/syslog.log @key{RET}}
2763@end group 2760@end group
2764@end example 2761@end example
2765 2762
2766@command{tail} command outputs continuously to the local buffer, 2763@command{tail} command outputs continuously to the local buffer,
2767@file{*Async Shell Command*} 2764@file{*Async Shell Command*}
2768 2765
2769@kbd{M-x auto-revert-tail-mode} runs similarly showing continuous output. 2766@kbd{M-x auto-revert-tail-mode @key{RET}} runs similarly showing
2767continuous output.
2770 2768
2771 2769
2772@subsection Running @code{eshell} on a remote host 2770@subsection Running @code{eshell} on a remote host
@@ -2775,8 +2773,8 @@ host. Example:
2775@value{tramp} is integrated into @file{eshell.el}, which enables 2773@value{tramp} is integrated into @file{eshell.el}, which enables
2776interactive eshell sessions on remote hosts at the command prompt. 2774interactive eshell sessions on remote hosts at the command prompt.
2777You must add the module @code{em-tramp} to @code{eshell-modules-list}. 2775You must add the module @code{em-tramp} to @code{eshell-modules-list}.
2778Here's a sample interaction after opening @kbd{M-x eshell} on a remote 2776Here's a sample interaction after opening @kbd{M-x eshell @key{RET}}
2779host: 2777on a remote host:
2780 2778
2781@example 2779@example
2782@group 2780@group
@@ -2857,7 +2855,7 @@ calls include:
2857@end group 2855@end group
2858@end example 2856@end example
2859 2857
2860Just the local part of a remote file name, such as @kbd{perl -d 2858Just the local part of a remote file name, such as @command{perl -d
2861/home/user/myprog.pl}, is not possible. 2859/home/user/myprog.pl}, is not possible.
2862 2860
2863Arguments of the program to be debugged must be literal, can take 2861Arguments of the program to be debugged must be literal, can take
@@ -2877,8 +2875,8 @@ command. Powershell V2.0 on the remote host is required to run
2877processes triggered from @value{tramp}. 2875processes triggered from @value{tramp}.
2878 2876
2879@option{explicit-shell-file-name} and @option{explicit-*-args} have to 2877@option{explicit-shell-file-name} and @option{explicit-*-args} have to
2880be set properly so @kbd{M-x shell} can open a proper remote shell on a 2878be set properly so @kbd{M-x shell @key{RET}} can open a proper remote
2881MS Windows host. To open @command{cmd}, set it as follows: 2879shell on a MS Windows host. To open @command{cmd}, set it as follows:
2882 2880
2883@lisp 2881@lisp
2884@group 2882@group
@@ -2962,9 +2960,9 @@ Before sending a bug report, run the test suite first @ref{Testing}.
2962Check if the bug or problem is already addressed in @xref{Frequently 2960Check if the bug or problem is already addressed in @xref{Frequently
2963Asked Questions}. 2961Asked Questions}.
2964 2962
2965Run @kbd{M-x tramp-bug} to generate a buffer with details of the 2963Run @kbd{M-x tramp-bug @key{RET}} to generate a buffer with details of
2966system along with the details of the @value{tramp} 2964the system along with the details of the @value{tramp} installation.
2967installation. Please include these details with the bug report. 2965Please include these details with the bug report.
2968 2966
2969The bug report must describe in as excruciating detail as possible the 2967The bug report must describe in as excruciating detail as possible the
2970steps required to reproduce the problem. These details must include 2968steps required to reproduce the problem. These details must include
@@ -3089,7 +3087,7 @@ put the cursor at the top of the buffer, and then apply the following
3089expression: 3087expression:
3090 3088
3091@example 3089@example
3092@kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$"))} 3090@kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$")) @key{RET}}
3093@end example 3091@end example
3094 3092
3095If the cursor has not moved to the prompt at the bottom of the buffer, 3093If the cursor has not moved to the prompt at the bottom of the buffer,
@@ -3293,9 +3291,10 @@ the following code in @file{~/.emacs} file.
3293How to get a Visual Warning when working with @samp{root} privileges? 3291How to get a Visual Warning when working with @samp{root} privileges?
3294Host indication in the mode line? 3292Host indication in the mode line?
3295 3293
3294@cindex @value{tramp} theme
3296@vindex tramp-theme-face-remapping-alist 3295@vindex tramp-theme-face-remapping-alist
3297Install @file{tramp-theme} from GNU ELPA via Emacs' Package Manager. 3296Install @file{tramp-theme} from GNU ELPA via Emacs' Package Manager.
3298Enable it via @kbd{M-x load-theme @key{RET} tramp}. Further 3297Enable it via @kbd{M-x load-theme @key{RET} tramp @key{RET}}. Further
3299customization is explained in user option 3298customization is explained in user option
3300@option{tramp-theme-face-remapping-alist}. 3299@option{tramp-theme-face-remapping-alist}.
3301 3300
@@ -3370,6 +3369,24 @@ is @file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, then:
3370@enumerate 3369@enumerate
3371 3370
3372@item 3371@item
3372Use simplified syntax:
3373
3374If you always apply the default method (@pxref{Default Method}), you
3375could use the simplified @value{tramp} syntax (@pxref{Change file name
3376syntax}):
3377
3378@lisp
3379@group
3380(customize-set-variable 'tramp-default-method "ssh")
3381(tramp-change-syntax 'simplified)
3382@end group
3383@end lisp
3384
3385The reduced typing: @kbd{C-x C-f
3386@code{@value{prefix}news@@news.my.domain@value{postfix}/opt/news/etc}
3387@key{RET}}.
3388
3389@item
3373Use default values for method name and user name: 3390Use default values for method name and user name:
3374 3391
3375You can define default methods and user names for hosts, 3392You can define default methods and user names for hosts,
@@ -3383,11 +3400,12 @@ You can define default methods and user names for hosts,
3383@end group 3400@end group
3384@end lisp 3401@end lisp
3385 3402
3386The reduced typing: @kbd{C-x C-f @trampfn{-,news.my.domain,/opt/news/etc}}. 3403The reduced typing: @kbd{C-x C-f
3404@trampfn{-,news.my.domain,/opt/news/etc} @key{RET}}.
3387 3405
3388@strong{Note} that there are some useful shortcuts already. Accessing 3406@strong{Note} that there are some useful shortcuts already. Accessing
3389your local host as @samp{root} user, is possible just by @kbd{C-x C-f 3407your local host as @samp{root} user, is possible just by @kbd{C-x C-f
3390@trampfn{su,,}}. 3408@trampfn{su,,} @key{RET}}.
3391 3409
3392@item 3410@item
3393Use configuration options of the access method: 3411Use configuration options of the access method:
@@ -3404,7 +3422,7 @@ Host xy
3404@end group 3422@end group
3405@end example 3423@end example
3406 3424
3407The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc}}. 3425The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc} @key{RET}}.
3408 3426
3409Depending on the number of files in the directories, host names 3427Depending on the number of files in the directories, host names
3410completion can further reduce key strokes: @kbd{C-x C-f 3428completion can further reduce key strokes: @kbd{C-x C-f
@@ -3572,8 +3590,8 @@ Load @file{bbdb} in Emacs:
3572@end group 3590@end group
3573@end lisp 3591@end lisp
3574 3592
3575Create a BBDB entry with @kbd{M-x bbdb-create-ftp-site}. Then specify 3593Create a BBDB entry with @kbd{M-x bbdb-create-ftp-site @key{RET}}.
3576a method and user name where needed. Examples: 3594Then specify a method and user name where needed. Examples:
3577 3595
3578@example 3596@example
3579@group 3597@group
@@ -3709,8 +3727,8 @@ To disable both @value{tramp} (and Ange FTP), set @code{tramp-mode} to
3709@end lisp 3727@end lisp
3710 3728
3711@item 3729@item
3712To unload @value{tramp}, type @kbd{M-x tramp-unload-tramp}. Unloading 3730To unload @value{tramp}, type @kbd{M-x tramp-unload-tramp @key{RET}}.
3713@value{tramp} resets Ange FTP plugins also. 3731Unloading @value{tramp} resets Ange FTP plugins also.
3714@end itemize 3732@end itemize
3715@end itemize 3733@end itemize
3716 3734