diff options
| author | Kai Großjohann | 2002-12-26 20:49:52 +0000 |
|---|---|---|
| committer | Kai Großjohann | 2002-12-26 20:49:52 +0000 |
| commit | abc6be8d89ad01d19f7163bf77a517275db87779 (patch) | |
| tree | c9c1082af4ab18c533ca72f5d3fd93c6145965dd | |
| parent | 4007ba5bfb1152d1b77b212bf881be58fe5fe23a (diff) | |
| download | emacs-abc6be8d89ad01d19f7163bf77a517275db87779.tar.gz emacs-abc6be8d89ad01d19f7163bf77a517275db87779.zip | |
(External transfer methods): New method `smb'. From
Michael Albinus.
| -rw-r--r-- | man/ChangeLog | 5 | ||||
| -rw-r--r-- | man/tramp.texi | 128 |
2 files changed, 106 insertions, 27 deletions
diff --git a/man/ChangeLog b/man/ChangeLog index b6c1c09925a..ed5b434badc 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2002-12-26 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de> | ||
| 2 | |||
| 3 | * tramp.texi (External transfer methods): New method `smb'. From | ||
| 4 | Michael Albinus. | ||
| 5 | |||
| 1 | 2002-11-05 Karl Berry <karl@gnu.org> | 6 | 2002-11-05 Karl Berry <karl@gnu.org> |
| 2 | 7 | ||
| 3 | * info.texi (Info-fontify): reorder face list to avoid bad line | 8 | * info.texi (Info-fontify): reorder face list to avoid bad line |
diff --git a/man/tramp.texi b/man/tramp.texi index 45bbcc5c825..93cba2fea17 100644 --- a/man/tramp.texi +++ b/man/tramp.texi | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | @c Makefile, so you should edit the top-level Makefile to change | 12 | @c Makefile, so you should edit the top-level Makefile to change |
| 13 | @c the version number. | 13 | @c the version number. |
| 14 | @macro trampver{} | 14 | @macro trampver{} |
| 15 | 2.0.25 | 15 | 2.0.28 |
| 16 | @end macro | 16 | @end macro |
| 17 | 17 | ||
| 18 | @c Entries for @command{install-info} to use | 18 | @c Entries for @command{install-info} to use |
| @@ -463,7 +463,7 @@ make EMACS=@value{emacs-dir} all | |||
| 463 | 463 | ||
| 464 | @item | 464 | @item |
| 465 | NOTE: If you run into problems running the example @command{make} | 465 | NOTE: If you run into problems running the example @command{make} |
| 466 | command, don't dispare. You can still byte compile the @file{*.el} | 466 | command, don't despair. You can still byte compile the @file{*.el} |
| 467 | files by opening @value{emacs-name} in @command{dired} (@command{C-x | 467 | files by opening @value{emacs-name} in @command{dired} (@command{C-x |
| 468 | d}) mode, at @file{~/@value{emacs-dir}/tramp/lisp}. Mark the lisp files with | 468 | d}) mode, at @file{~/@value{emacs-dir}/tramp/lisp}. Mark the lisp files with |
| 469 | @kbd{m}, then press @kbd{B} to byte compile your selections. | 469 | @kbd{m}, then press @kbd{B} to byte compile your selections. |
| @@ -666,7 +666,7 @@ access to external commands to perform that task. | |||
| 666 | will be used. The search path can be customized, see @ref{Remote | 666 | will be used. The search path can be customized, see @ref{Remote |
| 667 | Programs}. | 667 | Programs}. |
| 668 | 668 | ||
| 669 | If both commands are'nt available on the remote host, @tramp{} | 669 | If both commands aren't available on the remote host, @tramp{} |
| 670 | transfers a small piece of Perl code to the remote host, and tries to | 670 | transfers a small piece of Perl code to the remote host, and tries to |
| 671 | apply it for encoding and decoding. | 671 | apply it for encoding and decoding. |
| 672 | 672 | ||
| @@ -752,7 +752,7 @@ with. | |||
| 752 | Note that this procedure does not eliminate questions asked by | 752 | Note that this procedure does not eliminate questions asked by |
| 753 | @command{ssh} itself. For example, @command{ssh} might ask ``Are you | 753 | @command{ssh} itself. For example, @command{ssh} might ask ``Are you |
| 754 | sure you want to continue connecting?'' if the host key of the remote | 754 | sure you want to continue connecting?'' if the host key of the remote |
| 755 | host is not known. Tramp does not know how to deal with such a | 755 | host is not known. @tramp{} does not know how to deal with such a |
| 756 | question (yet), therefore you will need to make sure that you can log | 756 | question (yet), therefore you will need to make sure that you can log |
| 757 | in without such questions. | 757 | in without such questions. |
| 758 | 758 | ||
| @@ -786,8 +786,8 @@ remote host. | |||
| 786 | CCC: Do we have to connect to the remote host once from the command | 786 | CCC: Do we have to connect to the remote host once from the command |
| 787 | line to accept the SSH key? Maybe this can be made automatic? | 787 | line to accept the SSH key? Maybe this can be made automatic? |
| 788 | 788 | ||
| 789 | CCC: Does @command{plink} support the @samp{-p} option? Tramp | 789 | CCC: Does @command{plink} support the @samp{-p} option? @tramp{} will |
| 790 | will support that, anyway. | 790 | support that, anyway. |
| 791 | 791 | ||
| 792 | @end table | 792 | @end table |
| 793 | 793 | ||
| @@ -865,7 +865,7 @@ know what these are, you do not need these options. | |||
| 865 | 865 | ||
| 866 | All the @command{ssh} based methods support the kludgy @samp{-p} | 866 | All the @command{ssh} based methods support the kludgy @samp{-p} |
| 867 | feature where you can specify a port number to connect to in the host | 867 | feature where you can specify a port number to connect to in the host |
| 868 | name. For example, the host name @file{host#42} tells Tramp to | 868 | name. For example, the host name @file{host#42} tells @tramp{} to |
| 869 | specify @samp{-p 42} in the argument list for @command{ssh}. | 869 | specify @samp{-p 42} in the argument list for @command{ssh}. |
| 870 | 870 | ||
| 871 | 871 | ||
| @@ -885,7 +885,7 @@ the file exists only on one side of the connection. | |||
| 885 | 885 | ||
| 886 | The @command{rsync} based method may be considerably faster than the | 886 | The @command{rsync} based method may be considerably faster than the |
| 887 | @command{rcp} based methods when writing to the remote system. Reading | 887 | @command{rcp} based methods when writing to the remote system. Reading |
| 888 | files to the local machine is no faster than with a direct copy. | 888 | files to the local machine is no faster than with a direct copy. |
| 889 | 889 | ||
| 890 | This method supports the @samp{-p} hack. | 890 | This method supports the @samp{-p} hack. |
| 891 | 891 | ||
| @@ -962,10 +962,53 @@ anyway. | |||
| 962 | @cindex method ftp | 962 | @cindex method ftp |
| 963 | @cindex ftp method | 963 | @cindex ftp method |
| 964 | 964 | ||
| 965 | This is not a natural @tramp{} method. Instead of, it forwards all | 965 | This is not a native @tramp{} method. Instead of, it forwards all |
| 966 | requests to @value{ftp-package-name}. | 966 | requests to @value{ftp-package-name}. |
| 967 | @end ifset | 967 | @end ifset |
| 968 | 968 | ||
| 969 | |||
| 970 | @item @option{smb} --- @command{smbclient} | ||
| 971 | @cindex method smb | ||
| 972 | @cindex smb method | ||
| 973 | |||
| 974 | This is another not natural @tramp{} method. It uses the | ||
| 975 | @command{smbclient} command on different Unices in order to connect to | ||
| 976 | an SMB server. An SMB server might be a Samba (or CIFS) server on | ||
| 977 | another UNIX host or, more interesting, a host running MS Windows. So | ||
| 978 | far, it is tested towards MS Windows NT, MS Windows 2000, and MS | ||
| 979 | Windows XP. | ||
| 980 | |||
| 981 | The first directory in the path must be a share name on the remote | ||
| 982 | host. Remember, that the @code{$} character in which default shares | ||
| 983 | usually end, must be written @code{$$} due to environment variable | ||
| 984 | substitution in file names. If no share name is given (i.e. remote | ||
| 985 | directory @code{/}), all available shares are listed. | ||
| 986 | |||
| 987 | Since authorization is done on share level, you will be prompted | ||
| 988 | always for a password if you access another share on the same host. | ||
| 989 | Due to security reasons, the password is not cached. | ||
| 990 | |||
| 991 | MS Windows uses for authorization both a user name and a domain name. | ||
| 992 | Because of this, the @tramp{} syntax has been extended: you can | ||
| 993 | specify a user name which looks like @code{user%domain} (the real user | ||
| 994 | name, then a percent sign, then the domain name). So, to connect to | ||
| 995 | the machine @code{melancholia} as user @code{daniel} of the domain | ||
| 996 | @code{BIZARRE}, and edit @file{.emacs} in the home directory (share | ||
| 997 | @code{daniel$}) I would specify the filename | ||
| 998 | @file{@value{tramp-prefix}smb@value{tramp-postfix-single-hop}daniel%BIZARRE@@melancholia@value{tramp-postfix}/daniel$$/.emacs}. | ||
| 999 | |||
| 1000 | The domain name as well as the user name are optional. If no user | ||
| 1001 | name is specified at all, the anonymous user (without password | ||
| 1002 | prompting) is assumed. This is different from all other @tramp{} | ||
| 1003 | methods, where in such a case the local user name is taken. | ||
| 1004 | |||
| 1005 | The @option{smb} method supports the @samp{-p} hack. | ||
| 1006 | |||
| 1007 | @strong{Please note:} If Emacs runs locally under MS Windows, this | ||
| 1008 | method isn't available. Instead of, you can use UNC file names like | ||
| 1009 | @file{//melancholia/daniel$$/.emacs}. The only disadvantage is that | ||
| 1010 | there's no possiblity to specify another user name. | ||
| 1011 | |||
| 969 | @end table | 1012 | @end table |
| 970 | 1013 | ||
| 971 | @node Multi-hop Methods | 1014 | @node Multi-hop Methods |
| @@ -1134,7 +1177,7 @@ variable, accessible with @kbd{C-h v tramp-methods @key{RET}}. | |||
| 1134 | @vindex tramp-completion-function-alist | 1177 | @vindex tramp-completion-function-alist |
| 1135 | 1178 | ||
| 1136 | The variable @code{tramp-completion-function-alist} is intended to | 1179 | The variable @code{tramp-completion-function-alist} is intended to |
| 1137 | customize, which files are taken into account for user and host name | 1180 | customize which files are taken into account for user and host name |
| 1138 | completion (@pxref{Filename completion}). For every method, it keeps | 1181 | completion (@pxref{Filename completion}). For every method, it keeps |
| 1139 | a set of configuration files, accompanied by a Lisp function able to | 1182 | a set of configuration files, accompanied by a Lisp function able to |
| 1140 | parse that file. Entries in @code{tramp-completion-function-alist} | 1183 | parse that file. Entries in @code{tramp-completion-function-alist} |
| @@ -1293,7 +1336,7 @@ The package, therefore, pursues a combined approach. It tries to figure | |||
| 1293 | out some of the more common setups, and only requires you to avoid | 1336 | out some of the more common setups, and only requires you to avoid |
| 1294 | really exotic stuff. For example, it looks through a list of | 1337 | really exotic stuff. For example, it looks through a list of |
| 1295 | directories to find some programs on the remote host. And also, it | 1338 | directories to find some programs on the remote host. And also, it |
| 1296 | knows that it is not obvious how to check whether a file exist, and | 1339 | knows that it is not obvious how to check whether a file exists, and |
| 1297 | therefore it tries different possibilities. (On some hosts and shells, | 1340 | therefore it tries different possibilities. (On some hosts and shells, |
| 1298 | the command @code{test -e} does the trick, on some hosts the shell | 1341 | the command @code{test -e} does the trick, on some hosts the shell |
| 1299 | builtin doesn't work but the program @code{/usr/bin/test -e} or | 1342 | builtin doesn't work but the program @code{/usr/bin/test -e} or |
| @@ -1313,12 +1356,12 @@ shell. The strategy here is to wait for the shell prompt. In order to | |||
| 1313 | recognize the shell prompt, the variable @code{shell-prompt-pattern} has | 1356 | recognize the shell prompt, the variable @code{shell-prompt-pattern} has |
| 1314 | to be set correctly to recognize the shell prompt on the remote host. | 1357 | to be set correctly to recognize the shell prompt on the remote host. |
| 1315 | 1358 | ||
| 1316 | Note that Tramp requires the match for @code{shell-prompt-pattern} to | 1359 | Note that @tramp{} requires the match for @code{shell-prompt-pattern} |
| 1317 | be at the end of the buffer. Many people have something like the | 1360 | to be at the end of the buffer. Many people have something like the |
| 1318 | following as the value for the variable: @code{"^[^>$][>$] *"}. Now | 1361 | following as the value for the variable: @code{"^[^>$][>$] *"}. Now |
| 1319 | suppose your shell prompt is @code{a <b> c $ }. In this case, Tramp | 1362 | suppose your shell prompt is @code{a <b> c $ }. In this case, |
| 1320 | recognizes the @code{>} character as the end of the prompt, but it is | 1363 | @tramp{} recognizes the @code{>} character as the end of the prompt, |
| 1321 | not at the end of the buffer. | 1364 | but it is not at the end of the buffer. |
| 1322 | 1365 | ||
| 1323 | @item @var{tramp-shell-prompt-pattern} | 1366 | @item @var{tramp-shell-prompt-pattern} |
| 1324 | @vindex tramp-shell-prompt-pattern | 1367 | @vindex tramp-shell-prompt-pattern |
| @@ -1363,13 +1406,44 @@ the variables @code{tramp-actions-before-shell} and | |||
| 1363 | 1406 | ||
| 1364 | This section needs a lot of work! Please help. | 1407 | This section needs a lot of work! Please help. |
| 1365 | 1408 | ||
| 1366 | @cindex method smx with Cygwin | 1409 | @cindex method sshx with Cygwin |
| 1367 | @cindex smx method with Cygwin | 1410 | @cindex sshx method with Cygwin |
| 1368 | If you use the Cygwin installation of ssh (you have to explicitly select | 1411 | If you use the Cygwin installation of ssh (you have to explicitly select |
| 1369 | it in the installer), then it should work out of the box to just select | 1412 | it in the installer), then it should work out of the box to just select |
| 1370 | @code{smx} as the connection method. You can find information about | 1413 | @code{sshx} as the connection method. You can find information about |
| 1371 | setting up Cygwin in their FAQ at @uref{http://cygwin.com/faq/}. | 1414 | setting up Cygwin in their FAQ at @uref{http://cygwin.com/faq/}. |
| 1372 | 1415 | ||
| 1416 | @cindex method scpx with Cygwin | ||
| 1417 | @cindex scpx method with Cygwin | ||
| 1418 | If you wish to use the @code{scpx} connection method, then you might | ||
| 1419 | have the problem that Emacs calls @code{scp} with a Windows filename | ||
| 1420 | such as @code{c:/foo}. The Cygwin version of @code{scp} does not know | ||
| 1421 | about Windows filenames and interprets this as a remote filename on the | ||
| 1422 | host @code{c}. | ||
| 1423 | |||
| 1424 | One possible workaround is to write a wrapper script for @code{scp} | ||
| 1425 | which converts the Windows filename to a Cygwinized filename. | ||
| 1426 | |||
| 1427 | I guess that another workaround is to run Emacs under Cygwin, or to run | ||
| 1428 | a Cygwinized Emacs. | ||
| 1429 | |||
| 1430 | @cindex Cygwin and ssh-agent | ||
| 1431 | @cindex SSH_AUTH_SOCK and Emacs on Windows | ||
| 1432 | If you want to use either @code{ssh} based method on Windows, then you | ||
| 1433 | might encounter problems with @code{ssh-agent}. Using this program, | ||
| 1434 | you can avoid typing the pass-phrase every time you log in (and the | ||
| 1435 | @code{scpx} method more or less requires you to use @code{ssh-agent} | ||
| 1436 | because it does not allow you to type a password or pass-phrase). | ||
| 1437 | However, if you start Emacs from a desktop shortcut, then the | ||
| 1438 | environment variable @code{SSH_AUTH_SOCK} is not set and so Emacs and | ||
| 1439 | thus @tramp{} and thus @code{ssh} and @code{scp} started from @tramp{} | ||
| 1440 | cannot communicate with @code{ssh-agent}. It works better to start | ||
| 1441 | Emacs from the shell. | ||
| 1442 | |||
| 1443 | If anyone knows how to start @code{ssh-agent} under Windows in such a | ||
| 1444 | way that desktop shortcuts can profit, please holler. I don't really | ||
| 1445 | know anything at all about Windows@dots{} | ||
| 1446 | |||
| 1373 | 1447 | ||
| 1374 | @node Usage | 1448 | @node Usage |
| 1375 | @chapter Using @tramp | 1449 | @chapter Using @tramp |
| @@ -1457,7 +1531,7 @@ It is also possible to specify other file transfer methods | |||
| 1457 | This is done by putting the method before the user and host name, as | 1531 | This is done by putting the method before the user and host name, as |
| 1458 | in | 1532 | in |
| 1459 | @file{@value{tramp-prefix}@var{method}@value{tramp-postfix-single-hop}} | 1533 | @file{@value{tramp-prefix}@var{method}@value{tramp-postfix-single-hop}} |
| 1460 | (note the trailing colon). | 1534 | (Note the trailing colon). |
| 1461 | @end ifset | 1535 | @end ifset |
| 1462 | @ifset xemacs | 1536 | @ifset xemacs |
| 1463 | This is done by replacing the initial | 1537 | This is done by replacing the initial |
| @@ -1500,7 +1574,7 @@ specification. The second part is | |||
| 1500 | and specifies the hops. The final part is @file{/path/to.file} and | 1574 | and specifies the hops. The final part is @file{/path/to.file} and |
| 1501 | specifies the file name on the remote host. | 1575 | specifies the file name on the remote host. |
| 1502 | 1576 | ||
| 1503 | The first part and the final part should be clear. @ref{Multi-hop | 1577 | The first part and the final part should be clear. See @ref{Multi-hop |
| 1504 | Methods}, for a list of alternatives for the method specification. | 1578 | Methods}, for a list of alternatives for the method specification. |
| 1505 | 1579 | ||
| 1506 | The second part can be subdivided again into components, so-called | 1580 | The second part can be subdivided again into components, so-called |
| @@ -1656,8 +1730,8 @@ The package was intended to work on Unix, and it really expects a | |||
| 1656 | Unix-like system on the remote end, but some people seemed to have some | 1730 | Unix-like system on the remote end, but some people seemed to have some |
| 1657 | success getting it to work on NT Emacs. | 1731 | success getting it to work on NT Emacs. |
| 1658 | 1732 | ||
| 1659 | There are some informations on Tramp on NT at the following URL; many | 1733 | There is some informations on @tramp{} on NT at the following URL; |
| 1660 | thanks to Joe Stoy for providing the information: | 1734 | many thanks to Joe Stoy for providing the information: |
| 1661 | @uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/} | 1735 | @uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/} |
| 1662 | 1736 | ||
| 1663 | The above mostly contains patches to old ssh versions; Tom Roche has a | 1737 | The above mostly contains patches to old ssh versions; Tom Roche has a |
| @@ -1708,7 +1782,7 @@ File name completion does not work in large directories | |||
| 1708 | 1782 | ||
| 1709 | @tramp{} uses globbing for some operations. (Globbing means to use the | 1783 | @tramp{} uses globbing for some operations. (Globbing means to use the |
| 1710 | shell to expand wildcards such as `*.c'.) This might create long | 1784 | shell to expand wildcards such as `*.c'.) This might create long |
| 1711 | command lines, especially in directories with many files. Some shell | 1785 | command lines, especially in directories with many files. Some shells |
| 1712 | choke on long command lines, or don't cope well with the globbing | 1786 | choke on long command lines, or don't cope well with the globbing |
| 1713 | itself. | 1787 | itself. |
| 1714 | 1788 | ||
| @@ -1982,9 +2056,9 @@ Ange-FTP and @tramp{} so that users don't have to learn a new | |||
| 1982 | syntax. It is sufficient to learn some extensions to the old syntax. | 2056 | syntax. It is sufficient to learn some extensions to the old syntax. |
| 1983 | 2057 | ||
| 1984 | For the XEmacs maintainers, the problems caused from using a unified | 2058 | For the XEmacs maintainers, the problems caused from using a unified |
| 1985 | filename syntax are greater than the gains. The XEmacs package | 2059 | filename syntax are greater than the gains. The XEmacs package system |
| 1986 | system uses EFS for downloading new packages. So, obviously, EFS has | 2060 | uses EFS for downloading new packages. So, obviously, EFS has to be |
| 1987 | to be installed from the start. If the filenames were unified, Tramp | 2061 | installed from the start. If the filenames were unified, @tramp{} |
| 1988 | would have to be installed from the start, too. | 2062 | would have to be installed from the start, too. |
| 1989 | 2063 | ||
| 1990 | @end itemize | 2064 | @end itemize |