diff options
| author | Robert Pluim | 2021-02-23 14:21:26 +0100 |
|---|---|---|
| committer | Robert Pluim | 2021-02-23 14:21:26 +0100 |
| commit | 228fd92fb389eeaf2ec0bbca51da0569fce28ee7 (patch) | |
| tree | 644a02a95901922cbcc9fc1c012af02256dd0f41 | |
| parent | 4cb24e44ca49d6acc0354a9a486463bd710796d7 (diff) | |
| download | emacs-228fd92fb389eeaf2ec0bbca51da0569fce28ee7.tar.gz emacs-228fd92fb389eeaf2ec0bbca51da0569fce28ee7.zip | |
* doc/misc/tramp.texi: Grammar/style fixes
* doc/misc/tramp.texi (Overview):
(Obtaining @value{tramp}):
(Quick Start Guide):
(Configuration):
(Connection types):
(Inline methods):
(External methods):
(Password handling):
(Predefined connection information):
(Remote shell setup):
(Remote processes):
(Frequently Asked Questions):
(External packages):
(Traces and Profiles): Grammar/style fixes.
| -rw-r--r-- | doc/misc/tramp.texi | 202 |
1 files changed, 102 insertions, 100 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index e745af2a7de..53f67b191cd 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -223,7 +223,7 @@ presented here to illustrate the steps involved: | |||
| 223 | 223 | ||
| 224 | @kbd{C-x C-f} to initiate find-file, enter part of the @value{tramp} | 224 | @kbd{C-x C-f} to initiate find-file, enter part of the @value{tramp} |
| 225 | file name, then hit @kbd{@key{TAB}} for completion. If this is the | 225 | file name, then hit @kbd{@key{TAB}} for completion. If this is the |
| 226 | first time connection to that host, here's what happens: | 226 | first time connecting to that host, here's what happens: |
| 227 | 227 | ||
| 228 | @itemize | 228 | @itemize |
| 229 | @item | 229 | @item |
| @@ -250,17 +250,17 @@ message. | |||
| 250 | 250 | ||
| 251 | If @value{tramp} does not receive any messages within a timeout period | 251 | If @value{tramp} does not receive any messages within a timeout period |
| 252 | (a minute, for example), then @value{tramp} responds with an error | 252 | (a minute, for example), then @value{tramp} responds with an error |
| 253 | message about not finding the remote shell prompt. If any messages | 253 | message about not finding the remote shell prompt. If there are any |
| 254 | from the remote host, @value{tramp} displays them in the buffer. | 254 | messages from the remote host, @value{tramp} displays them in the |
| 255 | buffer. | ||
| 255 | 256 | ||
| 256 | For any @samp{login failed} message from the remote host, | 257 | For any @samp{login failed} message from the remote host, |
| 257 | @value{tramp} aborts the login attempt, and repeats the login steps | 258 | @value{tramp} aborts the login attempt, and repeats the login steps. |
| 258 | again. | ||
| 259 | 259 | ||
| 260 | @item | 260 | @item |
| 261 | Upon successful login and @value{tramp} recognizes the shell prompt | 261 | Upon successful login, if @value{tramp} recognizes the shell prompt |
| 262 | from the remote host, @value{tramp} prepares the shell environment by | 262 | from the remote host, @value{tramp} prepares the shell environment by |
| 263 | turning off echoing, setting shell prompt, and other housekeeping | 263 | turning off echoing, setting the shell prompt, and other housekeeping |
| 264 | chores. | 264 | chores. |
| 265 | 265 | ||
| 266 | @strong{Note} that for the remote shell, @value{tramp} invokes | 266 | @strong{Note} that for the remote shell, @value{tramp} invokes |
| @@ -282,8 +282,8 @@ contents from the remote host. | |||
| 282 | 282 | ||
| 283 | For inline transfers, @value{tramp} sends a command, such as | 283 | For inline transfers, @value{tramp} sends a command, such as |
| 284 | @samp{mimencode -b /path/to/remote/file}, waits until the output has | 284 | @samp{mimencode -b /path/to/remote/file}, waits until the output has |
| 285 | accumulated in the buffer, decodes that output to produce the file's | 285 | accumulated in the buffer, then decodes that output to produce the |
| 286 | contents. | 286 | file's contents. |
| 287 | 287 | ||
| 288 | For external transfers, @value{tramp} sends a command as follows: | 288 | For external transfers, @value{tramp} sends a command as follows: |
| 289 | @example | 289 | @example |
| @@ -335,7 +335,7 @@ versions packaged with Emacs can be retrieved by | |||
| 335 | @end lisp | 335 | @end lisp |
| 336 | 336 | ||
| 337 | @value{tramp} is also available as @uref{https://elpa.gnu.org, GNU | 337 | @value{tramp} is also available as @uref{https://elpa.gnu.org, GNU |
| 338 | ELPA} package. Besides the standalone releases, further minor version | 338 | ELPA} package. Besides the standalone releases, further minor versions |
| 339 | of @value{tramp} will appear on GNU ELPA, until the next @value{tramp} | 339 | of @value{tramp} will appear on GNU ELPA, until the next @value{tramp} |
| 340 | release appears. These minor versions have a four-number string, like | 340 | release appears. These minor versions have a four-number string, like |
| 341 | ``2.4.5.1''. | 341 | ``2.4.5.1''. |
| @@ -345,7 +345,7 @@ Development versions contain new and incomplete features. The | |||
| 345 | development version of @value{tramp} is always the version number of | 345 | development version of @value{tramp} is always the version number of |
| 346 | the next release, plus the suffix ``-pre'', like ``2.4.4-pre''. | 346 | the next release, plus the suffix ``-pre'', like ``2.4.4-pre''. |
| 347 | 347 | ||
| 348 | One way to obtain @value{tramp} from Git server is to visit the | 348 | One way to obtain @value{tramp} from the Git server is to visit the |
| 349 | Savannah project page at the following URL and then clicking on the | 349 | Savannah project page at the following URL and then clicking on the |
| 350 | Git link in the navigation bar at the top. | 350 | Git link in the navigation bar at the top. |
| 351 | 351 | ||
| @@ -363,7 +363,7 @@ $ git clone git://git.savannah.gnu.org/tramp.git | |||
| 363 | @end example | 363 | @end example |
| 364 | 364 | ||
| 365 | @noindent | 365 | @noindent |
| 366 | From behind a firewall: | 366 | From behind a proxy: |
| 367 | 367 | ||
| 368 | @example | 368 | @example |
| 369 | @group | 369 | @group |
| @@ -411,7 +411,7 @@ $ autoconf | |||
| 411 | @end ifset | 411 | @end ifset |
| 412 | @ifclear installchapter | 412 | @ifclear installchapter |
| 413 | See the file @file{INSTALL} in that directory for further information | 413 | See the file @file{INSTALL} in that directory for further information |
| 414 | how to install @value{tramp}. | 414 | on how to install @value{tramp}. |
| 415 | @end ifclear | 415 | @end ifclear |
| 416 | 416 | ||
| 417 | 417 | ||
| @@ -419,16 +419,16 @@ how to install @value{tramp}. | |||
| 419 | @chapter Short introduction how to use @value{tramp} | 419 | @chapter Short introduction how to use @value{tramp} |
| 420 | @cindex quick start guide | 420 | @cindex quick start guide |
| 421 | 421 | ||
| 422 | @value{tramp} extends the Emacs file name syntax by a remote | 422 | @value{tramp} extends the Emacs file name syntax by adding a remote |
| 423 | component. A remote file name looks always like | 423 | component. A remote file name always looks like |
| 424 | @file{@trampfn{method,user@@host,/path/to/file}}. | 424 | @file{@trampfn{method,user@@host,/path/to/file}}. |
| 425 | 425 | ||
| 426 | You can use remote files exactly like ordinary files, that means you | 426 | You can use remote files exactly like ordinary files, that means you |
| 427 | could open a file or directory by @kbd{C-x C-f | 427 | can open a file or directory by @kbd{C-x C-f |
| 428 | @trampfn{method,user@@host,/path/to/file} @key{RET}}, edit the file, | 428 | @trampfn{method,user@@host,/path/to/file} @key{RET}}, edit the file, |
| 429 | and save it. You can also mix local files and remote files in file | 429 | and save it. You can also mix local files and remote files in file |
| 430 | operations with two arguments, like @code{copy-file} or | 430 | operations with two arguments, like @code{copy-file} or |
| 431 | @code{rename-file}. And finally, you can run even processes on a | 431 | @code{rename-file}. And finally, you can even run processes on a |
| 432 | remote host, when the buffer you call the process from has a remote | 432 | remote host, when the buffer you call the process from has a remote |
| 433 | @code{default-directory}. | 433 | @code{default-directory}. |
| 434 | 434 | ||
| @@ -437,26 +437,26 @@ remote host, when the buffer you call the process from has a remote | |||
| 437 | @section File name syntax | 437 | @section File name syntax |
| 438 | @cindex file name syntax | 438 | @cindex file name syntax |
| 439 | 439 | ||
| 440 | Remote file names are prepended by the @code{method}, @code{user} and | 440 | Remote file names have @code{method}, @code{user} and @code{host} |
| 441 | @code{host} parts. All of them, and also the local file name part, | 441 | parts prepended. All of them, and also the local file name part, are |
| 442 | are optional, in case of a missing part a default value is assumed. | 442 | optional, in case of a missing part a default value is assumed. The |
| 443 | The default value for an empty local file name part is the remote | 443 | default value for an empty local file name part is the remote user's |
| 444 | user's home directory. The shortest remote file name is | 444 | home directory. The shortest remote file name is thus |
| 445 | @file{@trampfn{-,,}}, therefore. The @samp{-} notation for the | 445 | @file{@trampfn{-,,}}. The @samp{-} notation for the default method is |
| 446 | default method is used for syntactical reasons, @ref{Default Method}. | 446 | used for syntactical reasons, @ref{Default Method}. |
| 447 | 447 | ||
| 448 | The @code{method} part describes the connection method used to reach | 448 | The @code{method} part describes the connection method used to reach |
| 449 | the remote host, see below. | 449 | the remote host, see below. |
| 450 | 450 | ||
| 451 | The @code{user} part is the user name for accessing the remote host. | 451 | The @code{user} part is the user name for accessing the remote host. |
| 452 | For the @option{smb} method, this could also require a domain name, in | 452 | For the @option{smb} method, this could also require a domain name, in |
| 453 | this case it is written as @code{user%domain}. | 453 | which case it is written as @code{user%domain}. |
| 454 | 454 | ||
| 455 | The @code{host} part must be a host name which could be resolved on | 455 | The @code{host} part must be a host name which can be resolved on |
| 456 | your local host. It could be a short host name, a fully qualified | 456 | your local host. It could be a short host name, a fully qualified |
| 457 | domain name, an IPv4 or IPv6 address, @ref{File name syntax}. Some | 457 | domain name, an IPv4 or IPv6 address, @ref{File name syntax}. Some |
| 458 | connection methods support also a notation of the port to be used, in | 458 | connection methods also support a notation for the port to be used, in |
| 459 | this case it is written as @code{host#port}. | 459 | which case it is written as @code{host#port}. |
| 460 | 460 | ||
| 461 | 461 | ||
| 462 | @anchor{Quick Start Guide: @option{ssh} and @option{plink} methods} | 462 | @anchor{Quick Start Guide: @option{ssh} and @option{plink} methods} |
| @@ -470,9 +470,9 @@ If your local host runs an SSH client, and the remote host runs an SSH | |||
| 470 | server, the simplest remote file name is | 470 | server, the simplest remote file name is |
| 471 | @file{@trampfn{ssh,user@@host,/path/to/file}}. The remote file name | 471 | @file{@trampfn{ssh,user@@host,/path/to/file}}. The remote file name |
| 472 | @file{@trampfn{ssh,,}} opens a remote connection to yourself on the | 472 | @file{@trampfn{ssh,,}} opens a remote connection to yourself on the |
| 473 | local host, and is taken often for testing @value{tramp}. | 473 | local host, and is often used for testing @value{tramp}. |
| 474 | 474 | ||
| 475 | On MS Windows, PuTTY is often used as SSH client. Its @command{plink} | 475 | On MS Windows, PuTTY is often used as the SSH client. Its @command{plink} |
| 476 | method can be used there to open a connection to a remote host running | 476 | method can be used there to open a connection to a remote host running |
| 477 | an @command{ssh} server: | 477 | an @command{ssh} server: |
| 478 | @file{@trampfn{plink,user@@host,/path/to/file}}. | 478 | @file{@trampfn{plink,user@@host,/path/to/file}}. |
| @@ -488,14 +488,14 @@ an @command{ssh} server: | |||
| 488 | @cindex @option{sg} method | 488 | @cindex @option{sg} method |
| 489 | 489 | ||
| 490 | Sometimes, it is necessary to work on your local host under different | 490 | Sometimes, it is necessary to work on your local host under different |
| 491 | permissions. For this, you could use the @option{su} or @option{sudo} | 491 | permissions. For this, you can use the @option{su} or @option{sudo} |
| 492 | connection method. Both methods use @samp{root} as default user name | 492 | connection method. Both methods use @samp{root} as default user name |
| 493 | and the return value of @code{(system-name)} as default host name. | 493 | and the return value of @code{(system-name)} as default host name. |
| 494 | Therefore, it is convenient to open a file as | 494 | Therefore, it is convenient to open a file as |
| 495 | @file{@trampfn{sudo,,/path/to/file}}. | 495 | @file{@trampfn{sudo,,/path/to/file}}. |
| 496 | 496 | ||
| 497 | The method @option{sg} stands for ``switch group''; the changed group | 497 | The method @option{sg} stands for ``switch group''; here the username |
| 498 | must be used here as user name. The default host name is the same. | 498 | is used as the group to change to. The default host name is the same. |
| 499 | 499 | ||
| 500 | 500 | ||
| 501 | @anchor{Quick Start Guide: @option{ssh}, @option{plink}, @option{su}, @option{sudo} and @option{sg} methods} | 501 | @anchor{Quick Start Guide: @option{ssh}, @option{plink}, @option{su}, @option{sudo} and @option{sg} methods} |
| @@ -509,9 +509,9 @@ must be used here as user name. The default host name is the same. | |||
| 509 | @cindex method @option{sudo} | 509 | @cindex method @option{sudo} |
| 510 | @cindex @option{sudo} method | 510 | @cindex @option{sudo} method |
| 511 | 511 | ||
| 512 | If the @option{su} or @option{sudo} option shall be performed on | 512 | If the @option{su} or @option{sudo} option should be performed on |
| 513 | another host, it could be comnbined with a leading @option{ssh} or | 513 | another host, it can be comnbined with a leading @option{ssh} or |
| 514 | @option{plink} option. That means, @value{tramp} connects first to | 514 | @option{plink} option. That means that @value{tramp} connects first to |
| 515 | the other host with non-administrative credentials, and changes to | 515 | the other host with non-administrative credentials, and changes to |
| 516 | administrative credentials on that host afterwards. In a simple case, | 516 | administrative credentials on that host afterwards. In a simple case, |
| 517 | the syntax looks like | 517 | the syntax looks like |
| @@ -527,8 +527,8 @@ the syntax looks like | |||
| 527 | The @option{sudoedit} method is similar to the @option{sudo} method. | 527 | The @option{sudoedit} method is similar to the @option{sudo} method. |
| 528 | However, it is a different implementation: it does not keep an open | 528 | However, it is a different implementation: it does not keep an open |
| 529 | session running in the background. This is for security reasons; on | 529 | session running in the background. This is for security reasons; on |
| 530 | the backside this method is less performant than the @option{sudo} | 530 | the backside this method has worse performance than the @option{sudo} |
| 531 | method, it is restricted to the @samp{localhost} only, and it does not | 531 | method, it is restricted to @samp{localhost} only, and it does not |
| 532 | support external processes. | 532 | support external processes. |
| 533 | 533 | ||
| 534 | 534 | ||
| @@ -561,9 +561,9 @@ of the local file name is the share exported by the remote host, | |||
| 561 | @cindex method @option{mtp} | 561 | @cindex method @option{mtp} |
| 562 | @cindex @option{mtp} method | 562 | @cindex @option{mtp} method |
| 563 | 563 | ||
| 564 | On systems, which have installed @acronym{GVFS, the GNOME Virtual File | 564 | On systems which have @acronym{GVFS, the GNOME Virtual File System} |
| 565 | System}, its offered methods could be used by @value{tramp}. Examples | 565 | installed , its offered methods can be used by @value{tramp}. |
| 566 | are @file{@trampfn{sftp,user@@host,/path/to/file}}, | 566 | Examples are @file{@trampfn{sftp,user@@host,/path/to/file}}, |
| 567 | @file{@trampfn{afp,user@@host,/path/to/file}} (accessing Apple's AFP | 567 | @file{@trampfn{afp,user@@host,/path/to/file}} (accessing Apple's AFP |
| 568 | file system), @file{@trampfn{dav,user@@host,/path/to/file}}, | 568 | file system), @file{@trampfn{dav,user@@host,/path/to/file}}, |
| 569 | @file{@trampfn{davs,user@@host,/path/to/file}} (for WebDAV shares) and | 569 | @file{@trampfn{davs,user@@host,/path/to/file}} (for WebDAV shares) and |
| @@ -580,10 +580,10 @@ file system), @file{@trampfn{dav,user@@host,/path/to/file}}, | |||
| 580 | @cindex @option{nextcloud} method | 580 | @cindex @option{nextcloud} method |
| 581 | @cindex nextcloud | 581 | @cindex nextcloud |
| 582 | 582 | ||
| 583 | @acronym{GVFS}-based methods include also @acronym{GNOME} Online | 583 | @acronym{GVFS}-based methods also include @acronym{GNOME} Online |
| 584 | Accounts, which support the @option{Files} service. These are the | 584 | Accounts, which support the @option{Files} service. These are the |
| 585 | Google Drive file system, and the OwnCloud/NextCloud file system. The | 585 | Google Drive file system, and the OwnCloud/NextCloud file system. The |
| 586 | file name syntax is here always | 586 | file name syntax here is always |
| 587 | @file{@trampfn{gdrive,john.doe@@gmail.com,/path/to/file}} | 587 | @file{@trampfn{gdrive,john.doe@@gmail.com,/path/to/file}} |
| 588 | (@samp{john.doe@@gmail.com} stands here for your Google Drive | 588 | (@samp{john.doe@@gmail.com} stands here for your Google Drive |
| 589 | account), or @file{@trampfn{nextcloud,user@@host#8081,/path/to/file}} | 589 | account), or @file{@trampfn{nextcloud,user@@host#8081,/path/to/file}} |
| @@ -608,7 +608,7 @@ needed. The file name syntax is @file{@trampfn{adb,,/path/to/file}}. | |||
| 608 | 608 | ||
| 609 | A convenient way to access system storages is the @command{rclone} | 609 | A convenient way to access system storages is the @command{rclone} |
| 610 | program. If you have configured a storage in @command{rclone} under a | 610 | program. If you have configured a storage in @command{rclone} under a |
| 611 | name @samp{storage} (for example), you could access it via the remote | 611 | name @samp{storage} (for example), you can access it via the remote |
| 612 | file name syntax @file{@trampfn{rclone,storage,/path/to/file}}. User | 612 | file name syntax @file{@trampfn{rclone,storage,/path/to/file}}. User |
| 613 | names are not needed. | 613 | names are not needed. |
| 614 | 614 | ||
| @@ -630,7 +630,7 @@ For changing the connection type and file access method from the | |||
| 630 | defaults to one of several other options, @xref{Connection types}. | 630 | defaults to one of several other options, @xref{Connection types}. |
| 631 | 631 | ||
| 632 | @strong{Note} that some user options described in these examples are | 632 | @strong{Note} that some user options described in these examples are |
| 633 | not auto loaded by Emacs. All examples require @value{tramp} is | 633 | not auto loaded by Emacs. All examples require @value{tramp} to be |
| 634 | installed and loaded: | 634 | installed and loaded: |
| 635 | 635 | ||
| 636 | @lisp | 636 | @lisp |
| @@ -638,7 +638,7 @@ installed and loaded: | |||
| 638 | @end lisp | 638 | @end lisp |
| 639 | 639 | ||
| 640 | For functions used to configure @value{tramp}, the following clause | 640 | For functions used to configure @value{tramp}, the following clause |
| 641 | might be used in your init file: | 641 | may be used in your init file: |
| 642 | 642 | ||
| 643 | @lisp | 643 | @lisp |
| 644 | (with-eval-after-load 'tramp (tramp-change-syntax 'simplified)) | 644 | (with-eval-after-load 'tramp (tramp-change-syntax 'simplified)) |
| @@ -693,13 +693,13 @@ methods. While these methods do see better performance when actually | |||
| 693 | transferring files, the overhead of the cryptographic negotiation at | 693 | transferring files, the overhead of the cryptographic negotiation at |
| 694 | startup may drown out the improvement in file transfer times. | 694 | startup may drown out the improvement in file transfer times. |
| 695 | 695 | ||
| 696 | External methods should be configured such a way that they don't | 696 | External methods should be configured in such a way that they don't |
| 697 | require a password (with @command{ssh-agent}, or such alike). Modern | 697 | require a password (with @command{ssh-agent}, or similar). Modern |
| 698 | @command{scp} implementations offer options to reuse existing | 698 | @command{scp} implementations offer options to reuse existing |
| 699 | @command{ssh} connections, which will be enabled by default if | 699 | @command{ssh} connections, which @value{tramp} enables by default if |
| 700 | available. If it isn't possible, you should consider @ref{Password | 700 | available. If that is not possible, you should consider @ref{Password |
| 701 | handling}, otherwise you will be prompted for a password every copy | 701 | handling}, otherwise you will be prompted for a password for every |
| 702 | action. | 702 | copy action. |
| 703 | 703 | ||
| 704 | 704 | ||
| 705 | @node Inline methods | 705 | @node Inline methods |
| @@ -727,17 +727,17 @@ usability of one of the commands defined in | |||
| 727 | reliable command it finds. @value{tramp}'s search path can be | 727 | reliable command it finds. @value{tramp}'s search path can be |
| 728 | customized, see @ref{Remote programs}. | 728 | customized, see @ref{Remote programs}. |
| 729 | 729 | ||
| 730 | In case none of the commands are unavailable, @value{tramp} first | 730 | In case none of the commands are available, @value{tramp} first |
| 731 | transfers a small Perl program to the remote host, and then tries that | 731 | transfers a small Perl program to the remote host, and then tries to |
| 732 | program for encoding and decoding. | 732 | use that program for encoding and decoding. |
| 733 | 733 | ||
| 734 | @vindex tramp-inline-compress-start-size | 734 | @vindex tramp-inline-compress-start-size |
| 735 | @vindex tramp-inline-compress-commands | 735 | @vindex tramp-inline-compress-commands |
| 736 | To increase transfer speeds for large text files, use compression | 736 | To increase transfer speeds for large text files, @value{tramp} can |
| 737 | before encoding. The user option | 737 | use compression before encoding. The user option |
| 738 | @code{tramp-inline-compress-start-size} specifies the file size for | 738 | @code{tramp-inline-compress-start-size} specifies the file size above |
| 739 | such optimization. This feature depends on the availability and | 739 | which to use this optimization. This feature depends on the |
| 740 | usability of one of the commands defined in | 740 | availability and usability of one of the commands defined in |
| 741 | @code{tramp-inline-compress-commands}. | 741 | @code{tramp-inline-compress-commands}. |
| 742 | 742 | ||
| 743 | @table @asis | 743 | @table @asis |
| @@ -747,6 +747,8 @@ usability of one of the commands defined in | |||
| 747 | 747 | ||
| 748 | @command{rsh} is an option for connecting to hosts within local | 748 | @command{rsh} is an option for connecting to hosts within local |
| 749 | networks since @command{rsh} is not as secure as other methods. | 749 | networks since @command{rsh} is not as secure as other methods. |
| 750 | There should be no reason to use it, as @command{ssh} is a both a | ||
| 751 | complete replacement and ubiquitous. | ||
| 750 | 752 | ||
| 751 | @item @option{ssh} | 753 | @item @option{ssh} |
| 752 | @cindex method @option{ssh} | 754 | @cindex method @option{ssh} |
| @@ -784,7 +786,7 @@ Similar to @option{su} method, @option{sudo} uses @command{sudo}. | |||
| 784 | @command{sudo} must have sufficient rights to start a shell. | 786 | @command{sudo} must have sufficient rights to start a shell. |
| 785 | 787 | ||
| 786 | For security reasons, a @option{sudo} connection is disabled after a | 788 | For security reasons, a @option{sudo} connection is disabled after a |
| 787 | predefined timeout (5 minutes per default). This can be changed, see | 789 | predefined timeout (5 minutes by default). This can be changed, see |
| 788 | @ref{Predefined connection information}. | 790 | @ref{Predefined connection information}. |
| 789 | 791 | ||
| 790 | @item @option{doas} | 792 | @item @option{doas} |
| @@ -1183,7 +1185,7 @@ information}. Supported properties are @t{"mount-args"}, | |||
| 1183 | @t{"copyto-args"} and @t{"moveto-args"}. | 1185 | @t{"copyto-args"} and @t{"moveto-args"}. |
| 1184 | 1186 | ||
| 1185 | Access via @option{rclone} is slow. If you have an alternative method | 1187 | Access via @option{rclone} is slow. If you have an alternative method |
| 1186 | for accessing the system storage, you shall prefer this. | 1188 | for accessing the system storage, you should use it. |
| 1187 | @ref{GVFS-based methods} for example, methods @option{gdrive} and | 1189 | @ref{GVFS-based methods} for example, methods @option{gdrive} and |
| 1188 | @option{nextcloud}. | 1190 | @option{nextcloud}. |
| 1189 | 1191 | ||
| @@ -1908,10 +1910,10 @@ machine melancholia#4711 port davs login daniel%BIZARRE password geheim | |||
| 1908 | @end example | 1910 | @end example |
| 1909 | 1911 | ||
| 1910 | @vindex auth-source-save-behavior | 1912 | @vindex auth-source-save-behavior |
| 1911 | If there doesn't exist a proper entry, the password is read | 1913 | If no proper entry exists, the password is read |
| 1912 | interactively. After successful login (verification of the password), | 1914 | interactively. After successful login (verification of the password), |
| 1913 | it is offered to save a corresponding entry for further use by | 1915 | Emacs offers to save a corresponding entry for further use by |
| 1914 | @code{auth-source} backends which support this. This could be changed | 1916 | @code{auth-source} backends which support this. This can be changed |
| 1915 | by setting the user option @code{auth-source-save-behavior} to @code{nil}. | 1917 | by setting the user option @code{auth-source-save-behavior} to @code{nil}. |
| 1916 | 1918 | ||
| 1917 | @vindex auth-source-debug | 1919 | @vindex auth-source-debug |
| @@ -2037,10 +2039,10 @@ properties are listed here: | |||
| 2037 | @itemize | 2039 | @itemize |
| 2038 | @item @t{"login-program"} | 2040 | @item @t{"login-program"} |
| 2039 | 2041 | ||
| 2040 | The property @t{"login-program"} keeps the program to be called in | 2042 | The property @t{"login-program"} stores the program to be used to |
| 2041 | order to connect the remote host. Sometimes, the program might have | 2043 | connect to the remote host. Sometimes, the program might have another |
| 2042 | another name on your host, or it is located on another path. In this | 2044 | name on your host, or it might be located in another path. In this case, |
| 2043 | case, you can overwrite the default value, which is special for every | 2045 | you can overwrite the default value, which is special for every |
| 2044 | connection method. It is used in all connection methods of | 2046 | connection method. It is used in all connection methods of |
| 2045 | @file{tramp-sh.el}. | 2047 | @file{tramp-sh.el}. |
| 2046 | 2048 | ||
| @@ -2093,12 +2095,12 @@ Connections using the @option{smb} method check, whether the remote | |||
| 2093 | host supports posix commands. If the remote host runs Samba, it | 2095 | host supports posix commands. If the remote host runs Samba, it |
| 2094 | confirms this capability. However, some very old Samba versions have | 2096 | confirms this capability. However, some very old Samba versions have |
| 2095 | errors in their implementation. In order to suppress the posix | 2097 | errors in their implementation. In order to suppress the posix |
| 2096 | commands for those hosts, the property @t{"posix"} shall be set to | 2098 | commands for those hosts, the property @t{"posix"} should be set to |
| 2097 | @code{nil}. | 2099 | @code{nil}. |
| 2098 | 2100 | ||
| 2099 | The default value of this property is @code{t} (not specified in | 2101 | The default value of this property is @code{t} (not specified in |
| 2100 | @code{tramp-methods}). If the remote host runs native MS Windows, | 2102 | @code{tramp-methods}). If the remote host runs native MS Windows, |
| 2101 | there is no effect of this property. | 2103 | this propery has no effect. |
| 2102 | 2104 | ||
| 2103 | @item @t{"mount-args"}@* | 2105 | @item @t{"mount-args"}@* |
| 2104 | @t{"copyto-args"}@* | 2106 | @t{"copyto-args"}@* |
| @@ -2207,7 +2209,7 @@ be recomputed. To force @value{tramp} to recompute afresh, call | |||
| 2207 | @subsection Changing the default remote or local shell | 2209 | @subsection Changing the default remote or local shell |
| 2208 | @cindex zsh setup | 2210 | @cindex zsh setup |
| 2209 | 2211 | ||
| 2210 | Per default, @value{tramp} uses the command @command{/bin/sh} for | 2212 | By default, @value{tramp} uses the command @command{/bin/sh} for |
| 2211 | starting a shell on the remote host. This can be changed by setting | 2213 | starting a shell on the remote host. This can be changed by setting |
| 2212 | the connection property @t{"remote-shell"}; see @pxref{Predefined | 2214 | the connection property @t{"remote-shell"}; see @pxref{Predefined |
| 2213 | connection information}. If you want, for example, use | 2215 | connection information}. If you want, for example, use |
| @@ -2232,7 +2234,7 @@ This approach has also the advantage, that settings in | |||
| 2232 | trouble with the shell prompt due to set zle options will be avoided. | 2234 | trouble with the shell prompt due to set zle options will be avoided. |
| 2233 | 2235 | ||
| 2234 | Similar problems can happen with the local shell Tramp uses to create | 2236 | Similar problems can happen with the local shell Tramp uses to create |
| 2235 | a process. Per default, it uses the command @command{/bin/sh} for | 2237 | a process. By default, it uses the command @command{/bin/sh} for |
| 2236 | this, which could also be a link to another shell. In order to | 2238 | this, which could also be a link to another shell. In order to |
| 2237 | overwrite this, you might apply | 2239 | overwrite this, you might apply |
| 2238 | 2240 | ||
| @@ -2332,7 +2334,7 @@ prompts, for which @value{tramp} uses @code{tramp-wrong-passwd-regexp}. | |||
| 2332 | 2334 | ||
| 2333 | @value{tramp} uses the user option @code{tramp-terminal-type} to set | 2335 | @value{tramp} uses the user option @code{tramp-terminal-type} to set |
| 2334 | the remote environment variable @env{TERM} for the shells it runs. | 2336 | the remote environment variable @env{TERM} for the shells it runs. |
| 2335 | Per default, it is @t{"dumb"}, but this could be changed. A dumb | 2337 | By default, it is @t{"dumb"}, but this could be changed. A dumb |
| 2336 | terminal is best suited to run the background sessions of | 2338 | terminal is best suited to run the background sessions of |
| 2337 | @value{tramp}. However, running interactive remote shells might | 2339 | @value{tramp}. However, running interactive remote shells might |
| 2338 | require a different setting. This could be achieved by tweaking the | 2340 | require a different setting. This could be achieved by tweaking the |
| @@ -3216,19 +3218,19 @@ host when the variable @code{default-directory} is remote: | |||
| 3216 | @end lisp | 3218 | @end lisp |
| 3217 | 3219 | ||
| 3218 | @vindex process-file-return-signal-string | 3220 | @vindex process-file-return-signal-string |
| 3219 | @code{process-file} shall return either the exit code of the process, | 3221 | For a local process, @code{process-file} returns either the exit code |
| 3220 | or a string describing the signal, when the process has been | 3222 | of the process, or a string describing a signal, when the process has |
| 3221 | interrupted. Since it cannot be determined reliably whether a remote | 3223 | been interrupted. Since it cannot be determined reliably whether a |
| 3222 | process has been interrupted, @code{process-file} returns always the | 3224 | remote process has been interrupted, @code{process-file} will always |
| 3223 | exit code. When the user option | 3225 | returns the exit code for it. When the user option |
| 3224 | @code{process-file-return-signal-string} is non-@code{nil}, | 3226 | @code{process-file-return-signal-string} is non-@code{nil}, |
| 3225 | @code{process-file} regards all exit codes greater than 128 as an | 3227 | @code{process-file} treats all exit codes greater than 128 as an |
| 3226 | indication that the process has been interrupted, and returns a | 3228 | indication that the process has been interrupted, and returns a |
| 3227 | respective string. | 3229 | corresponding string. |
| 3228 | 3230 | ||
| 3229 | Remote processes do not apply to @acronym{GVFS} (see @ref{GVFS-based | 3231 | This remote process handling does not apply to @acronym{GVFS} (see |
| 3230 | methods}) because the remote file system is mounted on the local host | 3232 | @ref{GVFS-based methods}) because the remote file system is mounted on |
| 3231 | and @value{tramp} just accesses by changing the | 3233 | the local host and @value{tramp} accesses it by changing the |
| 3232 | @code{default-directory}. | 3234 | @code{default-directory}. |
| 3233 | 3235 | ||
| 3234 | @value{tramp} starts a remote process when a command is executed in a | 3236 | @value{tramp} starts a remote process when a command is executed in a |
| @@ -3239,7 +3241,7 @@ integrated to work with @value{tramp}: @file{shell.el}, | |||
| 3239 | 3241 | ||
| 3240 | @vindex INSIDE_EMACS@r{, environment variable} | 3242 | @vindex INSIDE_EMACS@r{, environment variable} |
| 3241 | @value{tramp} always modifies the @env{INSIDE_EMACS} environment | 3243 | @value{tramp} always modifies the @env{INSIDE_EMACS} environment |
| 3242 | variable for remote processes. Per default, this environment variable | 3244 | variable for remote processes. By default, this environment variable |
| 3243 | shows the Emacs version. @value{tramp} adds its own version string, | 3245 | shows the Emacs version. @value{tramp} adds its own version string, |
| 3244 | so it looks like @samp{27.2,tramp:2.4.5.1}. However, other packages | 3246 | so it looks like @samp{27.2,tramp:2.4.5.1}. However, other packages |
| 3245 | might also add their name to this environment variable, like | 3247 | might also add their name to this environment variable, like |
| @@ -3294,8 +3296,8 @@ local @file{.emacs} file: | |||
| 3294 | 3296 | ||
| 3295 | @vindex ENV@r{, environment variable} | 3297 | @vindex ENV@r{, environment variable} |
| 3296 | Setting the @env{ENV} environment variable instructs some shells to | 3298 | Setting the @env{ENV} environment variable instructs some shells to |
| 3297 | read an initialization file. Per default, @value{tramp} has disabled | 3299 | read an initialization file. By default, @value{tramp} disables |
| 3298 | this. You could overwrite this behavior by evaluating | 3300 | this. You can override this behavior by evaluating |
| 3299 | 3301 | ||
| 3300 | @lisp | 3302 | @lisp |
| 3301 | @group | 3303 | @group |
| @@ -4385,7 +4387,7 @@ this @code{nil} setting: | |||
| 4385 | 4387 | ||
| 4386 | @vindex ProxyCommand@r{, ssh option} | 4388 | @vindex ProxyCommand@r{, ssh option} |
| 4387 | @vindex ProxyJump@r{, ssh option} | 4389 | @vindex ProxyJump@r{, ssh option} |
| 4388 | This shall also be set to @code{nil} if you use the | 4390 | This should also be set to @code{nil} if you use the |
| 4389 | @option{ProxyCommand} or @option{ProxyJump} options in your | 4391 | @option{ProxyCommand} or @option{ProxyJump} options in your |
| 4390 | @command{ssh} configuration. | 4392 | @command{ssh} configuration. |
| 4391 | 4393 | ||
| @@ -4955,9 +4957,9 @@ I get an error @samp{Remote file error: Forbidden reentrant call of Tramp} | |||
| 4955 | Timers, process filters and sentinels, and other event based functions | 4957 | Timers, process filters and sentinels, and other event based functions |
| 4956 | can run at any time, when a remote file operation is still running. | 4958 | can run at any time, when a remote file operation is still running. |
| 4957 | This can cause @value{tramp} to block. When such a situation is | 4959 | This can cause @value{tramp} to block. When such a situation is |
| 4958 | detected, this error is triggered. It shall be fixed in the | 4960 | detected, this error is triggered. It should be fixed in the |
| 4959 | respective function (an error report will help), but for the time | 4961 | respective function (sending an error report will help), but for the |
| 4960 | being you can suppress this error by the following code in your | 4962 | time being you can suppress this error by the following code in your |
| 4961 | @file{~/.emacs}: | 4963 | @file{~/.emacs}: |
| 4962 | 4964 | ||
| 4963 | @lisp | 4965 | @lisp |
| @@ -5140,9 +5142,9 @@ sending a string to a process, or waiting for process output. They | |||
| 5140 | can run any remote file operation, which would conflict with the | 5142 | can run any remote file operation, which would conflict with the |
| 5141 | already running remote file operation, if the same connection is | 5143 | already running remote file operation, if the same connection is |
| 5142 | affected. @value{tramp} detects this situation, and raises the | 5144 | affected. @value{tramp} detects this situation, and raises the |
| 5143 | @code{remote-file-error} error. A timer function shall avoid this | 5145 | @code{remote-file-error} error. A timer function should avoid this |
| 5144 | situation. At least, it shall protect itself against this error, by | 5146 | situation. As a minimum, it should protect itself against this error, by |
| 5145 | wrapping the timer function body with | 5147 | wrapping the timer function body as follows: |
| 5146 | 5148 | ||
| 5147 | @lisp | 5149 | @lisp |
| 5148 | @group | 5150 | @group |
| @@ -5194,8 +5196,8 @@ Other navigation keys are described in | |||
| 5194 | @ref{Outline Visibility, , , emacs}. | 5196 | @ref{Outline Visibility, , , emacs}. |
| 5195 | @end ifinfo | 5197 | @end ifinfo |
| 5196 | 5198 | ||
| 5197 | @value{tramp} handles errors internally. But to get a Lisp backtrace, | 5199 | @value{tramp} handles errors internally. Hence, to get a Lisp backtrace, |
| 5198 | both the error and the signal have to be set as follows: | 5200 | the following settings are required: |
| 5199 | 5201 | ||
| 5200 | @lisp | 5202 | @lisp |
| 5201 | @group | 5203 | @group |
| @@ -5209,15 +5211,15 @@ backtraces are also added to the @value{tramp} debug buffer in case of | |||
| 5209 | errors. | 5211 | errors. |
| 5210 | 5212 | ||
| 5211 | In very rare cases it could happen, that @value{tramp} blocks Emacs. | 5213 | In very rare cases it could happen, that @value{tramp} blocks Emacs. |
| 5212 | Killing Emacs does not allow to inspect the debug buffer. In that | 5214 | Killing Emacs does not allow inspecting the debug buffer. In that |
| 5213 | case, you might instruct @value{tramp} to mirror the debug buffer to | 5215 | case, you can instruct @value{tramp} to mirror the debug buffer to |
| 5214 | file: | 5216 | a file: |
| 5215 | 5217 | ||
| 5216 | @lisp | 5218 | @lisp |
| 5217 | (customize-set-variable 'tramp-debug-to-file t) | 5219 | (customize-set-variable 'tramp-debug-to-file t) |
| 5218 | @end lisp | 5220 | @end lisp |
| 5219 | 5221 | ||
| 5220 | The debug buffer is written as file in your | 5222 | The debug buffer is written as a file in your |
| 5221 | @code{temporary-file-directory}, which is usually @file{/tmp/}. Use | 5223 | @code{temporary-file-directory}, which is usually @file{/tmp/}. Use |
| 5222 | this option with care, because it could decrease the performance of | 5224 | this option with care, because it could decrease the performance of |
| 5223 | @value{tramp} actions. | 5225 | @value{tramp} actions. |