diff options
| author | Michael Albinus | 2014-01-12 16:19:07 +0100 |
|---|---|---|
| committer | Michael Albinus | 2014-01-12 16:19:07 +0100 |
| commit | c5eb43237d108a7d75bb9920b3b04d81c2089a92 (patch) | |
| tree | 63c8cbe0586579e3371330e576fb5fa5bb5ec750 /doc | |
| parent | 841a6d0cb8b667c8681a4df93b3ce2e752234280 (diff) | |
| download | emacs-c5eb43237d108a7d75bb9920b3b04d81c2089a92.tar.gz emacs-c5eb43237d108a7d75bb9920b3b04d81c2089a92.zip | |
* tramp.texi (all): Doc fix according to GNU Coding Standards.
Use "file name" instead of "filename" or "path". Use "host"
instead of "machine".
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/misc/ChangeLog | 6 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 247 |
2 files changed, 128 insertions, 125 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 54a2a5de146..ce03a0aa1a5 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-01-12 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * tramp.texi (all): Doc fix according to GNU Coding Standards. | ||
| 4 | Use "file name" instead of "filename" or "path". Use "host" | ||
| 5 | instead of "machine". | ||
| 6 | |||
| 1 | 2014-01-12 Xue Fuqiao <xfq.free@gmail.com> | 7 | 2014-01-12 Xue Fuqiao <xfq.free@gmail.com> |
| 2 | 8 | ||
| 3 | * eww.texi (Basics): Use "directory" instead of "path" (Bug#16419). | 9 | * eww.texi (Basics): Use "directory" instead of "path" (Bug#16419). |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index dfe57689e5e..b3057c255fc 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -17,7 +17,7 @@ | |||
| 17 | 17 | ||
| 18 | @include trampver.texi | 18 | @include trampver.texi |
| 19 | 19 | ||
| 20 | @c Macro for formatting a filename according to the respective syntax. | 20 | @c Macro for formatting a file name according to the respective syntax. |
| 21 | @c xxx and yyy are auxiliary macros in order to omit leading and | 21 | @c xxx and yyy are auxiliary macros in order to omit leading and |
| 22 | @c trailing whitespace. Not very elegant, but I don't know it better. | 22 | @c trailing whitespace. Not very elegant, but I don't know it better. |
| 23 | 23 | ||
| @@ -198,7 +198,7 @@ Installing @value{tramp} with your @value{emacsname} | |||
| 198 | 198 | ||
| 199 | Configuring @value{tramp} for use | 199 | Configuring @value{tramp} for use |
| 200 | 200 | ||
| 201 | * Connection types:: Types of connections made to remote machines. | 201 | * Connection types:: Types of connections made to remote hosts. |
| 202 | * Inline methods:: Inline methods. | 202 | * Inline methods:: Inline methods. |
| 203 | * External methods:: External methods. | 203 | * External methods:: External methods. |
| 204 | @ifset emacsgvfs | 204 | @ifset emacsgvfs |
| @@ -217,7 +217,7 @@ Configuring @value{tramp} for use | |||
| 217 | * Connection caching:: Reusing connection related information. | 217 | * Connection caching:: Reusing connection related information. |
| 218 | * Predefined connection information:: | 218 | * Predefined connection information:: |
| 219 | Setting own connection related information. | 219 | Setting own connection related information. |
| 220 | * Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. | 220 | * Remote Programs:: How @value{tramp} finds and uses programs on the remote host. |
| 221 | * Remote shell setup:: Remote shell setup hints. | 221 | * Remote shell setup:: Remote shell setup hints. |
| 222 | * Android shell setup:: Android shell setup hints. | 222 | * Android shell setup:: Android shell setup hints. |
| 223 | * Auto-save and Backup:: Auto-save and Backup. | 223 | * Auto-save and Backup:: Auto-save and Backup. |
| @@ -225,8 +225,8 @@ Configuring @value{tramp} for use | |||
| 225 | 225 | ||
| 226 | Using @value{tramp} | 226 | Using @value{tramp} |
| 227 | 227 | ||
| 228 | * Filename Syntax:: @value{tramp} filename conventions. | 228 | * File name Syntax:: @value{tramp} file name conventions. |
| 229 | * Filename completion:: Filename completion. | 229 | * File name completion:: File name completion. |
| 230 | * Ad-hoc multi-hops:: Declaring multiple hops in the file name. | 230 | * Ad-hoc multi-hops:: Declaring multiple hops in the file name. |
| 231 | * Remote processes:: Integration with other @value{emacsname} packages. | 231 | * Remote processes:: Integration with other @value{emacsname} packages. |
| 232 | * Cleanup remote connections:: Cleanup remote connections. | 232 | * Cleanup remote connections:: Cleanup remote connections. |
| @@ -247,18 +247,18 @@ How file names, directories and localnames are mangled and managed | |||
| 247 | @cindex overview | 247 | @cindex overview |
| 248 | 248 | ||
| 249 | After the installation of @value{tramp} into your @value{emacsname}, you | 249 | After the installation of @value{tramp} into your @value{emacsname}, you |
| 250 | will be able to access files on remote machines as though they were | 250 | will be able to access files on remote hosts as though they were |
| 251 | local. Access to the remote file system for editing files, version | 251 | local. Access to the remote file system for editing files, version |
| 252 | control, and @code{dired} are transparently enabled. | 252 | control, and @code{dired} are transparently enabled. |
| 253 | 253 | ||
| 254 | Your access to the remote machine can be with the @command{rsh}, | 254 | Your access to the remote host can be with the @command{rsh}, |
| 255 | @command{rlogin}, @command{telnet} programs or with any similar | 255 | @command{rlogin}, @command{telnet} programs or with any similar |
| 256 | connection method. This connection must pass @acronym{ASCII} | 256 | connection method. This connection must pass @acronym{ASCII} |
| 257 | successfully to be usable but need not be 8-bit clean. | 257 | successfully to be usable but need not be 8-bit clean. |
| 258 | 258 | ||
| 259 | The package provides support for @command{ssh} connections out of the | 259 | The package provides support for @command{ssh} connections out of the |
| 260 | box, one of the more common uses of the package. This allows | 260 | box, one of the more common uses of the package. This allows |
| 261 | relatively secure access to machines, especially if @command{ftp} | 261 | relatively secure access to hosts, especially if @command{ftp} |
| 262 | access is disabled. | 262 | access is disabled. |
| 263 | 263 | ||
| 264 | Under Windows, @value{tramp} is integrated with the PuTTY package, | 264 | Under Windows, @value{tramp} is integrated with the PuTTY package, |
| @@ -267,11 +267,11 @@ using the @command{plink} program. | |||
| 267 | The majority of activity carried out by @value{tramp} requires only that | 267 | The majority of activity carried out by @value{tramp} requires only that |
| 268 | the remote login is possible and is carried out at the terminal. In | 268 | the remote login is possible and is carried out at the terminal. In |
| 269 | order to access remote files @value{tramp} needs to transfer their content | 269 | order to access remote files @value{tramp} needs to transfer their content |
| 270 | to the local machine temporarily. | 270 | to the local host temporarily. |
| 271 | 271 | ||
| 272 | @value{tramp} can transfer files between the machines in a variety of ways. | 272 | @value{tramp} can transfer files between the hosts in a variety of ways. |
| 273 | The details are easy to select, depending on your needs and the | 273 | The details are easy to select, depending on your needs and the |
| 274 | machines in question. | 274 | hosts in question. |
| 275 | 275 | ||
| 276 | The fastest transfer methods for large files rely on a remote file | 276 | The fastest transfer methods for large files rely on a remote file |
| 277 | transfer package such as @command{rcp}, @command{scp}, @command{rsync} | 277 | transfer package such as @command{rcp}, @command{scp}, @command{rsync} |
| @@ -280,7 +280,7 @@ or (under Windows) @command{pscp}. | |||
| 280 | If the remote copy methods are not suitable for you, @value{tramp} also | 280 | If the remote copy methods are not suitable for you, @value{tramp} also |
| 281 | supports the use of encoded transfers directly through the shell. | 281 | supports the use of encoded transfers directly through the shell. |
| 282 | This requires that the @command{mimencode} or @command{uuencode} tools | 282 | This requires that the @command{mimencode} or @command{uuencode} tools |
| 283 | are available on the remote machine. These methods are generally | 283 | are available on the remote host. These methods are generally |
| 284 | faster for small files. | 284 | faster for small files. |
| 285 | 285 | ||
| 286 | @value{tramp} is still under active development and any problems you encounter, | 286 | @value{tramp} is still under active development and any problems you encounter, |
| @@ -351,7 +351,7 @@ shell prompt, and a few other things. | |||
| 351 | @item | 351 | @item |
| 352 | Now the remote shell is up and it good working order. Remember, what | 352 | Now the remote shell is up and it good working order. Remember, what |
| 353 | was supposed to happen is that @value{tramp} tries to find out what files exist | 353 | was supposed to happen is that @value{tramp} tries to find out what files exist |
| 354 | on the remote host so that it can do filename completion. | 354 | on the remote host so that it can do file name completion. |
| 355 | 355 | ||
| 356 | So, @value{tramp} basically issues @command{cd} and @command{ls} commands and | 356 | So, @value{tramp} basically issues @command{cd} and @command{ls} commands and |
| 357 | also sometimes @command{echo} with globbing. Another command that is | 357 | also sometimes @command{echo} with globbing. Another command that is |
| @@ -360,7 +360,7 @@ directory or the like. The output of each command is parsed for the | |||
| 360 | necessary operation. | 360 | necessary operation. |
| 361 | 361 | ||
| 362 | @item | 362 | @item |
| 363 | Suppose you are finished with filename completion, have entered @kbd{C-x | 363 | Suppose you are finished with file name completion, have entered @kbd{C-x |
| 364 | C-f}, a full file name and hit @kbd{@key{RET}}. Now comes the time to | 364 | C-f}, a full file name and hit @kbd{@key{RET}}. Now comes the time to |
| 365 | transfer the file contents from the remote host to the local host so | 365 | transfer the file contents from the remote host to the local host so |
| 366 | that you can edit them. | 366 | that you can edit them. |
| @@ -470,7 +470,7 @@ many more methods for getting a remote shell and for transferring the | |||
| 470 | file contents were added. Support for VC was added. | 470 | file contents were added. Support for VC was added. |
| 471 | 471 | ||
| 472 | After that, there were added the multi-hop methods in April 2000 and | 472 | After that, there were added the multi-hop methods in April 2000 and |
| 473 | the unification of @value{tramp} and Ange-FTP filenames in July 2002. | 473 | the unification of @value{tramp} and Ange-FTP file names in July 2002. |
| 474 | In July 2004, multi-hop methods have been replaced by proxy hosts. | 474 | In July 2004, multi-hop methods have been replaced by proxy hosts. |
| 475 | Running commands on remote hosts was introduced in December 2005. | 475 | Running commands on remote hosts was introduced in December 2005. |
| 476 | @ifset emacsgw | 476 | @ifset emacsgw |
| @@ -508,8 +508,8 @@ the first release including @value{tramp} was Emacs 22.1. | |||
| 508 | @value{tramp} is (normally) fully functional when it is initially | 508 | @value{tramp} is (normally) fully functional when it is initially |
| 509 | installed. It is initially configured to use the @command{scp} | 509 | installed. It is initially configured to use the @command{scp} |
| 510 | program to connect to the remote host. So in the easiest case, you | 510 | program to connect to the remote host. So in the easiest case, you |
| 511 | just type @kbd{C-x C-f} and then enter the filename | 511 | just type @kbd{C-x C-f} and then enter the file name |
| 512 | @file{@trampfn{, user, machine, /path/to.file}}. | 512 | @file{@trampfn{, user, host, /path/to.file}}. |
| 513 | 513 | ||
| 514 | On some hosts, there are problems with opening a connection. These are | 514 | On some hosts, there are problems with opening a connection. These are |
| 515 | related to the behavior of the remote shell. See @xref{Remote shell | 515 | related to the behavior of the remote shell. See @xref{Remote shell |
| @@ -518,7 +518,7 @@ setup}, for details on this. | |||
| 518 | If you do not wish to use these commands to connect to the remote | 518 | If you do not wish to use these commands to connect to the remote |
| 519 | host, you should change the default connection and transfer method | 519 | host, you should change the default connection and transfer method |
| 520 | that @value{tramp} uses. There are several different methods that @value{tramp} | 520 | that @value{tramp} uses. There are several different methods that @value{tramp} |
| 521 | can use to connect to remote machines and transfer files | 521 | can use to connect to remote hosts and transfer files |
| 522 | (@pxref{Connection types}). | 522 | (@pxref{Connection types}). |
| 523 | 523 | ||
| 524 | If you don't know which method is right for you, see @xref{Default | 524 | If you don't know which method is right for you, see @xref{Default |
| @@ -526,7 +526,7 @@ Method}. | |||
| 526 | 526 | ||
| 527 | 527 | ||
| 528 | @menu | 528 | @menu |
| 529 | * Connection types:: Types of connections made to remote machines. | 529 | * Connection types:: Types of connections made to remote hosts. |
| 530 | * Inline methods:: Inline methods. | 530 | * Inline methods:: Inline methods. |
| 531 | * External methods:: External methods. | 531 | * External methods:: External methods. |
| 532 | @ifset emacsgvfs | 532 | @ifset emacsgvfs |
| @@ -548,7 +548,7 @@ Method}. | |||
| 548 | * Connection caching:: Reusing connection related information. | 548 | * Connection caching:: Reusing connection related information. |
| 549 | * Predefined connection information:: | 549 | * Predefined connection information:: |
| 550 | Setting own connection related information. | 550 | Setting own connection related information. |
| 551 | * Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. | 551 | * Remote Programs:: How @value{tramp} finds and uses programs on the remote host. |
| 552 | * Remote shell setup:: Remote shell setup hints. | 552 | * Remote shell setup:: Remote shell setup hints. |
| 553 | * Android shell setup:: Android shell setup hints. | 553 | * Android shell setup:: Android shell setup hints. |
| 554 | * Auto-save and Backup:: Auto-save and Backup. | 554 | * Auto-save and Backup:: Auto-save and Backup. |
| @@ -557,17 +557,17 @@ Method}. | |||
| 557 | 557 | ||
| 558 | 558 | ||
| 559 | @node Connection types | 559 | @node Connection types |
| 560 | @section Types of connections made to remote machines | 560 | @section Types of connections made to remote hosts |
| 561 | @cindex connection types, overview | 561 | @cindex connection types, overview |
| 562 | 562 | ||
| 563 | There are two basic types of transfer methods, each with its own | 563 | There are two basic types of transfer methods, each with its own |
| 564 | advantages and limitations. Both types of connection make use of a | 564 | advantages and limitations. Both types of connection make use of a |
| 565 | remote shell access program such as @command{rsh}, @command{ssh} or | 565 | remote shell access program such as @command{rsh}, @command{ssh} or |
| 566 | @command{telnet} to connect to the remote machine. | 566 | @command{telnet} to connect to the remote host. |
| 567 | 567 | ||
| 568 | This connection is used to perform many of the operations that @value{tramp} | 568 | This connection is used to perform many of the operations that @value{tramp} |
| 569 | requires to make the remote file system transparently accessible from | 569 | requires to make the remote file system transparently accessible from |
| 570 | the local machine. It is only when visiting files that the methods | 570 | the local host. It is only when visiting files that the methods |
| 571 | differ. | 571 | differ. |
| 572 | 572 | ||
| 573 | @cindex inline methods | 573 | @cindex inline methods |
| @@ -575,9 +575,9 @@ differ. | |||
| 575 | @cindex methods, inline | 575 | @cindex methods, inline |
| 576 | @cindex methods, external | 576 | @cindex methods, external |
| 577 | Loading or saving a remote file requires that the content of the file | 577 | Loading or saving a remote file requires that the content of the file |
| 578 | be transferred between the two machines. The content of the file can | 578 | be transferred between the two hosts. The content of the file can |
| 579 | be transferred using one of two methods: the @dfn{inline method} over | 579 | be transferred using one of two methods: the @dfn{inline method} over |
| 580 | the same connection used to log in to the remote machine, or the | 580 | the same connection used to log in to the remote host, or the |
| 581 | @dfn{external method} through another connection using a remote copy | 581 | @dfn{external method} through another connection using a remote copy |
| 582 | program such as @command{rcp}, @command{scp} or @command{rsync}. | 582 | program such as @command{rcp}, @command{scp} or @command{rsync}. |
| 583 | 583 | ||
| @@ -607,12 +607,12 @@ action. | |||
| 607 | The inline methods in @value{tramp} are quite powerful and can work in | 607 | The inline methods in @value{tramp} are quite powerful and can work in |
| 608 | situations where you cannot use an external transfer program to connect. | 608 | situations where you cannot use an external transfer program to connect. |
| 609 | Inline methods are the only methods that work when connecting to the | 609 | Inline methods are the only methods that work when connecting to the |
| 610 | remote machine via telnet. (There are also strange inline methods which | 610 | remote host via telnet. (There are also strange inline methods which |
| 611 | allow you to transfer files between @emph{user identities} rather than | 611 | allow you to transfer files between @emph{user identities} rather than |
| 612 | hosts, see below.) | 612 | hosts, see below.) |
| 613 | 613 | ||
| 614 | These methods depend on the existence of a suitable encoding and | 614 | These methods depend on the existence of a suitable encoding and |
| 615 | decoding command on remote machine. Locally, @value{tramp} may be able to | 615 | decoding command on remote host. Locally, @value{tramp} may be able to |
| 616 | use features of @value{emacsname} to decode and encode the files or | 616 | use features of @value{emacsname} to decode and encode the files or |
| 617 | it may require access to external commands to perform that task. | 617 | it may require access to external commands to perform that task. |
| 618 | 618 | ||
| @@ -789,11 +789,11 @@ fair trade-off between both approaches. | |||
| 789 | @cindex rsh (with rcp method) | 789 | @cindex rsh (with rcp method) |
| 790 | 790 | ||
| 791 | This method uses the @command{rsh} and @command{rcp} commands to connect | 791 | This method uses the @command{rsh} and @command{rcp} commands to connect |
| 792 | to the remote machine and transfer files. This is probably the fastest | 792 | to the remote host and transfer files. This is probably the fastest |
| 793 | connection method available. | 793 | connection method available. |
| 794 | 794 | ||
| 795 | The alternative method @option{remcp} uses the @command{remsh} and | 795 | The alternative method @option{remcp} uses the @command{remsh} and |
| 796 | @command{rcp} commands. It should be applied on machines where | 796 | @command{rcp} commands. It should be applied on hosts where |
| 797 | @command{remsh} is used instead of @command{rsh}. | 797 | @command{remsh} is used instead of @command{rsh}. |
| 798 | 798 | ||
| 799 | 799 | ||
| @@ -804,8 +804,8 @@ The alternative method @option{remcp} uses the @command{remsh} and | |||
| 804 | @cindex ssh (with scp method) | 804 | @cindex ssh (with scp method) |
| 805 | 805 | ||
| 806 | Using @command{ssh} to connect to the remote host and @command{scp} to | 806 | Using @command{ssh} to connect to the remote host and @command{scp} to |
| 807 | transfer files between the machines is the best method for securely | 807 | transfer files between the hosts is the best method for securely |
| 808 | connecting to a remote machine and accessing files. | 808 | connecting to a remote host and accessing files. |
| 809 | 809 | ||
| 810 | The performance of this option is also quite good. It may be slower than | 810 | The performance of this option is also quite good. It may be slower than |
| 811 | the inline methods when you often open and close small files however. | 811 | the inline methods when you often open and close small files however. |
| @@ -843,7 +843,7 @@ This method supports the @samp{-p} argument. | |||
| 843 | @cindex ssh (with rsync method) | 843 | @cindex ssh (with rsync method) |
| 844 | 844 | ||
| 845 | Using the @command{ssh} command to connect securely to the remote | 845 | Using the @command{ssh} command to connect securely to the remote |
| 846 | machine and the @command{rsync} command to transfer files is almost | 846 | host and the @command{rsync} command to transfer files is almost |
| 847 | identical to the @option{scp} method. | 847 | identical to the @option{scp} method. |
| 848 | 848 | ||
| 849 | While @command{rsync} performs much better than @command{scp} when | 849 | While @command{rsync} performs much better than @command{scp} when |
| @@ -945,7 +945,7 @@ anyway. | |||
| 945 | This is not a native @value{tramp} method. Instead, it forwards all | 945 | This is not a native @value{tramp} method. Instead, it forwards all |
| 946 | requests to @value{ftppackagename}. | 946 | requests to @value{ftppackagename}. |
| 947 | @ifset xemacs | 947 | @ifset xemacs |
| 948 | This works only for unified filenames, see @ref{Issues}. | 948 | This works only for unified file names, see @ref{Issues}. |
| 949 | @end ifset | 949 | @end ifset |
| 950 | 950 | ||
| 951 | 951 | ||
| @@ -974,15 +974,15 @@ For authorization, MS Windows uses both a user name and a domain name. | |||
| 974 | Because of this, the @value{tramp} syntax has been extended: you can | 974 | Because of this, the @value{tramp} syntax has been extended: you can |
| 975 | specify a user name which looks like @code{user%domain} (the real user | 975 | specify a user name which looks like @code{user%domain} (the real user |
| 976 | name, then a percent sign, then the domain name). So, to connect to | 976 | name, then a percent sign, then the domain name). So, to connect to |
| 977 | the machine @code{melancholia} as user @code{daniel} of the domain | 977 | the host @code{melancholia} as user @code{daniel} of the domain |
| 978 | @code{BIZARRE}, and edit @file{.emacs} in the home directory (share | 978 | @code{BIZARRE}, and edit @file{.emacs} in the home directory (share |
| 979 | @code{daniel$}) I would specify the filename @file{@trampfn{smb, | 979 | @code{daniel$}) I would specify the file name @file{@trampfn{smb, |
| 980 | daniel%BIZARRE, melancholia, /daniel$$/.emacs}}. | 980 | daniel%BIZARRE, melancholia, /daniel$$/.emacs}}. |
| 981 | 981 | ||
| 982 | Depending on the Windows domain configuration, a Windows user might be | 982 | Depending on the Windows domain configuration, a Windows user might be |
| 983 | considered as domain user per default. In order to connect as local | 983 | considered as domain user per default. In order to connect as local |
| 984 | user, the WINS name of that machine must be given as domain name. | 984 | user, the WINS name of that host must be given as domain name. |
| 985 | Usually, it is the machine name in capital letters. In the example | 985 | Usually, it is the host name in capital letters. In the example |
| 986 | above, the local user @code{daniel} would be specified as | 986 | above, the local user @code{daniel} would be specified as |
| 987 | @file{@trampfn{smb, daniel%MELANCHOLIA, melancholia, /daniel$$/.emacs}}. | 987 | @file{@trampfn{smb, daniel%MELANCHOLIA, melancholia, /daniel$$/.emacs}}. |
| 988 | 988 | ||
| @@ -1156,7 +1156,7 @@ example, the following two lines specify to use the @option{ssh} | |||
| 1156 | method for all user names matching @samp{john} and the @option{rsync} | 1156 | method for all user names matching @samp{john} and the @option{rsync} |
| 1157 | method for all host names matching @samp{lily}. The third line | 1157 | method for all host names matching @samp{lily}. The third line |
| 1158 | specifies to use the @option{su} method for the user @samp{root} on | 1158 | specifies to use the @option{su} method for the user @samp{root} on |
| 1159 | the machine @samp{localhost}. | 1159 | the host @samp{localhost}. |
| 1160 | 1160 | ||
| 1161 | @lisp | 1161 | @lisp |
| 1162 | (add-to-list 'tramp-default-method-alist '("" "john" "ssh")) | 1162 | (add-to-list 'tramp-default-method-alist '("" "john" "ssh")) |
| @@ -1180,9 +1180,9 @@ environment you will use them in and, especially when used over the | |||
| 1180 | Internet, the security implications of your preferred method. | 1180 | Internet, the security implications of your preferred method. |
| 1181 | 1181 | ||
| 1182 | The @option{rsh} and @option{telnet} methods send your password as | 1182 | The @option{rsh} and @option{telnet} methods send your password as |
| 1183 | plain text as you log in to the remote machine, as well as | 1183 | plain text as you log in to the remote host, as well as |
| 1184 | transferring the files in such a way that the content can easily be | 1184 | transferring the files in such a way that the content can easily be |
| 1185 | read from other machines. | 1185 | read from other hosts. |
| 1186 | 1186 | ||
| 1187 | If you need to connect to remote systems that are accessible from the | 1187 | If you need to connect to remote systems that are accessible from the |
| 1188 | Internet, you should give serious thought to using @option{ssh} based | 1188 | Internet, you should give serious thought to using @option{ssh} based |
| @@ -1207,7 +1207,7 @@ want to edit mostly small files. And if you access large text files, | |||
| 1207 | compression (driven by @var{tramp-inline-compress-start-size}) shall | 1207 | compression (driven by @var{tramp-inline-compress-start-size}) shall |
| 1208 | still result in good performance. | 1208 | still result in good performance. |
| 1209 | 1209 | ||
| 1210 | I guess that these days, most people can access a remote machine by | 1210 | I guess that these days, most people can access a remote host by |
| 1211 | using @command{ssh}. So I suggest that you use the @option{ssh} | 1211 | using @command{ssh}. So I suggest that you use the @option{ssh} |
| 1212 | method. So, type @kbd{C-x C-f @trampfn{ssh, root, otherhost, | 1212 | method. So, type @kbd{C-x C-f @trampfn{ssh, root, otherhost, |
| 1213 | /etc/motd} @key{RET}} to edit the @file{/etc/motd} file on the other | 1213 | /etc/motd} @key{RET}} to edit the @file{/etc/motd} file on the other |
| @@ -1359,7 +1359,7 @@ file name located on a remote target matching @var{user}@@@var{host}. | |||
| 1359 | @var{host} and @var{user} are regular expressions or @code{nil}, which | 1359 | @var{host} and @var{user} are regular expressions or @code{nil}, which |
| 1360 | is interpreted as a regular expression which always matches. | 1360 | is interpreted as a regular expression which always matches. |
| 1361 | 1361 | ||
| 1362 | @var{proxy} must be a Tramp filename which localname part is ignored. | 1362 | @var{proxy} must be a Tramp file name which localname part is ignored. |
| 1363 | Method and user name on @var{proxy} are optional, which is interpreted | 1363 | Method and user name on @var{proxy} are optional, which is interpreted |
| 1364 | with the default values. | 1364 | with the default values. |
| 1365 | @ifset emacsgw | 1365 | @ifset emacsgw |
| @@ -1500,7 +1500,7 @@ variable, accessible with @kbd{C-h v tramp-methods @key{RET}}. | |||
| 1500 | 1500 | ||
| 1501 | The variable @code{tramp-completion-function-alist} is intended to | 1501 | The variable @code{tramp-completion-function-alist} is intended to |
| 1502 | customize which files are taken into account for user and host name | 1502 | customize which files are taken into account for user and host name |
| 1503 | completion (@pxref{Filename completion}). For every method, it keeps | 1503 | completion (@pxref{File name completion}). For every method, it keeps |
| 1504 | a set of configuration files, accompanied by a Lisp function able to | 1504 | a set of configuration files, accompanied by a Lisp function able to |
| 1505 | parse that file. Entries in @code{tramp-completion-function-alist} | 1505 | parse that file. Entries in @code{tramp-completion-function-alist} |
| 1506 | have the form (@var{method} @var{pair1} @var{pair2} ...). | 1506 | have the form (@var{method} @var{pair1} @var{pair2} ...). |
| @@ -1763,7 +1763,7 @@ connection at will. Since there is no reliable test for this, | |||
| 1763 | 1763 | ||
| 1764 | 1764 | ||
| 1765 | @node Remote Programs | 1765 | @node Remote Programs |
| 1766 | @section How @value{tramp} finds and uses programs on the remote machine | 1766 | @section How @value{tramp} finds and uses programs on the remote host |
| 1767 | 1767 | ||
| 1768 | @value{tramp} depends on a number of programs on the remote host in order to | 1768 | @value{tramp} depends on a number of programs on the remote host in order to |
| 1769 | function, including @command{ls}, @command{test}, @command{find} and | 1769 | function, including @command{ls}, @command{test}, @command{find} and |
| @@ -1782,14 +1782,14 @@ remote file access. | |||
| 1782 | @vindex tramp-default-remote-path | 1782 | @vindex tramp-default-remote-path |
| 1783 | @vindex tramp-own-remote-path | 1783 | @vindex tramp-own-remote-path |
| 1784 | @defopt tramp-remote-path | 1784 | @defopt tramp-remote-path |
| 1785 | When @value{tramp} connects to the remote machine, it searches for the | 1785 | When @value{tramp} connects to the remote host, it searches for the |
| 1786 | programs that it can use. The variable @code{tramp-remote-path} | 1786 | programs that it can use. The variable @code{tramp-remote-path} |
| 1787 | controls the directories searched on the remote machine. | 1787 | controls the directories searched on the remote host. |
| 1788 | 1788 | ||
| 1789 | By default, this is set to a reasonable set of defaults for most | 1789 | By default, this is set to a reasonable set of defaults for most |
| 1790 | machines. The symbol @code{tramp-default-remote-path} is a place | 1790 | hosts. The symbol @code{tramp-default-remote-path} is a place |
| 1791 | holder, it is replaced by the list of directories received via the | 1791 | holder, it is replaced by the list of directories received via the |
| 1792 | command @command{getconf PATH} on your remote machine. For example, | 1792 | command @command{getconf PATH} on your remote host. For example, |
| 1793 | on Debian GNU/Linux this is @file{/bin:/usr/bin}, whereas on Solaris | 1793 | on Debian GNU/Linux this is @file{/bin:/usr/bin}, whereas on Solaris |
| 1794 | this is @file{/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin}. | 1794 | this is @file{/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin}. |
| 1795 | It is recommended to apply this symbol on top of | 1795 | It is recommended to apply this symbol on top of |
| @@ -2067,7 +2067,7 @@ fi | |||
| 2067 | Android devices use a restricted shell. They can be accessed via the | 2067 | Android devices use a restricted shell. They can be accessed via the |
| 2068 | @option{adb} method. However, this restricts the access to a USB | 2068 | @option{adb} method. However, this restricts the access to a USB |
| 2069 | connection, and it requires the installation of the Android SDK on the | 2069 | connection, and it requires the installation of the Android SDK on the |
| 2070 | local machine. | 2070 | local host. |
| 2071 | 2071 | ||
| 2072 | When an @command{sshd} process runs on the Android device, like | 2072 | When an @command{sshd} process runs on the Android device, like |
| 2073 | provided by the @code{SSHDroid} app, any @option{ssh}-based method can | 2073 | provided by the @code{SSHDroid} app, any @option{ssh}-based method can |
| @@ -2293,7 +2293,7 @@ This section needs a lot of work! Please help. | |||
| 2293 | @cindex sshx method with Cygwin | 2293 | @cindex sshx method with Cygwin |
| 2294 | The recent Cygwin installation of @command{ssh} works only with a | 2294 | The recent Cygwin installation of @command{ssh} works only with a |
| 2295 | Cygwinized @value{emacsname}. You can check it by typing @kbd{M-x | 2295 | Cygwinized @value{emacsname}. You can check it by typing @kbd{M-x |
| 2296 | eshell}, and starting @kbd{ssh test.machine}. The problem is evident | 2296 | eshell}, and starting @kbd{ssh test.host}. The problem is evident |
| 2297 | if you see a message like this: | 2297 | if you see a message like this: |
| 2298 | 2298 | ||
| 2299 | @example | 2299 | @example |
| @@ -2309,12 +2309,12 @@ can find information about setting up Cygwin in their FAQ at | |||
| 2309 | @cindex scpx method with Cygwin | 2309 | @cindex scpx method with Cygwin |
| 2310 | If you wish to use the @option{scpx} connection method, then you might | 2310 | If you wish to use the @option{scpx} connection method, then you might |
| 2311 | have the problem that @value{emacsname} calls @command{scp} with a | 2311 | have the problem that @value{emacsname} calls @command{scp} with a |
| 2312 | Windows filename such as @code{c:/foo}. The Cygwin version of | 2312 | Windows file name such as @code{c:/foo}. The Cygwin version of |
| 2313 | @command{scp} does not know about Windows filenames and interprets | 2313 | @command{scp} does not know about Windows file names and interprets |
| 2314 | this as a remote filename on the host @code{c}. | 2314 | this as a remote file name on the host @code{c}. |
| 2315 | 2315 | ||
| 2316 | One possible workaround is to write a wrapper script for @option{scp} | 2316 | One possible workaround is to write a wrapper script for @option{scp} |
| 2317 | which converts the Windows filename to a Cygwinized filename. | 2317 | which converts the Windows file name to a Cygwinized file name. |
| 2318 | 2318 | ||
| 2319 | @cindex Cygwin and ssh-agent | 2319 | @cindex Cygwin and ssh-agent |
| 2320 | @cindex SSH_AUTH_SOCK and @value{emacsname} on Windows | 2320 | @cindex SSH_AUTH_SOCK and @value{emacsname} on Windows |
| @@ -2338,7 +2338,7 @@ know anything at all about Windows@dots{} | |||
| 2338 | @cindex using @value{tramp} | 2338 | @cindex using @value{tramp} |
| 2339 | 2339 | ||
| 2340 | Once you have installed @value{tramp} it will operate fairly | 2340 | Once you have installed @value{tramp} it will operate fairly |
| 2341 | transparently. You will be able to access files on any remote machine | 2341 | transparently. You will be able to access files on any remote host |
| 2342 | that you can log in to as though they were local. | 2342 | that you can log in to as though they were local. |
| 2343 | 2343 | ||
| 2344 | Files are specified to @value{tramp} using a formalized syntax specifying the | 2344 | Files are specified to @value{tramp} using a formalized syntax specifying the |
| @@ -2357,52 +2357,52 @@ minute when a connection needs to be opened. Maybe after half a | |||
| 2357 | minute you have already forgotten that you hit that key! | 2357 | minute you have already forgotten that you hit that key! |
| 2358 | 2358 | ||
| 2359 | @menu | 2359 | @menu |
| 2360 | * Filename Syntax:: @value{tramp} filename conventions. | 2360 | * File name Syntax:: @value{tramp} file name conventions. |
| 2361 | * Filename completion:: Filename completion. | 2361 | * File name completion:: File name completion. |
| 2362 | * Ad-hoc multi-hops:: Declaring multiple hops in the file name. | 2362 | * Ad-hoc multi-hops:: Declaring multiple hops in the file name. |
| 2363 | * Remote processes:: Integration with other @value{emacsname} packages. | 2363 | * Remote processes:: Integration with other @value{emacsname} packages. |
| 2364 | * Cleanup remote connections:: Cleanup remote connections. | 2364 | * Cleanup remote connections:: Cleanup remote connections. |
| 2365 | @end menu | 2365 | @end menu |
| 2366 | 2366 | ||
| 2367 | 2367 | ||
| 2368 | @node Filename Syntax | 2368 | @node File name Syntax |
| 2369 | @section @value{tramp} filename conventions | 2369 | @section @value{tramp} file name conventions |
| 2370 | @cindex filename syntax | 2370 | @cindex file name syntax |
| 2371 | @cindex filename examples | 2371 | @cindex file name examples |
| 2372 | 2372 | ||
| 2373 | To access the file @var{localname} on the remote machine @var{machine} | 2373 | To access the file @var{localname} on the remote host @var{host} |
| 2374 | you would specify the filename @file{@trampfn{, , machine, | 2374 | you would specify the file name @file{@trampfn{, , host, |
| 2375 | localname}}. This will connect to @var{machine} and transfer the file | 2375 | localname}}. This will connect to @var{host} and transfer the file |
| 2376 | using the default method. @xref{Default Method}. | 2376 | using the default method. @xref{Default Method}. |
| 2377 | 2377 | ||
| 2378 | Some examples of @value{tramp} filenames are shown below. | 2378 | Some examples of @value{tramp} file names are shown below. |
| 2379 | 2379 | ||
| 2380 | @table @file | 2380 | @table @file |
| 2381 | @item @value{prefix}melancholia@value{postfix}.emacs | 2381 | @item @value{prefix}melancholia@value{postfix}.emacs |
| 2382 | Edit the file @file{.emacs} in your home directory on the machine | 2382 | Edit the file @file{.emacs} in your home directory on the host |
| 2383 | @code{melancholia}. | 2383 | @code{melancholia}. |
| 2384 | 2384 | ||
| 2385 | @item @value{prefix}melancholia.danann.net@value{postfix}.emacs | 2385 | @item @value{prefix}melancholia.danann.net@value{postfix}.emacs |
| 2386 | This edits the same file, using the fully qualified domain name of | 2386 | This edits the same file, using the fully qualified domain name of |
| 2387 | the machine. | 2387 | the host. |
| 2388 | 2388 | ||
| 2389 | @item @value{prefix}melancholia@value{postfix}~/.emacs | 2389 | @item @value{prefix}melancholia@value{postfix}~/.emacs |
| 2390 | This also edits the same file; the @file{~} is expanded to your | 2390 | This also edits the same file; the @file{~} is expanded to your |
| 2391 | home directory on the remote machine, just like it is locally. | 2391 | home directory on the remote host, just like it is locally. |
| 2392 | 2392 | ||
| 2393 | @item @value{prefix}melancholia@value{postfix}~daniel/.emacs | 2393 | @item @value{prefix}melancholia@value{postfix}~daniel/.emacs |
| 2394 | This edits the file @file{.emacs} in the home directory of the user | 2394 | This edits the file @file{.emacs} in the home directory of the user |
| 2395 | @code{daniel} on the machine @code{melancholia}. The @file{~<user>} | 2395 | @code{daniel} on the host @code{melancholia}. The @file{~<user>} |
| 2396 | construct is expanded to the home directory of that user on the remote | 2396 | construct is expanded to the home directory of that user on the remote |
| 2397 | machine. | 2397 | host. |
| 2398 | 2398 | ||
| 2399 | @item @value{prefix}melancholia@value{postfix}/etc/squid.conf | 2399 | @item @value{prefix}melancholia@value{postfix}/etc/squid.conf |
| 2400 | This edits the file @file{/etc/squid.conf} on the machine | 2400 | This edits the file @file{/etc/squid.conf} on the host |
| 2401 | @code{melancholia}. | 2401 | @code{melancholia}. |
| 2402 | 2402 | ||
| 2403 | @end table | 2403 | @end table |
| 2404 | 2404 | ||
| 2405 | @var{machine} can also be an IPv4 or IPv6 address, like in | 2405 | @var{host} can also be an IPv4 or IPv6 address, like in |
| 2406 | @file{@trampfn{, , 127.0.0.1, .emacs}} or @file{@trampfn{, , | 2406 | @file{@trampfn{, , 127.0.0.1, .emacs}} or @file{@trampfn{, , |
| 2407 | @value{ipv6prefix}::1@value{ipv6postfix}, .emacs}}. | 2407 | @value{ipv6prefix}::1@value{ipv6postfix}, .emacs}}. |
| 2408 | @ifset emacs | 2408 | @ifset emacs |
| @@ -2413,17 +2413,17 @@ brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. | |||
| 2413 | Unless you specify a different name to use, @value{tramp} will use the | 2413 | Unless you specify a different name to use, @value{tramp} will use the |
| 2414 | current local user name as the remote user name to log in with. If you | 2414 | current local user name as the remote user name to log in with. If you |
| 2415 | need to log in as a different user, you can specify the user name as | 2415 | need to log in as a different user, you can specify the user name as |
| 2416 | part of the filename. | 2416 | part of the file name. |
| 2417 | 2417 | ||
| 2418 | To log in to the remote machine as a specific user, you use the syntax | 2418 | To log in to the remote host as a specific user, you use the syntax |
| 2419 | @file{@trampfn{, user, machine, path/to.file}}. That means that | 2419 | @file{@trampfn{, user, host, path/to.file}}. That means that |
| 2420 | connecting to @code{melancholia} as @code{daniel} and editing | 2420 | connecting to @code{melancholia} as @code{daniel} and editing |
| 2421 | @file{.emacs} in your home directory you would specify | 2421 | @file{.emacs} in your home directory you would specify |
| 2422 | @file{@trampfn{, daniel, melancholia, .emacs}}. | 2422 | @file{@trampfn{, daniel, melancholia, .emacs}}. |
| 2423 | 2423 | ||
| 2424 | It is also possible to specify other file transfer methods | 2424 | It is also possible to specify other file transfer methods |
| 2425 | (@pxref{Inline methods}, @pxref{External methods}) as part of the | 2425 | (@pxref{Inline methods}, @pxref{External methods}) as part of the |
| 2426 | filename. | 2426 | file name. |
| 2427 | @ifset emacs | 2427 | @ifset emacs |
| 2428 | This is done by putting the method before the user and host name, as | 2428 | This is done by putting the method before the user and host name, as |
| 2429 | in @file{@value{prefix}@var{method}@value{postfixhop}} (Note the | 2429 | in @file{@value{prefix}@var{method}@value{postfixhop}} (Note the |
| @@ -2434,15 +2434,15 @@ This is done by replacing the initial @file{@value{prefix}} with | |||
| 2434 | @file{@value{prefix}<method>@value{postfixhop}}. (Note the trailing | 2434 | @file{@value{prefix}<method>@value{postfixhop}}. (Note the trailing |
| 2435 | slash!). | 2435 | slash!). |
| 2436 | @end ifset | 2436 | @end ifset |
| 2437 | The user, machine and file specification remain the same. | 2437 | The user, host and file specification remain the same. |
| 2438 | 2438 | ||
| 2439 | So, to connect to the machine @code{melancholia} as @code{daniel}, | 2439 | So, to connect to the host @code{melancholia} as @code{daniel}, |
| 2440 | using the @option{ssh} method to transfer files, and edit | 2440 | using the @option{ssh} method to transfer files, and edit |
| 2441 | @file{.emacs} in my home directory I would specify the filename | 2441 | @file{.emacs} in my home directory I would specify the file name |
| 2442 | @file{@trampfn{ssh, daniel, melancholia, .emacs}}. | 2442 | @file{@trampfn{ssh, daniel, melancholia, .emacs}}. |
| 2443 | 2443 | ||
| 2444 | @ifset emacs | 2444 | @ifset emacs |
| 2445 | A remote filename containing a host name only, which is equal to a | 2445 | A remote file name containing a host name only, which is equal to a |
| 2446 | method name, is not allowed. If such a host name is used, it must | 2446 | method name, is not allowed. If such a host name is used, it must |
| 2447 | always be preceded by an explicit method name, like | 2447 | always be preceded by an explicit method name, like |
| 2448 | @file{@value{prefix}ssh@value{postfixhop}ssh@value{postfix}}. | 2448 | @file{@value{prefix}ssh@value{postfixhop}ssh@value{postfix}}. |
| @@ -2454,13 +2454,13 @@ by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh, | |||
| 2454 | daniel, melancholia#42, .emacs}}. | 2454 | daniel, melancholia#42, .emacs}}. |
| 2455 | 2455 | ||
| 2456 | 2456 | ||
| 2457 | @node Filename completion | 2457 | @node File name completion |
| 2458 | @section Filename completion | 2458 | @section File name completion |
| 2459 | @cindex filename completion | 2459 | @cindex file name completion |
| 2460 | 2460 | ||
| 2461 | Filename completion works with @value{tramp} for completion of method | 2461 | File name completion works with @value{tramp} for completion of method |
| 2462 | names, of user names and of machine names as well as for completion of | 2462 | names, of user names and of host names as well as for completion of |
| 2463 | file names on remote machines. | 2463 | file names on remote hosts. |
| 2464 | @ifset emacs | 2464 | @ifset emacs |
| 2465 | In order to enable this, partial completion must be activated in your | 2465 | In order to enable this, partial completion must be activated in your |
| 2466 | @file{.emacs}. | 2466 | @file{.emacs}. |
| @@ -2488,8 +2488,7 @@ If you, for example, type @kbd{C-x C-f @value{prefix}t | |||
| 2488 | @samp{@value{prefixhop}telnet@value{postfixhop}} | 2488 | @samp{@value{prefixhop}telnet@value{postfixhop}} |
| 2489 | is a possible completion for the respective method, | 2489 | is a possible completion for the respective method, |
| 2490 | @ifset emacs | 2490 | @ifset emacs |
| 2491 | @samp{tmp/} stands for the directory @file{/tmp} on your local | 2491 | @samp{tmp/} stands for the directory @file{/tmp} on your local host, |
| 2492 | machine, | ||
| 2493 | @end ifset | 2492 | @end ifset |
| 2494 | and @samp{@value{prefixhop}toto@value{postfix}} | 2493 | and @samp{@value{prefixhop}toto@value{postfix}} |
| 2495 | might be a host @value{tramp} has detected in your @file{~/.ssh/known_hosts} | 2494 | might be a host @value{tramp} has detected in your @file{~/.ssh/known_hosts} |
| @@ -2497,7 +2496,7 @@ file (given you're using default method @option{ssh}). | |||
| 2497 | 2496 | ||
| 2498 | If you go on to type @kbd{e @key{TAB}}, the minibuffer is completed to | 2497 | If you go on to type @kbd{e @key{TAB}}, the minibuffer is completed to |
| 2499 | @samp{@value{prefix}telnet@value{postfixhop}}. | 2498 | @samp{@value{prefix}telnet@value{postfixhop}}. |
| 2500 | Next @kbd{@key{TAB}} brings you all machine names @value{tramp} detects in | 2499 | Next @kbd{@key{TAB}} brings you all host names @value{tramp} detects in |
| 2501 | your @file{/etc/hosts} file, let's say | 2500 | your @file{/etc/hosts} file, let's say |
| 2502 | 2501 | ||
| 2503 | @example | 2502 | @example |
| @@ -2509,21 +2508,21 @@ your @file{/etc/hosts} file, let's say | |||
| 2509 | @end multitable | 2508 | @end multitable |
| 2510 | @end example | 2509 | @end example |
| 2511 | 2510 | ||
| 2512 | Now you can choose the desired machine, and you can continue to | 2511 | Now you can choose the desired host, and you can continue to |
| 2513 | complete file names on that machine. | 2512 | complete file names on that host. |
| 2514 | 2513 | ||
| 2515 | If the configuration files (@pxref{Customizing Completion}), which | 2514 | If the configuration files (@pxref{Customizing Completion}), which |
| 2516 | @value{tramp} uses for analysis of completion, offer user names, those user | 2515 | @value{tramp} uses for analysis of completion, offer user names, those user |
| 2517 | names will be taken into account as well. | 2516 | names will be taken into account as well. |
| 2518 | 2517 | ||
| 2519 | Remote machines which have been visited in the past and kept | 2518 | Remote hosts which have been visited in the past and kept |
| 2520 | persistently (@pxref{Connection caching}) will be offered too. | 2519 | persistently (@pxref{Connection caching}) will be offered too. |
| 2521 | 2520 | ||
| 2522 | Once the remote machine identification is completed, it comes to | 2521 | Once the remote host identification is completed, it comes to |
| 2523 | filename completion on the remote host. This works pretty much like | 2522 | file name completion on the remote host. This works pretty much like |
| 2524 | for files on the local host, with the exception that minibuffer | 2523 | for files on the local host, with the exception that minibuffer |
| 2525 | killing via a double-slash works only on the filename part, except | 2524 | killing via a double-slash works only on the file name part, except |
| 2526 | that filename part starts with @file{//}. | 2525 | that file name part starts with @file{//}. |
| 2527 | @ifset emacs | 2526 | @ifset emacs |
| 2528 | A triple-slash stands for the default behavior. | 2527 | A triple-slash stands for the default behavior. |
| 2529 | @end ifset | 2528 | @end ifset |
| @@ -2557,14 +2556,14 @@ Example: | |||
| 2557 | 2556 | ||
| 2558 | A remote directory might have changed its contents out of | 2557 | A remote directory might have changed its contents out of |
| 2559 | @value{emacsname} control, for example by creation or deletion of | 2558 | @value{emacsname} control, for example by creation or deletion of |
| 2560 | files by other processes. Therefore, during filename completion, the | 2559 | files by other processes. Therefore, during file name completion, the |
| 2561 | remote directory contents are reread regularly in order to detect such | 2560 | remote directory contents are reread regularly in order to detect such |
| 2562 | changes, which would be invisible otherwise (@pxref{Connection caching}). | 2561 | changes, which would be invisible otherwise (@pxref{Connection caching}). |
| 2563 | 2562 | ||
| 2564 | @defopt tramp-completion-reread-directory-timeout | 2563 | @defopt tramp-completion-reread-directory-timeout |
| 2565 | This variable defines the number of seconds since last remote command | 2564 | This variable defines the number of seconds since last remote command |
| 2566 | before rereading a directory contents. A value of 0 would require an | 2565 | before rereading a directory contents. A value of 0 would require an |
| 2567 | immediate reread during filename completion, @code{nil} means to use | 2566 | immediate reread during file name completion, @code{nil} means to use |
| 2568 | always cached values for the directory contents. | 2567 | always cached values for the directory contents. |
| 2569 | @end defopt | 2568 | @end defopt |
| 2570 | 2569 | ||
| @@ -2632,7 +2631,7 @@ host when the variable @code{default-directory} is remote: | |||
| 2632 | @ifset emacsgvfs | 2631 | @ifset emacsgvfs |
| 2633 | If the remote host is mounted via GVFS (see @ref{GVFS based methods}), | 2632 | If the remote host is mounted via GVFS (see @ref{GVFS based methods}), |
| 2634 | the remote filesystem is mounted locally. Therefore, there are no | 2633 | the remote filesystem is mounted locally. Therefore, there are no |
| 2635 | remote processes; all processes run still locally on your machine with | 2634 | remote processes; all processes run still locally on your host with |
| 2636 | an adapted @code{default-directory}. This section does not apply for | 2635 | an adapted @code{default-directory}. This section does not apply for |
| 2637 | such connection methods. | 2636 | such connection methods. |
| 2638 | @end ifset | 2637 | @end ifset |
| @@ -2645,7 +2644,7 @@ integrated. Integration of further packages is planned, any help for | |||
| 2645 | this is welcome! | 2644 | this is welcome! |
| 2646 | 2645 | ||
| 2647 | When your program is not found in the default search path | 2646 | When your program is not found in the default search path |
| 2648 | @value{tramp} sets on the remote machine, you should either use an | 2647 | @value{tramp} sets on the remote host, you should either use an |
| 2649 | absolute path, or extend @code{tramp-remote-path} (see @ref{Remote | 2648 | absolute path, or extend @code{tramp-remote-path} (see @ref{Remote |
| 2650 | Programs}): | 2649 | Programs}): |
| 2651 | 2650 | ||
| @@ -2713,18 +2712,18 @@ that host. | |||
| 2713 | 2712 | ||
| 2714 | Calling @kbd{M-x shell} in a buffer related to a remote host runs the | 2713 | Calling @kbd{M-x shell} in a buffer related to a remote host runs the |
| 2715 | local shell as defined in @option{shell-file-name}. This might be | 2714 | local shell as defined in @option{shell-file-name}. This might be |
| 2716 | also a valid path name for a shell to be applied on the remote host, | 2715 | also a valid file name for a shell to be applied on the remote host, |
| 2717 | but it will fail at least when your local and remote hosts belong to | 2716 | but it will fail at least when your local and remote hosts belong to |
| 2718 | different system types, like @samp{windows-nt} and @samp{gnu/linux}. | 2717 | different system types, like @samp{windows-nt} and @samp{gnu/linux}. |
| 2719 | 2718 | ||
| 2720 | You must set the variable @option{explicit-shell-file-name} to the | 2719 | You must set the variable @option{explicit-shell-file-name} to the |
| 2721 | shell path name on the remote host, in order to start that shell on | 2720 | shell file name on the remote host, in order to start that shell on |
| 2722 | the remote host. | 2721 | the remote host. |
| 2723 | 2722 | ||
| 2724 | @ifset emacs | 2723 | @ifset emacs |
| 2725 | Starting with Emacs 24 this won't be necessary, if you call | 2724 | Starting with Emacs 24 this won't be necessary, if you call |
| 2726 | @code{shell} interactively. You will be asked for the remote shell | 2725 | @code{shell} interactively. You will be asked for the remote shell |
| 2727 | path, if you are on a remote buffer, and if | 2726 | file name, if you are on a remote buffer, and if |
| 2728 | @option{explicit-shell-file-name} is equal to @code{nil}. | 2727 | @option{explicit-shell-file-name} is equal to @code{nil}. |
| 2729 | @end ifset | 2728 | @end ifset |
| 2730 | 2729 | ||
| @@ -2924,7 +2923,7 @@ the @value{tramp} Mail Subscription Page}. | |||
| 2924 | @ifset emacs | 2923 | @ifset emacs |
| 2925 | @ifset installchapter | 2924 | @ifset installchapter |
| 2926 | Before sending a bug report, you could check whether @value{tramp} | 2925 | Before sending a bug report, you could check whether @value{tramp} |
| 2927 | works at all. Run the test suite on your local machine, @ref{Testing}. | 2926 | works at all. Run the test suite on your local host, @ref{Testing}. |
| 2928 | @end ifset | 2927 | @end ifset |
| 2929 | @end ifset | 2928 | @end ifset |
| 2930 | 2929 | ||
| @@ -2935,7 +2934,7 @@ of your system and @value{tramp} version. | |||
| 2935 | 2934 | ||
| 2936 | When submitting a bug report, please try to describe in excruciating | 2935 | When submitting a bug report, please try to describe in excruciating |
| 2937 | detail the steps required to reproduce the problem, the setup of the | 2936 | detail the steps required to reproduce the problem, the setup of the |
| 2938 | remote machine and any special conditions that exist. You should also | 2937 | remote host and any special conditions that exist. You should also |
| 2939 | check that your problem is not described already in @xref{Frequently | 2938 | check that your problem is not described already in @xref{Frequently |
| 2940 | Asked Questions}. | 2939 | Asked Questions}. |
| 2941 | 2940 | ||
| @@ -3009,7 +3008,7 @@ information about remote hosts is kept in the file specified in | |||
| 3009 | confident that files on remote hosts are not changed out of | 3008 | confident that files on remote hosts are not changed out of |
| 3010 | @value{emacsname}' control, set @code{remote-file-name-inhibit-cache} | 3009 | @value{emacsname}' control, set @code{remote-file-name-inhibit-cache} |
| 3011 | to @code{nil}. Set also @code{tramp-completion-reread-directory-timeout} | 3010 | to @code{nil}. Set also @code{tramp-completion-reread-directory-timeout} |
| 3012 | to @code{nil}, @ref{Filename completion}. | 3011 | to @code{nil}, @ref{File name completion}. |
| 3013 | 3012 | ||
| 3014 | Disable version control. If you access remote files which are not | 3013 | Disable version control. If you access remote files which are not |
| 3015 | under version control, a lot of check operations can be avoided by | 3014 | under version control, a lot of check operations can be avoided by |
| @@ -3037,7 +3036,7 @@ reasons heading the bug mailing list: | |||
| 3037 | @item | 3036 | @item |
| 3038 | Unknown characters in the prompt | 3037 | Unknown characters in the prompt |
| 3039 | 3038 | ||
| 3040 | @value{tramp} needs to recognize the prompt on the remote machine | 3039 | @value{tramp} needs to recognize the prompt on the remote host |
| 3041 | after execution any command. This is not possible when the prompt | 3040 | after execution any command. This is not possible when the prompt |
| 3042 | contains unknown characters like escape sequences for coloring. This | 3041 | contains unknown characters like escape sequences for coloring. This |
| 3043 | should be avoided on the remote side. @xref{Remote shell setup}. for | 3042 | should be avoided on the remote side. @xref{Remote shell setup}. for |
| @@ -3069,7 +3068,7 @@ incidentally) doesn't work with WinSSHD due to strange prompt settings. | |||
| 3069 | @item | 3068 | @item |
| 3070 | Echoed characters after login | 3069 | Echoed characters after login |
| 3071 | 3070 | ||
| 3072 | When the remote machine opens an echoing shell, there might be control | 3071 | When the remote host opens an echoing shell, there might be control |
| 3073 | characters in the welcome message. @value{tramp} tries to suppress | 3072 | characters in the welcome message. @value{tramp} tries to suppress |
| 3074 | such echoes via the @command{stty -echo} command, but sometimes this | 3073 | such echoes via the @command{stty -echo} command, but sometimes this |
| 3075 | command is not reached, because the echoed output has confused | 3074 | command is not reached, because the echoed output has confused |
| @@ -3167,7 +3166,7 @@ your @file{~/.ssh/config}: | |||
| 3167 | @item | 3166 | @item |
| 3168 | File name completion does not work with @value{tramp} | 3167 | File name completion does not work with @value{tramp} |
| 3169 | 3168 | ||
| 3170 | When you log in to the remote machine, do you see the output of | 3169 | When you log in to the remote host, do you see the output of |
| 3171 | @command{ls} in color? If so, this may be the cause of your problems. | 3170 | @command{ls} in color? If so, this may be the cause of your problems. |
| 3172 | 3171 | ||
| 3173 | @command{ls} outputs @acronym{ANSI} escape sequences that your terminal | 3172 | @command{ls} outputs @acronym{ANSI} escape sequences that your terminal |
| @@ -3175,12 +3174,12 @@ emulator interprets to set the colors. These escape sequences will | |||
| 3175 | confuse @value{tramp} however. | 3174 | confuse @value{tramp} however. |
| 3176 | 3175 | ||
| 3177 | In your @file{.bashrc}, @file{.profile} or equivalent on the remote | 3176 | In your @file{.bashrc}, @file{.profile} or equivalent on the remote |
| 3178 | machine you probably have an alias configured that adds the option | 3177 | host you probably have an alias configured that adds the option |
| 3179 | @option{--color=yes} or @option{--color=auto}. | 3178 | @option{--color=yes} or @option{--color=auto}. |
| 3180 | 3179 | ||
| 3181 | You should remove that alias and ensure that a new login @emph{does not} | 3180 | You should remove that alias and ensure that a new login @emph{does not} |
| 3182 | display the output of @command{ls} in color. If you still cannot use | 3181 | display the output of @command{ls} in color. If you still cannot use |
| 3183 | filename completion, report a bug to the @value{tramp} developers. | 3182 | file name completion, report a bug to the @value{tramp} developers. |
| 3184 | 3183 | ||
| 3185 | 3184 | ||
| 3186 | @item | 3185 | @item |
| @@ -3726,7 +3725,7 @@ names. As such, the lisp functions @code{file-name-directory} and | |||
| 3726 | package. | 3725 | package. |
| 3727 | 3726 | ||
| 3728 | Their replacements are reasonably simplistic in their approach. They | 3727 | Their replacements are reasonably simplistic in their approach. They |
| 3729 | dissect the filename, call the original handler on the localname and | 3728 | dissect the file name, call the original handler on the localname and |
| 3730 | then rebuild the @value{tramp} file name with the result. | 3729 | then rebuild the @value{tramp} file name with the result. |
| 3731 | 3730 | ||
| 3732 | This allows the platform specific hacks in the original handlers to take | 3731 | This allows the platform specific hacks in the original handlers to take |
| @@ -3736,19 +3735,19 @@ effect while preserving the @value{tramp} file name information. | |||
| 3736 | @ifset emacs | 3735 | @ifset emacs |
| 3737 | @node External packages | 3736 | @node External packages |
| 3738 | @section Integration with external Lisp packages | 3737 | @section Integration with external Lisp packages |
| 3739 | @subsection Filename completion. | 3738 | @subsection File name completion. |
| 3740 | 3739 | ||
| 3741 | While reading filenames in the minibuffer, @value{tramp} must decide | 3740 | While reading file names in the minibuffer, @value{tramp} must decide |
| 3742 | whether it completes possible incomplete filenames, or not. Imagine | 3741 | whether it completes possible incomplete file names, or not. Imagine |
| 3743 | there is the following situation: You have typed @kbd{C-x C-f | 3742 | there is the following situation: You have typed @kbd{C-x C-f |
| 3744 | @value{prefix}ssh@value{postfixhop} @key{TAB}}. @value{tramp} cannot | 3743 | @value{prefix}ssh@value{postfixhop} @key{TAB}}. @value{tramp} cannot |
| 3745 | know, whether @option{ssh} is a method or a host name. It checks | 3744 | know, whether @option{ssh} is a method or a host name. It checks |
| 3746 | therefore the last input character you have typed. If this is | 3745 | therefore the last input character you have typed. If this is |
| 3747 | @key{TAB}, @key{SPACE} or @kbd{?}, @value{tramp} assumes that you are | 3746 | @key{TAB}, @key{SPACE} or @kbd{?}, @value{tramp} assumes that you are |
| 3748 | still in filename completion, and it does not connect to the possible | 3747 | still in file name completion, and it does not connect to the possible |
| 3749 | remote host @option{ssh}. | 3748 | remote host @option{ssh}. |
| 3750 | 3749 | ||
| 3751 | External packages, which use other characters for completing filenames | 3750 | External packages, which use other characters for completing file names |
| 3752 | in the minibuffer, must signal this to @value{tramp}. For this case, | 3751 | in the minibuffer, must signal this to @value{tramp}. For this case, |
| 3753 | the variable @code{non-essential} can be bound temporarily to | 3752 | the variable @code{non-essential} can be bound temporarily to |
| 3754 | a non-@code{nil} value. | 3753 | a non-@code{nil} value. |
| @@ -3891,16 +3890,16 @@ printed and deleted. | |||
| 3891 | But I have decided that this is too fragile to reliably work, so on some | 3890 | But I have decided that this is too fragile to reliably work, so on some |
| 3892 | systems you'll have to do without the uuencode methods. | 3891 | systems you'll have to do without the uuencode methods. |
| 3893 | 3892 | ||
| 3894 | @item The @value{tramp} filename syntax differs between Emacs and XEmacs. | 3893 | @item The @value{tramp} file name syntax differs between Emacs and XEmacs. |
| 3895 | 3894 | ||
| 3896 | The Emacs maintainers wish to use a unified filename syntax for | 3895 | The Emacs maintainers wish to use a unified file name syntax for |
| 3897 | Ange-FTP and @value{tramp} so that users don't have to learn a new | 3896 | Ange-FTP and @value{tramp} so that users don't have to learn a new |
| 3898 | syntax. It is sufficient to learn some extensions to the old syntax. | 3897 | syntax. It is sufficient to learn some extensions to the old syntax. |
| 3899 | 3898 | ||
| 3900 | For the XEmacs maintainers, the problems caused from using a unified | 3899 | For the XEmacs maintainers, the problems caused from using a unified |
| 3901 | filename syntax are greater than the gains. The XEmacs package system | 3900 | file name syntax are greater than the gains. The XEmacs package system |
| 3902 | uses EFS for downloading new packages. So, obviously, EFS has to be | 3901 | uses EFS for downloading new packages. So, obviously, EFS has to be |
| 3903 | installed from the start. If the filenames were unified, @value{tramp} | 3902 | installed from the start. If the file names were unified, @value{tramp} |
| 3904 | would have to be installed from the start, too. | 3903 | would have to be installed from the start, too. |
| 3905 | 3904 | ||
| 3906 | @ifset xemacs | 3905 | @ifset xemacs |
| @@ -3917,12 +3916,12 @@ The autoload of the @value{emacsname} @value{tramp} package must be | |||
| 3917 | disabled. This can be achieved by setting file permissions @code{000} | 3916 | disabled. This can be achieved by setting file permissions @code{000} |
| 3918 | to the files @file{.../xemacs-packages/lisp/tramp/auto-autoloads.el*}. | 3917 | to the files @file{.../xemacs-packages/lisp/tramp/auto-autoloads.el*}. |
| 3919 | 3918 | ||
| 3920 | In case of unified filenames, all @value{emacsname} download sites are | 3919 | In case of unified file names, all @value{emacsname} download sites are |
| 3921 | added to @code{tramp-default-method-alist} with default method | 3920 | added to @code{tramp-default-method-alist} with default method |
| 3922 | @option{ftp} @xref{Default Method}. These settings shouldn't be | 3921 | @option{ftp} @xref{Default Method}. These settings shouldn't be |
| 3923 | touched for proper working of the @value{emacsname} package system. | 3922 | touched for proper working of the @value{emacsname} package system. |
| 3924 | 3923 | ||
| 3925 | The syntax for unified filenames is described in the @value{tramp} manual | 3924 | The syntax for unified file names is described in the @value{tramp} manual |
| 3926 | for @value{emacsothername}. | 3925 | for @value{emacsothername}. |
| 3927 | @end ifset | 3926 | @end ifset |
| 3928 | @end itemize | 3927 | @end itemize |
| @@ -3955,7 +3954,5 @@ for @value{emacsothername}. | |||
| 3955 | @c shells. | 3954 | @c shells. |
| 3956 | @c * Explain how tramp.el works in principle: open a shell on a remote | 3955 | @c * Explain how tramp.el works in principle: open a shell on a remote |
| 3957 | @c host and then send commands to it. | 3956 | @c host and then send commands to it. |
| 3958 | @c * Use `filename' resp. `file name' consistently. | ||
| 3959 | @c * Use `host' resp. `machine' consistently. | ||
| 3960 | @c * Consistent small or capitalized words especially in menus. | 3957 | @c * Consistent small or capitalized words especially in menus. |
| 3961 | @c * Make a unique declaration of @trampfn. | 3958 | @c * Make a unique declaration of @trampfn. |