Mercurial > emacs
comparison man/tramp.texi @ 64772:060177e931f8
Sync with Tramp 2.0.50.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Sun, 07 Aug 2005 15:42:42 +0000 |
parents | d20f7349d704 |
children | 3723093a21fd |
comparison
equal
deleted
inserted
replaced
64771:ef0eb1c0d920 | 64772:060177e931f8 |
---|---|
216 | 216 |
217 @node Overview | 217 @node Overview |
218 @chapter An overview of @value{tramp} | 218 @chapter An overview of @value{tramp} |
219 @cindex overview | 219 @cindex overview |
220 | 220 |
221 After the installation of @value{tramp} into your @value{emacsname}, you | 221 After the installation of @value{tramp} into your @value{emacsname}, |
222 will be able to access files on remote machines as though they were | 222 you will be able to access files on remote machines as though they |
223 local. Access to the remote file system for editing files, version | 223 were local. Access to the remote file system for editing files, |
224 control, and @command{dired} are transparently enabled. | 224 version control, and @code{dired} are transparently enabled. |
225 | 225 |
226 Your access to the remote machine can be with the @command{rsh}, | 226 Your access to the remote machine can be with the @command{rsh}, |
227 @command{rlogin}, @command{telnet} programs or with any similar | 227 @command{rlogin}, @command{telnet} programs or with any similar |
228 connection method. This connection must pass @acronym{ASCII} | 228 connection method. This connection must pass @acronym{ASCII} |
229 successfully to be usable but need not be 8-bit clean. | 229 successfully to be usable but need not be 8-bit clean. |
287 Communication with this process happens through an | 287 Communication with this process happens through an |
288 @value{emacsname} buffer, that is, the output from the remote end | 288 @value{emacsname} buffer, that is, the output from the remote end |
289 goes into a buffer. | 289 goes into a buffer. |
290 | 290 |
291 @item | 291 @item |
292 The remote host may prompt for a login name (for @command{telnet}). The | 292 The remote host may prompt for a login name (for @command{telnet}). |
293 login name is given in the file name, so @value{tramp} sends the login name and | 293 The login name is given in the file name, so @value{tramp} sends the |
294 a newline. | 294 login name and a newline. |
295 | 295 |
296 @item | 296 @item |
297 The remote host may prompt for a password or pass phrase (for | 297 The remote host may prompt for a password or pass phrase (for |
298 @command{rsh} or for @command{telnet} after sending the login name). | 298 @command{rsh} or for @command{telnet} after sending the login name). |
299 @value{tramp} displays the prompt in the minibuffer, asking you for the | 299 @value{tramp} displays the prompt in the minibuffer, asking you for the |
363 | 363 |
364 @item | 364 @item |
365 Again, @value{tramp} transfers the file contents to the remote host either | 365 Again, @value{tramp} transfers the file contents to the remote host either |
366 inline or out-of-band. This is the reverse of what happens when reading | 366 inline or out-of-band. This is the reverse of what happens when reading |
367 the file. | 367 the file. |
368 | |
369 @end itemize | 368 @end itemize |
370 | 369 |
371 I hope this has provided you with a basic overview of what happens | 370 I hope this has provided you with a basic overview of what happens |
372 behind the scenes when you open a file with @value{tramp}. | 371 behind the scenes when you open a file with @value{tramp}. |
373 | 372 |
651 | 650 |
652 | 651 |
653 @item @option{sshx} | 652 @item @option{sshx} |
654 @cindex method sshx | 653 @cindex method sshx |
655 @cindex sshx method | 654 @cindex sshx method |
656 @cindex Cygwin (with sshx method) | |
657 | 655 |
658 As you would expect, this is similar to @option{ssh}, only a little | 656 As you would expect, this is similar to @option{ssh}, only a little |
659 different. Whereas @option{ssh} opens a normal interactive shell on | 657 different. Whereas @option{ssh} opens a normal interactive shell on |
660 the remote host, this option uses @samp{ssh -t -t @var{host} -l | 658 the remote host, this option uses @samp{ssh -t -t @var{host} -l |
661 @var{user} /bin/sh} to open a connection. This is useful for users | 659 @var{user} /bin/sh} to open a connection. This is useful for users |
672 in without such questions. | 670 in without such questions. |
673 | 671 |
674 This is also useful for Windows users where @command{ssh}, when | 672 This is also useful for Windows users where @command{ssh}, when |
675 invoked from an @value{emacsname} buffer, tells them that it is not | 673 invoked from an @value{emacsname} buffer, tells them that it is not |
676 allocating a pseudo tty. When this happens, the login shell is wont | 674 allocating a pseudo tty. When this happens, the login shell is wont |
677 to not print any shell prompt, which confuses @value{tramp} mightily. For | 675 to not print any shell prompt, which confuses @value{tramp} mightily. |
678 reasons unknown, some Windows ports for @command{ssh} (maybe the | 676 For reasons unknown, some Windows ports for @command{ssh} require the |
679 Cygwin one) require the doubled @samp{-t} option. | 677 doubled @samp{-t} option. |
680 | 678 |
681 This supports the @samp{-p} kludge. | 679 This supports the @samp{-p} kludge. |
682 | 680 |
683 | 681 |
684 @item @option{krlogin} | 682 @item @option{krlogin} |
815 @item @option{scpx} --- @command{ssh} and @command{scp} | 813 @item @option{scpx} --- @command{ssh} and @command{scp} |
816 @cindex method scpx | 814 @cindex method scpx |
817 @cindex scpx method | 815 @cindex scpx method |
818 @cindex scp (with scpx method) | 816 @cindex scp (with scpx method) |
819 @cindex ssh (with scpx method) | 817 @cindex ssh (with scpx method) |
820 @cindex Cygwin (with scpx method) | |
821 | 818 |
822 As you would expect, this is similar to @option{scp}, only a little | 819 As you would expect, this is similar to @option{scp}, only a little |
823 different. Whereas @option{scp} opens a normal interactive shell on | 820 different. Whereas @option{scp} opens a normal interactive shell on |
824 the remote host, this option uses @samp{ssh -t -t @var{host} -l | 821 the remote host, this option uses @samp{ssh -t -t @var{host} -l |
825 @var{user} /bin/sh} to open a connection. This is useful for users | 822 @var{user} /bin/sh} to open a connection. This is useful for users |
830 | 827 |
831 This is also useful for Windows users where @command{ssh}, when | 828 This is also useful for Windows users where @command{ssh}, when |
832 invoked from an @value{emacsname} buffer, tells them that it is not | 829 invoked from an @value{emacsname} buffer, tells them that it is not |
833 allocating a pseudo tty. When this happens, the login shell is wont | 830 allocating a pseudo tty. When this happens, the login shell is wont |
834 to not print any shell prompt, which confuses @value{tramp} mightily. | 831 to not print any shell prompt, which confuses @value{tramp} mightily. |
835 Maybe this applies to the Cygwin port of SSH. | |
836 | 832 |
837 This method supports the @samp{-p} hack. | 833 This method supports the @samp{-p} hack. |
838 | 834 |
839 | 835 |
840 @item @option{pscp} --- @command{plink} and @command{pscp} | 836 @item @option{pscp} --- @command{plink} and @command{pscp} |
1023 (add-to-list | 1019 (add-to-list |
1024 'tramp-multi-connection-function-alist | 1020 'tramp-multi-connection-function-alist |
1025 '("sshf" tramp-multi-connect-rlogin "ssh %h -l %u -p 4400%n")) | 1021 '("sshf" tramp-multi-connect-rlogin "ssh %h -l %u -p 4400%n")) |
1026 @end lisp | 1022 @end lisp |
1027 | 1023 |
1028 Now you can use an @code{sshf} hop which connects to port 4400 instead of | 1024 Now you can use an @option{sshf} hop which connects to port 4400 instead of |
1029 the standard port. | 1025 the standard port. |
1030 | 1026 |
1031 | 1027 |
1032 @node Default Method | 1028 @node Default Method |
1033 @section Selecting a default method | 1029 @section Selecting a default method |
1072 | 1068 |
1073 Another consideration with the selection of transfer methods is the | 1069 Another consideration with the selection of transfer methods is the |
1074 environment you will use them in and, especially when used over the | 1070 environment you will use them in and, especially when used over the |
1075 Internet, the security implications of your preferred method. | 1071 Internet, the security implications of your preferred method. |
1076 | 1072 |
1077 The @command{rsh} and @command{telnet} methods send your password as | 1073 The @option{rsh} and @option{telnet} methods send your password as |
1078 plain text as you log in to the remote machine, as well as transferring | 1074 plain text as you log in to the remote machine, as well as |
1079 the files in such a way that the content can easily be read from other | 1075 transferring the files in such a way that the content can easily be |
1080 machines. | 1076 read from other machines. |
1081 | 1077 |
1082 If you need to connect to remote systems that are accessible from the | 1078 If you need to connect to remote systems that are accessible from the |
1083 Internet, you should give serious thought to using @command{ssh} based | 1079 Internet, you should give serious thought to using @option{ssh} based |
1084 methods to connect. These provide a much higher level of security, | 1080 methods to connect. These provide a much higher level of security, |
1085 making it a non-trivial exercise for someone to obtain your password or | 1081 making it a non-trivial exercise for someone to obtain your password |
1086 read the content of the files you are editing. | 1082 or read the content of the files you are editing. |
1087 | 1083 |
1088 | 1084 |
1089 @subsection Which method is the right one for me? | 1085 @subsection Which method is the right one for me? |
1090 @cindex choosing the right method | 1086 @cindex choosing the right method |
1091 | 1087 |
1099 My suggestion is to use an inline method. For large files, out-of-band | 1095 My suggestion is to use an inline method. For large files, out-of-band |
1100 methods might be more efficient, but I guess that most people will want | 1096 methods might be more efficient, but I guess that most people will want |
1101 to edit mostly small files. | 1097 to edit mostly small files. |
1102 | 1098 |
1103 I guess that these days, most people can access a remote machine by | 1099 I guess that these days, most people can access a remote machine by |
1104 using @code{ssh}. So I suggest that you use the @code{ssh} method. | 1100 using @command{ssh}. So I suggest that you use the @option{ssh} |
1105 So, type @kbd{C-x C-f | 1101 method. So, type @kbd{C-x C-f |
1106 @value{prefix}ssh@value{postfixsinglehop}root@@otherhost@value{postfix}/etc/motd | 1102 @value{prefix}ssh@value{postfixsinglehop}root@@otherhost@value{postfix}/etc/motd |
1107 @key{RET}} to edit the @file{/etc/motd} file on the other host. | 1103 @key{RET}} to edit the @file{/etc/motd} file on the other host. |
1108 | 1104 |
1109 If you can't use @code{ssh} to log in to the remote host, then select a | 1105 If you can't use @option{ssh} to log in to the remote host, then |
1110 method that uses a program that works. For instance, Windows users | 1106 select a method that uses a program that works. For instance, Windows |
1111 might like the @code{plink} method which uses the PuTTY implementation | 1107 users might like the @option{plink} method which uses the PuTTY |
1112 of @code{ssh}. Or you use Kerberos and thus like @code{krlogin}. | 1108 implementation of @command{ssh}. Or you use Kerberos and thus like |
1109 @option{krlogin}. | |
1113 | 1110 |
1114 For the special case of editing files on the local host as another | 1111 For the special case of editing files on the local host as another |
1115 user, see the @code{su} or @code{sudo} method. It offers shortened | 1112 user, see the @option{su} or @option{sudo} methods. They offer |
1116 syntax for the @samp{root} account, like | 1113 shortened syntax for the @samp{root} account, like |
1117 @file{@value{prefix}su@value{postfixsinglehop}@value{postfix}/etc/motd}. | 1114 @file{@value{prefix}su@value{postfixsinglehop}@value{postfix}/etc/motd}. |
1118 | 1115 |
1119 People who edit large files may want to consider @code{scp} instead of | 1116 People who edit large files may want to consider @option{scp} instead |
1120 @code{ssh}, or @code{pscp} instead of @code{plink}. These out-of-band | 1117 of @option{ssh}, or @option{pscp} instead of @option{plink}. These |
1121 methods are faster than inline methods for large files. Note, however, | 1118 out-of-band methods are faster than inline methods for large files. |
1122 that out-of-band methods suffer from some limitations. Please try | 1119 Note, however, that out-of-band methods suffer from some limitations. |
1123 first whether you really get a noticeable speed advantage from using an | 1120 Please try first whether you really get a noticeable speed advantage |
1124 out-of-band method! Maybe even for large files, inline methods are | 1121 from using an out-of-band method! Maybe even for large files, inline |
1125 fast enough. | 1122 methods are fast enough. |
1126 | 1123 |
1127 | 1124 |
1128 @node Customizing Methods | 1125 @node Customizing Methods |
1129 @section Using Non-Standard Methods | 1126 @section Using Non-Standard Methods |
1130 @cindex customizing methods | 1127 @cindex customizing methods |
1363 @emph{all} situations. The other strategy is to require you to set up | 1360 @emph{all} situations. The other strategy is to require you to set up |
1364 the remote host such that it behaves like @value{tramp} expects. This might | 1361 the remote host such that it behaves like @value{tramp} expects. This might |
1365 be inconvenient because you have to invest a lot of effort into shell | 1362 be inconvenient because you have to invest a lot of effort into shell |
1366 setup before you can begin to use @value{tramp}. | 1363 setup before you can begin to use @value{tramp}. |
1367 | 1364 |
1368 The package, therefore, pursues a combined approach. It tries to figure | 1365 The package, therefore, pursues a combined approach. It tries to |
1369 out some of the more common setups, and only requires you to avoid | 1366 figure out some of the more common setups, and only requires you to |
1370 really exotic stuff. For example, it looks through a list of | 1367 avoid really exotic stuff. For example, it looks through a list of |
1371 directories to find some programs on the remote host. And also, it | 1368 directories to find some programs on the remote host. And also, it |
1372 knows that it is not obvious how to check whether a file exists, and | 1369 knows that it is not obvious how to check whether a file exists, and |
1373 therefore it tries different possibilities. (On some hosts and shells, | 1370 therefore it tries different possibilities. (On some hosts and |
1374 the command @code{test -e} does the trick, on some hosts the shell | 1371 shells, the command @command{test -e} does the trick, on some hosts |
1375 builtin doesn't work but the program @code{/usr/bin/test -e} or | 1372 the shell builtin doesn't work but the program @command{/usr/bin/test |
1376 @code{/bin/test -e} works. And on still other hosts, @code{ls -d} is | 1373 -e} or @command{/bin/test -e} works. And on still other hosts, |
1377 the right way to do this.) | 1374 @command{ls -d} is the right way to do this.) |
1378 | 1375 |
1379 Below you find a discussion of a few things that @value{tramp} does not deal | 1376 Below you find a discussion of a few things that @value{tramp} does not deal |
1380 with, and that you therefore have to set up correctly. | 1377 with, and that you therefore have to set up correctly. |
1381 | 1378 |
1382 @table @asis | 1379 @table @asis |
1407 different user. The default value of | 1404 different user. The default value of |
1408 @code{tramp-shell-prompt-pattern} is the same as the default value of | 1405 @code{tramp-shell-prompt-pattern} is the same as the default value of |
1409 @code{shell-prompt-pattern}, which is reported to work well in many | 1406 @code{shell-prompt-pattern}, which is reported to work well in many |
1410 circumstances. | 1407 circumstances. |
1411 | 1408 |
1412 @item @code{tset} and other questions | 1409 @item @command{tset} and other questions |
1413 @cindex Unix command tset | 1410 @cindex Unix command tset |
1414 @cindex tset Unix command | 1411 @cindex tset Unix command |
1415 | 1412 |
1416 Some people invoke the @code{tset} program from their shell startup | 1413 Some people invoke the @command{tset} program from their shell startup |
1417 scripts which asks the user about the terminal type of the shell. | 1414 scripts which asks the user about the terminal type of the shell. |
1418 Maybe some shells ask other questions when they are started. @value{tramp} | 1415 Maybe some shells ask other questions when they are started. @value{tramp} |
1419 does not know how to answer these questions. There are two approaches | 1416 does not know how to answer these questions. There are two approaches |
1420 for dealing with this problem. One approach is to take care that the | 1417 for dealing with this problem. One approach is to take care that the |
1421 shell does not ask any questions when invoked from @value{tramp}. You can | 1418 shell does not ask any questions when invoked from @value{tramp}. You can |
1441 | 1438 |
1442 | 1439 |
1443 @item Non-Bourne commands in @file{.profile} | 1440 @item Non-Bourne commands in @file{.profile} |
1444 | 1441 |
1445 After logging in to the remote host, @value{tramp} issues the command | 1442 After logging in to the remote host, @value{tramp} issues the command |
1446 @code{exec /bin/sh}. (Actually, the command is slightly different.) | 1443 @command{exec /bin/sh}. (Actually, the command is slightly |
1447 When @code{/bin/sh} is executed, it reads some init files, such as | 1444 different.) When @command{/bin/sh} is executed, it reads some init |
1448 @file{~/.shrc} or @file{~/.profile}. | 1445 files, such as @file{~/.shrc} or @file{~/.profile}. |
1449 | 1446 |
1450 Now, some people have a login shell which is not @code{/bin/sh} but a | 1447 Now, some people have a login shell which is not @code{/bin/sh} but a |
1451 Bourne-ish shell such as bash or ksh. Some of these people might put | 1448 Bourne-ish shell such as bash or ksh. Some of these people might put |
1452 their shell setup into the files @code{~/.shrc} or @code{~/.profile}. | 1449 their shell setup into the files @file{~/.shrc} or @file{~/.profile}. |
1453 This way, it is possible for non-Bourne constructs to end up in those | 1450 This way, it is possible for non-Bourne constructs to end up in those |
1454 files. Then, @code{exec /bin/sh} might cause the Bourne shell to barf | 1451 files. Then, @command{exec /bin/sh} might cause the Bourne shell to |
1455 on those constructs. | 1452 barf on those constructs. |
1456 | 1453 |
1457 As an example, imagine somebody putting @code{export FOO=bar} into the | 1454 As an example, imagine somebody putting @command{export FOO=bar} into |
1458 file @file{~/.profile}. The standard Bourne shell does not understand | 1455 the file @file{~/.profile}. The standard Bourne shell does not |
1459 this syntax and will emit a syntax error when it reaches this line. | 1456 understand this syntax and will emit a syntax error when it reaches |
1457 this line. | |
1460 | 1458 |
1461 Another example is the tilde (@code{~}) character, say when adding | 1459 Another example is the tilde (@code{~}) character, say when adding |
1462 @file{~/bin} to @code{$PATH}. Many Bourne shells will not expand this | 1460 @file{~/bin} to @code{$PATH}. Many Bourne shells will not expand this |
1463 character, and since there is usually no directory whose name consists | 1461 character, and since there is usually no directory whose name consists |
1464 of the single character tilde, strange things will happen. | 1462 of the single character tilde, strange things will happen. |
1465 | 1463 |
1466 What can you do about this? | 1464 What can you do about this? |
1467 | 1465 |
1468 Well, one possibility is to make sure that everything in @file{~/.shrc} | 1466 Well, one possibility is to make sure that everything in @file{~/.shrc} |
1469 and @file{~/.profile} on all remote hosts is Bourne-compatible. In the | 1467 and @file{~/.profile} on all remote hosts is Bourne-compatible. In the |
1470 above example, instead of @code{export FOO=bar}, you might use | 1468 above example, instead of @command{export FOO=bar}, you might use |
1471 @code{FOO=bar; export FOO} instead. | 1469 @command{FOO=bar; export FOO} instead. |
1472 | 1470 |
1473 The other possibility is to put your non-Bourne shell setup into some | 1471 The other possibility is to put your non-Bourne shell setup into some |
1474 other files. For example, bash reads the file @file{~/.bash_profile} | 1472 other files. For example, bash reads the file @file{~/.bash_profile} |
1475 instead of @file{~/.profile}, if the former exists. So bash | 1473 instead of @file{~/.profile}, if the former exists. So bash |
1476 aficionados just rename their @file{~/.profile} to | 1474 aficionados just rename their @file{~/.profile} to |
1477 @file{~/.bash_profile} on all remote hosts, and Bob's your uncle. | 1475 @file{~/.bash_profile} on all remote hosts, and Bob's your uncle. |
1478 | 1476 |
1479 The @value{tramp} developers would like to circumvent this problem, so if you | 1477 The @value{tramp} developers would like to circumvent this problem, so |
1480 have an idea about it, please tell us. However, we are afraid it is not | 1478 if you have an idea about it, please tell us. However, we are afraid |
1481 that simple: before saying @code{exec /bin/sh}, @value{tramp} does not know | 1479 it is not that simple: before saying @command{exec /bin/sh}, |
1482 which kind of shell it might be talking to. It could be a Bourne-ish | 1480 @value{tramp} does not know which kind of shell it might be talking |
1483 shell like ksh or bash, or it could be a csh derivative like tcsh, or | 1481 to. It could be a Bourne-ish shell like ksh or bash, or it could be a |
1484 it could be zsh, or even rc. If the shell is Bourne-ish already, then | 1482 csh derivative like tcsh, or it could be zsh, or even rc. If the |
1485 it might be prudent to omit the @code{exec /bin/sh} step. But how to | 1483 shell is Bourne-ish already, then it might be prudent to omit the |
1486 find out if the shell is Bourne-ish? | 1484 @command{exec /bin/sh} step. But how to find out if the shell is |
1485 Bourne-ish? | |
1487 | 1486 |
1488 @end table | 1487 @end table |
1489 | 1488 |
1490 | 1489 |
1491 @node Auto-save and Backup | 1490 @node Auto-save and Backup |
1628 | 1627 |
1629 This section needs a lot of work! Please help. | 1628 This section needs a lot of work! Please help. |
1630 | 1629 |
1631 @cindex method sshx with Cygwin | 1630 @cindex method sshx with Cygwin |
1632 @cindex sshx method with Cygwin | 1631 @cindex sshx method with Cygwin |
1633 If you use the Cygwin installation of ssh (you have to explicitly select | 1632 The recent Cygwin installation of @command{ssh} works only with a |
1634 it in the installer), then it should work out of the box to just select | 1633 Cygwinized @value{emacsname}. You can check it by typing @kbd{M-x |
1635 @code{sshx} as the connection method. You can find information about | 1634 eshell}, and starting @kbd{ssh test.machine}. The problem is evident |
1636 setting up Cygwin in their FAQ at @uref{http://cygwin.com/faq/}. | 1635 if you see a message like this: |
1636 | |
1637 @example | |
1638 Pseudo-terminal will not be allocated because stdin is not a terminal. | |
1639 @end example | |
1640 | |
1641 Older @command{ssh} versions of Cygwin are told to cooperate with | |
1642 @value{tramp} selecting @option{sshx} as the connection method. You | |
1643 can find information about setting up Cygwin in their FAQ at | |
1644 @uref{http://cygwin.com/faq/}. | |
1637 | 1645 |
1638 @cindex method scpx with Cygwin | 1646 @cindex method scpx with Cygwin |
1639 @cindex scpx method with Cygwin | 1647 @cindex scpx method with Cygwin |
1640 If you wish to use the @code{scpx} connection method, then you might | 1648 If you wish to use the @option{scpx} connection method, then you might |
1641 have the problem that @value{emacsname} calls @code{scp} with a | 1649 have the problem that @value{emacsname} calls @command{scp} with a |
1642 Windows filename such as @code{c:/foo}. The Cygwin version of | 1650 Windows filename such as @code{c:/foo}. The Cygwin version of |
1643 @code{scp} does not know about Windows filenames and interprets this | 1651 @command{scp} does not know about Windows filenames and interprets this |
1644 as a remote filename on the host @code{c}. | 1652 as a remote filename on the host @code{c}. |
1645 | 1653 |
1646 One possible workaround is to write a wrapper script for @code{scp} | 1654 One possible workaround is to write a wrapper script for @option{scp} |
1647 which converts the Windows filename to a Cygwinized filename. | 1655 which converts the Windows filename to a Cygwinized filename. |
1648 | |
1649 I guess that another workaround is to run @value{emacsname} under | |
1650 Cygwin, or to run a Cygwinized @value{emacsname}. | |
1651 | 1656 |
1652 @cindex Cygwin and ssh-agent | 1657 @cindex Cygwin and ssh-agent |
1653 @cindex SSH_AUTH_SOCK and @value{emacsname} on Windows | 1658 @cindex SSH_AUTH_SOCK and @value{emacsname} on Windows |
1654 If you want to use either @code{ssh} based method on Windows, then you | 1659 If you want to use either @option{ssh} based method on Windows, then |
1655 might encounter problems with @code{ssh-agent}. Using this program, | 1660 you might encounter problems with @command{ssh-agent}. Using this |
1656 you can avoid typing the pass-phrase every time you log in. However, | 1661 program, you can avoid typing the pass-phrase every time you log in. |
1657 if you start @value{emacsname} from a desktop shortcut, then the | 1662 However, if you start @value{emacsname} from a desktop shortcut, then |
1658 environment variable @code{SSH_AUTH_SOCK} is not set and so | 1663 the environment variable @code{SSH_AUTH_SOCK} is not set and so |
1659 @value{emacsname} and thus @value{tramp} and thus @code{ssh} and | 1664 @value{emacsname} and thus @value{tramp} and thus @command{ssh} and |
1660 @code{scp} started from @value{tramp} cannot communicate with | 1665 @command{scp} started from @value{tramp} cannot communicate with |
1661 @code{ssh-agent}. It works better to start @value{emacsname} from | 1666 @command{ssh-agent}. It works better to start @value{emacsname} from |
1662 the shell. | 1667 the shell. |
1663 | 1668 |
1664 If anyone knows how to start @code{ssh-agent} under Windows in such a | 1669 If anyone knows how to start @command{ssh-agent} under Windows in such a |
1665 way that desktop shortcuts can profit, please holler. I don't really | 1670 way that desktop shortcuts can profit, please holler. I don't really |
1666 know anything at all about Windows@dots{} | 1671 know anything at all about Windows@dots{} |
1667 | 1672 |
1668 | 1673 |
1669 @node Usage | 1674 @node Usage |
2106 | 2111 |
2107 @item | 2112 @item |
2108 There's this @file{~/.sh_history} file on the remote host which keeps | 2113 There's this @file{~/.sh_history} file on the remote host which keeps |
2109 growing and growing. What's that? | 2114 growing and growing. What's that? |
2110 | 2115 |
2111 Sometimes, @value{tramp} starts @code{ksh} on the remote host for tilde | 2116 Sometimes, @value{tramp} starts @command{ksh} on the remote host for |
2112 expansion. Maybe @code{ksh} saves the history by default. @value{tramp} | 2117 tilde expansion. Maybe @command{ksh} saves the history by default. |
2113 tries to turn off saving the history, but maybe you have to help. For | 2118 @value{tramp} tries to turn off saving the history, but maybe you have |
2114 example, you could put this in your @file{.kshrc}: | 2119 to help. For example, you could put this in your @file{.kshrc}: |
2115 | 2120 |
2116 @example | 2121 @example |
2117 if [ -f $HOME/.sh_history ] ; then | 2122 if [ -f $HOME/.sh_history ] ; then |
2118 /bin/rm $HOME/.sh_history | 2123 /bin/rm $HOME/.sh_history |
2119 fi | 2124 fi |
2314 @chapter Debatable Issues and What Was Decided | 2319 @chapter Debatable Issues and What Was Decided |
2315 | 2320 |
2316 @itemize @bullet | 2321 @itemize @bullet |
2317 @item The uuencode method does not always work. | 2322 @item The uuencode method does not always work. |
2318 | 2323 |
2319 Due to the design of @value{tramp}, the encoding and decoding programs need to | 2324 Due to the design of @value{tramp}, the encoding and decoding programs |
2320 read from stdin and write to stdout. On some systems, @code{uudecode -o | 2325 need to read from stdin and write to stdout. On some systems, |
2321 -} will read stdin and write the decoded file to stdout, on other | 2326 @command{uudecode -o -} will read stdin and write the decoded file to |
2322 systems @code{uudecode -p} does the same thing. But some systems have | 2327 stdout, on other systems @command{uudecode -p} does the same thing. |
2323 uudecode implementations which cannot do this at all---it is not | 2328 But some systems have uudecode implementations which cannot do this at |
2324 possible to call these uudecode implementations with suitable parameters | 2329 all---it is not possible to call these uudecode implementations with |
2325 so that they write to stdout. | 2330 suitable parameters so that they write to stdout. |
2326 | 2331 |
2327 Of course, this could be circumvented: the @code{begin foo 644} line | 2332 Of course, this could be circumvented: the @code{begin foo 644} line |
2328 could be rewritten to put in some temporary file name, then | 2333 could be rewritten to put in some temporary file name, then |
2329 @code{uudecode} could be called, then the temp file could be printed and | 2334 @command{uudecode} could be called, then the temp file could be |
2330 deleted. | 2335 printed and deleted. |
2331 | 2336 |
2332 But I have decided that this is too fragile to reliably work, so on some | 2337 But I have decided that this is too fragile to reliably work, so on some |
2333 systems you'll have to do without the uuencode methods. | 2338 systems you'll have to do without the uuencode methods. |
2334 | 2339 |
2335 @item @value{tramp} does not work on XEmacs 20. | 2340 @item @value{tramp} does not work on XEmacs 20. |
2366 disabled. This can be achieved by setting file permissions @code{000} | 2371 disabled. This can be achieved by setting file permissions @code{000} |
2367 to the files @file{.../xemacs-packages/lisp/tramp/auto-autoloads.el*}. | 2372 to the files @file{.../xemacs-packages/lisp/tramp/auto-autoloads.el*}. |
2368 | 2373 |
2369 In case of unified filenames, all @value{emacsname} download sites | 2374 In case of unified filenames, all @value{emacsname} download sites |
2370 are added to @code{tramp-default-method-alist} with default method | 2375 are added to @code{tramp-default-method-alist} with default method |
2371 @code{ftp} @xref{Default Method}. These settings shouldn't be touched | 2376 @option{ftp} @xref{Default Method}. These settings shouldn't be touched |
2372 for proper working of the @value{emacsname} package system. | 2377 for proper working of the @value{emacsname} package system. |
2373 | 2378 |
2374 The syntax for unified filenames is described in the @value{tramp} manual | 2379 The syntax for unified filenames is described in the @value{tramp} manual |
2375 for @value{emacsothername}. | 2380 for @value{emacsothername}. |
2376 @end ifset | 2381 @end ifset |
2377 | |
2378 @end itemize | 2382 @end itemize |
2379 | 2383 |
2380 @node Concept Index | 2384 @node Concept Index |
2381 @comment node-name, next, previous, up | 2385 @comment node-name, next, previous, up |
2382 @unnumbered Concept Index | 2386 @unnumbered Concept Index |