
Eu sei que isso não está diretamente relacionado à programação, mas estou perplexo, e como o Emacs é minha principal ferramenta de programação...
Estou tentando configurar o Tramp para se conectar ao meu host de teste. Estou invocando-o usando /ssh:host:.bashrc
ou /scp:host:.bashrc
mas ambos enfrentam o mesmo problema, mais cedo ou mais tarde.
Eles chegam apenas até a primeira tentativa de enviar um script perl antes que o processo seja interrompido e eu seja forçado a encerrar a sessão ssh de um cliente.
Por exemplo:
tramp: Opening connection for username@host using scp...
tramp: Waiting 60s for local shell to come up...
tramp: Sending command `ssh host -l username -e none || exit'
tramp: Waiting for prompts from remote shell
tramp: Waiting 60s for prompt from remote shell on host host
tramp: Found remote shell prompt on `host'
tramp: Waiting 30s for remote `/bin/sh' to come up...
tramp: Setting up remote shell environment
tramp: Determining coding system
tramp: Waiting 30s for `HISTFILE=$HOME/.tramp_history; HISTSIZE=1; export HISTFILE; export HISTSIZE'
tramp: Waiting 30s for `set +o vi +o emacs'
tramp: Waiting 30s for `unset MAIL MAILCHECK MAILPATH'
tramp: Waiting 30s for `unset CDPATH'
tramp: Setting shell prompt
tramp: Remote `/bin/sh' groks tilde expansion, good
tramp: Finding command to check if file exists
tramp: Finding a suitable `ls' command
tramp: Checking remote `/bin/ls' command for `-n' option
tramp: Testing remote command `/bin/ls' for -n...okay
tramp: Using remote command `/bin/ls' for getting directory listings
tramp: Sending the Perl script `tramp_file_attributes'...
tramp-wait-for-output: Process has died
Este rastreamento está usando o scp
método. O ssh
método é assim:
tramp: Opening connection for username@host using ssh...
tramp: Waiting 60s for local shell to come up...
tramp: Sending command `ssh host -l username -e none || exit'
tramp: Waiting for prompts from remote shell
tramp: Waiting 60s for prompt from remote shell on host host
tramp: Found remote shell prompt on `host'
tramp: Waiting 30s for remote `/bin/sh' to come up...
tramp: Setting up remote shell environment
tramp: Determining coding system
tramp: Waiting 30s for `HISTFILE=$HOME/.tramp_history; HISTSIZE=1; export HISTFILE; export HISTSIZE'
tramp: Waiting 30s for `set +o vi +o emacs'
tramp: Waiting 30s for `unset MAIL MAILCHECK MAILPATH'
tramp: Waiting 30s for `unset CDPATH'
tramp: Setting shell prompt
tramp: Remote `/bin/sh' groks tilde expansion, good
tramp: Finding command to check if file exists
tramp: Finding a suitable `ls' command
tramp: Checking remote `/bin/ls' command for `-n' option
tramp: Testing remote command `/bin/ls' for -n...okay
tramp: Using remote command `/bin/ls' for getting directory listings
tramp: Sending the Perl `mime-encode' implementations.
tramp-wait-for-output: Process has died
Como você pode ver, a última coisa que acontece é tentar enviar o script Perl. O processo está morrendo porque estou matando-o em outro shell, caso contrário o emacs nunca mais voltará disso.
Estou me conectando FreeBSD 6.2-RELEASE-p5
a partir do OSX 10.5.7, se faz alguma diferença, usando Tramp 2.0.58-pre
na compilação Carbon Emacs 22.3.1.
Responder1
Talvez strace no pid do sshd na extremidade receptora (o servidor FreeBSD) mostre onde ele está travando. Você precisará seguir os processos filhos com -f. Se o pid do sshd for 3125:
sudo strace -vfp 3125 -o sshdStraceDump.txt