I'm using tramp with Emacs on Windows Xp. I want to connect to a linux
box via ssh using putty (0.53b). The ssh server is running OpenSSH_3.8p1
Debian 1:3.8p1-2. The ssh/sshx methods using the cygwin OpenSSH binaries
didn't work at all out-of-the-box, but I didn't dig into the problem,
instead I looked at putty/plink. Using plink the connection is opened,
the password is prompted, but after `stty -inlcr -echo kill '^U'` it
doesn't recognize the shell prompt any more, and after 30 seconds it
gives up. The reason is that tramp-send-command-internal uses
tramp-rsh-end-of-line (per default "\n") as line terminator, which seems
to expand to CRLF on windows. The server misinterprets this as 2 line
breaks, which results in 2 command prompts in the new stty mode: "$ $ ".
This is the case after every command given, since the wrong line
terminator is always used.

I fixed this by setting tramp-rsh-end-of-line to \r in my .emacs file,
everything works fine thereafter. The documentation to that variable
says it normally doesn't need to be changed, and a notification is
requested otherwise.
I guess it really is a windows specific problem that \n expands to 2
characters. Another way to fix it would be to tell stty to recognize
CRLF as one line-break instead of two, although I don't know how to do
this properly.

Below is the tramp debugging output and the tramp state. Please CC: me
on this thread, since I'm not subscribed to your mailing list.

Cheers,
Greek0

