2016-06-01 3 views
1

최근에 새로운 FreeBSD 시스템을 설정 했으므로 Emacs Tramp를 통해 연결할 수 없습니다. "Tramp : 'broken.example.com'에 원격 쉘 프롬프트가 있습니다"라는 메시지가 계속 표시됩니다. (호스트 이름이 익명으로 변경됨)파일 불러 오기 중에 '발견 된 원격 쉘 프롬프트'에서 Emacs Tramp가 멈 춥니 다

나는 제안한대로 디버깅을 10으로 올렸으며,이 명령에서 멈추고 있습니다.

stty icanon erase ^H cols 32767 

이 명령은 루프에서 계속 실행됩니다. 전체 로그는 broken.example.com의 http://depht.com/temp/emacs-tramp-broken.example.com.txt

'stty -a'에서 다운로드 할 수 있습니다.

speed 9600 baud; 65 rows; 32767 columns; 
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl 
    -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo 
    -extproc 
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -ignbrk 
    brkint -inpck -ignpar -parmrk 
oflags: opost onlcr -ocrnl tab0 -onocr -onlret 
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow 
    -dtrflow -mdmbuf 
cchars: discard = ^O; dsusp = ^@; eof = ^D; eol = <undef>; 
    eol2 = <undef>; erase = ^H; erase2 = ^T; intr = ^C; kill = ^U; 
    lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q; 
    status = ^T; stop = ^S; susp = ^Z; time = 0; werase = ^W; 

나는이 같은 이맥스 부정 기선 클라이언트가 working.example.com, 잘 작동 약간 오래된 오픈 BSD 시스템을 가지고있다. 이 컴퓨터에 대한 연결 로그는 작업의 사람들을 모방 내가 broken.example.com에의 stty 설정으로 엉망 working.example.com

speed 9600 baud; 65 rows; 166 columns; 
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl 
     -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo 
     -extproc -xcase 
iflags: -istrip icrnl -inlcr -igncr -iuclc ixon -ixoff ixany imaxbel 
     -ignbrk brkint -inpck -ignpar -parmrk 
oflags: opost onlcr -ocrnl -onocr -onlret -olcuc oxtabs -onoeot 
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf 
cchars: discard = ^O; dsusp = ^@; eof = ^D; eol = <undef>; 
     eol2 = <undef>; erase = ^H; intr = ^C; kill = ^U; lnext = ^V; 
     min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T; 
     stop = ^S; susp = ^Z; time = 0; werase = ^W; 

에서 http://depht.com/temp/emacs-tramp-working.example.com.txt

'의 stty -a'에있다 .example.com.하지만 성공하지 못했습니다. 나는 모든 stty 설정을 정말로 이해하지 못한다. 가능한 공격 경로는 'stty pendin'입니다. stty man 페이지는 icanon과 관련이 있습니다. 그러나 broken.example.com에서 -pendin을 설정할 수 없습니다. 로그인 스크립트 나 로그인 후 수동으로 실행되는 'stty -pendinin'은 '-pendin'이 설정되지 않습니다.

이 시점에서 나는 완전히 잃어 버렸고 모든 도움은 매우 감사 할 것입니다. 미리 감사드립니다 !!

답변

2

추적 파일을 읽는 데는 몇 가지 문제가 있습니다.

  1. 당신은

    ControlPath "/var/folders/y8/zyh_szbx38s64w6_3_6nlhtm0000gp/T/[email protected]:1345.RPyknjfNbHeeMjoQ" too long for Unix domain socket 
    

가능성이 메시지를 얻을, 로컬 시스템은 OS X를 실행하면 오류 http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19702 갇혀했습니다. 이것은 Emacs 24.5에서 이미 해결되었습니다 (24.4를 실행해야합니다). Tramp는 이것으로 인해 방해받지 않는 것 같습니다.

  1. Tramp는 원격으로 stty icanon erase ^H cols 32767 명령을 보냅니다. 명령 자체는 문제가 아니지만 원격 호스트가 Tramp가 이해하지 못하는 이스케이프 시퀀스를 반환합니다. Tramp가 /bin/sh을 호출 할 때 원격으로 실행되는 쉘은 무엇입니까? 그것이 무엇이든간에 프롬프트 설정, 화면 정리 또는 그 밖의 무엇이든간에 그 셸에서 장식을 비활성화해야합니다. 제안 방법에 대해서는 Tramp 매뉴얼을 참조하십시오. ~/.profile의 평가 또는 쉘이 초기화 중에 읽은 값을 임시로 비활성화하십시오.
관련 문제