----debugging output start----
# Opening connection for [EMAIL PROTECTED] using plink...
# Waiting for prompts from remote shell
# Waiting 60s for prompt from remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):# Sending
password
# Looking for regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *\(\[[0-9;]*[a-zA-Z] *\)*" from remote shell
# Looking for regexp "^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received
signal [0-9]+\).*" from remote shell
# Looking for regexp "\(Are you sure you want to continue connecting
(yes/no)\?\)\s-*" from remote shell
# Looking for regexp "\(Store key in cache\? (y/n)\)\s-*" from remote
shell
# Looking for regexp "\(TERM = (.*)\|Terminal type\? \[.*\]\)\s-*" from
remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):# Looking for
regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *\(\[[0-9;]*[a-zA-Z] *\)*" from remote shell
# Looking for regexp "^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received
signal [0-9]+\).*" from remote shell
# Looking for regexp "\(Are you sure you want to continue connecting
(yes/no)\?\)\s-*" from remote shell
# Looking for regexp "\(Store key in cache\? (y/n)\)\s-*" from remote
shell
# Looking for regexp "\(TERM = (.*)\|Terminal type\? \[.*\]\)\s-*" from
remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):# Looking for
regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *\(\[[0-9;]*[a-zA-Z] *\)*" from remote shell
# Looking for regexp "^.*\(Connection \(?:\(?:clo\|refu\)sed\)\|Host key
verification failed\.\|Login \(?:[Ii]ncorrect\)\|Name or service not
known\|\(?:Permission denied\|Sorry, try again\)\.\).*\|^.*\(Received
signal [0-9]+\).*" from remote shell
# Looking for regexp "\(Are you sure you want to continue connecting
(yes/no)\?\)\s-*" from remote shell
# Looking for regexp "\(Store key in cache\? (y/n)\)\s-*" from remote
shell
# Looking for regexp "\(TERM = (.*)\|Terminal type\? \[.*\]\)\s-*" from
remote shell
# Looking for regexp "^.*\([pP]assword\|passphrase.*\):# Looking for
regexp ".*ogin: *" from remote shell
# Looking for regexp "^[^#$%>
]*[#$%>] *" from remote shell
# Found remote shell prompt.
# Initializing remote shell
# Sending command to remote shell: unset correct
$ unset correct
unset correct
[EMAIL PROTECTED]:~$ 
[EMAIL PROTECTED]:~$ # Sending command to remote shell: unset autocorrect
$ unset autocorrect
unset autocorrect
[EMAIL PROTECTED]:~$ 
[EMAIL PROTECTED]:~$ $ exec env 'ENV=' 'PS1=$ ' /bin/sh
# Waiting 30s for remote `/bin/sh' to come up...
exec env 'ENV=' 'PS1=$ ' /bin/sh
$ 
$ exec env 'ENV=' 'PS1=$ ' /bin/sh
$ 
$ # Setting up remote shell environment
$ stty -inlcr -echo kill '^U'
stty -inlcr -echo kill '^U'
$ $ [[Regexp `\(^[^#$%>
]*[#$%>] *\|^[^#$%>
]*[#$%>] *\(\[[0-9;]*[a-zA-Z] *\)*\)\'' not found in 30 secs]]
----debugging output end----

Emacs  : GNU Emacs 21.3.1 (i386-mingw-nt5.1.2600)
 of 2004-03-10 on NYAUMO
Package: tramp (2.0.36)

current state:
==============
(setq
 tramp-ls-command nil
 tramp-test-groks-nt nil
 tramp-file-exists-command nil
 tramp-current-multi-method nil
 tramp-current-method nil
 tramp-current-user nil
 tramp-current-host nil
 tramp-auto-save-directory nil
 tramp-default-method "plink"
 tramp-rsh-end-of-line "\n"
 tramp-default-password-end-of-line "\n"
 tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin"
"/usr/ccs/bin" "/local/bin" "/local/freeware/bin"
                                         "/local/gnu/bin" "/usr/freeware/bin" 
"/usr/pkg/bin"
"/usr/contrib/bin")
 tramp-login-prompt-regexp ".*ogin: *"
 tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\):
tramp-wrong-passwd-regexp "^.*\\(Connection
\\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login
\\(?:[Ii]ncorrect\\)\\|Name or service not known\\|\\(?:Permission
denied\\|Sorry, try again\\)\\.\\).*\\|^.*\\(Received signal
[0-9]+\\).*"
 tramp-yesno-prompt-regexp "\\(Are you sure you want to continue
connecting (yes/no)\\?\\)\\s-*"
 tramp-yn-prompt-regexp "\\(Store key in cache\\? (y/n)\\)\\s-*"
 tramp-temp-name-prefix "tramp."
 tramp-file-name-structure '("^/\\(\\([a-zA-Z_0-9-]+\\):\\)?\\(\\([^:@/ 
]*\\)@\\)?\\([a-zA-Z0-9_.#-]*\\):\\(.*$\\)" 2
                                                         4 5 6)
 tramp-file-name-regexp "\\`/[^/:]+:"
 tramp-multi-file-name-structure
'("^/\\(\\([a-zA-Z_0-9-]+\\)\\)?\\(\\(:%s\\)+\\)?:\\(.*$\\)" 2 3 -1)
 tramp-multi-file-name-hop-structure '("\\([a-zA-Z_0-9-]+\\):\\([^:@/ 
]*\\)@\\([a-zA-Z0-9_.#-]*\\)" 1 2 3)
 tramp-multi-methods '("multi" "multiu")
 tramp-multi-connection-function-alist '(("telnet"
tramp-multi-connect-telnet "telnet %h%n")
                                                                                 ("rsh"
tramp-multi-connect-rlogin "rsh %h -l %u%n")
                                                                                 
("remsh"
tramp-multi-connect-rlogin "remsh %h -l %u%n")
                                                                                 ("ssh"
tramp-multi-connect-rlogin "ssh %h -l %u%n")
                                                                                 ("su" 
tramp-multi-connect-su
"su - %u%n")
                                                                                 
("sudo" tramp-multi-connect-su
"sudo -u %u -s -p Password:%n"))
 tramp-methods '(("ftp")
                                 ("rcp" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "rsh")
                                  (tramp-copy-program "rcp") (tramp-remote-sh 
"/bin/sh")
(tramp-login-args nil) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 ("scp" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program "scp") (tramp-remote-sh 
"/bin/sh")
(tramp-login-args ("-e" "none"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 ("scp1" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program "scp") (tramp-remote-sh 
"/bin/sh")
(tramp-login-args ("-1" "-e" "none"))
                                  (tramp-copy-args ("-1")) (tramp-copy-keep-date-arg
"-p") (tramp-password-end-of-line nil))
                                 ("scp2" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program "scp") (tramp-remote-sh 
"/bin/sh")
(tramp-login-args ("-2" "-e" "none"))
                                  (tramp-copy-args ("-2")) (tramp-copy-keep-date-arg
"-p") (tramp-password-end-of-line nil))
                                 ("scp1_old" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh1")
                                  (tramp-copy-program "scp1") (tramp-remote-sh
"/bin/sh") (tramp-login-args ("-e" "none"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 ("scp2_old" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh2")
                                  (tramp-copy-program "scp2") (tramp-remote-sh
"/bin/sh") (tramp-login-args ("-e" "none"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 ("rsync" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program "rsync") (tramp-remote-sh
"/bin/sh") (tramp-login-args ("-e" "none"))
                                  (tramp-copy-args ("-e" "ssh"))
(tramp-copy-keep-date-arg "-t") (tramp-password-end-of-line nil))
                                 ("remcp" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "remsh")
                                  (tramp-copy-program "rcp") (tramp-remote-sh 
"/bin/sh")
(tramp-login-args nil) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 ("rsh" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "rsh")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args nil) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("ssh" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-e" "none"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("ssh1" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-1" "-e" "none"))
                                  (tramp-copy-args ("-1")) (tramp-copy-keep-date-arg
nil) (tramp-password-end-of-line nil))
                                 ("ssh2" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-2" "-e" "none"))
                                  (tramp-copy-args ("-2")) (tramp-copy-keep-date-arg
nil) (tramp-password-end-of-line nil))
                                 ("ssh1_old" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh1")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-e" "none"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("ssh2_old" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh2")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-e" "none"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("remsh" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "remsh")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args nil) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("telnet" (tramp-connection-function
tramp-open-connection-telnet) (tramp-login-program "telnet")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args nil) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("su" (tramp-connection-function
tramp-open-connection-su) (tramp-login-program "su")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-" "%u")) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("sudo" (tramp-connection-function
tramp-open-connection-su) (tramp-login-program "sudo")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                                  (tramp-login-args ("-u" "%u" "-s" "-p" "Password:"))
(tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("multi" (tramp-connection-function
tramp-open-connection-multi) (tramp-login-program nil)
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args nil) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("scpx" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program "scp") (tramp-remote-sh 
"/bin/sh")
                                  (tramp-login-args ("-e" "none" "-t" "-t" "/bin/sh"))
(tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 ("sshx" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "ssh")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                                  (tramp-login-args ("-e" "none" "-t" "-t" "/bin/sh"))
(tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("krlogin" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "krlogin")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-x")) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line nil))
                                 ("plink" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "plink")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-ssh")) (tramp-copy-args nil)
                                  (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line "xy"))
                                 ("plink1" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "plink")
                                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
(tramp-login-args ("-1" "-ssh"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
(tramp-password-end-of-line "xy"))
                                 ("pscp" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "plink")
                                  (tramp-copy-program "pscp") (tramp-remote-sh
"/bin/sh") (tramp-login-args ("-ssh"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line "xy"))
                                 ("fcp" (tramp-connection-function
tramp-open-connection-rsh) (tramp-login-program "fsh")
                                  (tramp-copy-program "fcp") (tramp-remote-sh "/bin/sh
-i") (tramp-login-args ("sh" "-i"))
                                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
(tramp-password-end-of-line nil))
                                 )
 tramp-end-of-output "///7f2dd0f0dffa0d80e662fb9cd6ae75ff"
 tramp-coding-commands '(("mimencode -b" "mimencode -u -b"
base64-encode-region base64-decode-region)
                                                 ("mmencode -b" "mmencode -u -b"
base64-encode-region base64-decode-region)
                                                 ("recode data..base64" "recode 
base64..data"
base64-encode-region base64-decode-region)
                                                 ("uuencode xxx" "uudecode -o -"
tramp-uuencode-region uudecode-decode-region)
                                                 ("uuencode xxx" "uudecode -p"
tramp-uuencode-region uudecode-decode-region)
                                                 ("uuencode xxx" "tramp_uudecode"
tramp-uuencode-region uudecode-decode-region)
                                                 ("tramp_encode_with_module"
"tramp_decode_with_module" base64-encode-region base64-decode-region)
                                                 ("tramp_encode" "tramp_decode"
base64-encode-region base64-decode-region))
 tramp-actions-before-shell '((tramp-password-prompt-regexp
tramp-action-password)
                                                          (tramp-login-prompt-regexp
tramp-action-login) (shell-prompt-pattern tramp-action-succeed)
                                                          (tramp-shell-prompt-pattern
tramp-action-succeed)
                                                          (tramp-wrong-passwd-regexp
tramp-action-permission-denied)
                                                          (tramp-yesno-prompt-regexp
tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn)
                                                          (tramp-terminal-prompt-regexp
tramp-action-terminal))
 tramp-multi-actions '((tramp-password-prompt-regexp
tramp-multi-action-password)
                                           (tramp-login-prompt-regexp 
tramp-multi-action-login)
                                           (shell-prompt-pattern 
tramp-multi-action-succeed)
                                           (tramp-shell-prompt-pattern
tramp-multi-action-succeed)
                                           (tramp-wrong-passwd-regexp
tramp-multi-action-permission-denied))
 tramp-terminal-type "dumb"
 tramp-shell-prompt-pattern "^[^#$%>\n]*[#$%>] *\\(\\[[0-9;]*[a-zA-Z]
*\\)*"
 tramp-chunksize nil
 shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
 backup-by-copying nil
 backup-by-copying-when-linked nil
 backup-by-copying-when-mismatch nil
 backup-by-copying-when-privileged-mismatch 200
 file-name-handler-alist
'(("\\.Z\\(~\\|\\.~[0-9]+~\\)?\\'\\|\\.bz2\\'\\|\\.tgz\\'\\|\\.g?z\\(~\
\|\\.~[0-9]+~\\)?\\'" .
                                                        jka-compr-handler)
                                                   ("^/[^/]*$" .
tramp-completion-file-name-handler) ("\\`/[^/:]+:" .
tramp-file-name-handler)
                                                   ("\\`/:" . file-name-non-special))
 )



_______________________________________________
Tramp-devel mailing list
[EMAIL PROTECTED]
http://lists.nongnu.org/mailman/listinfo/tramp-devel

Reply via email to