読者です 読者をやめる 読者になる 読者になる

tramp で ssh がつながらない件

emacs の tramp で ssh をしようとして、以下のメッセージが出てどうしてもつながらない(タイムアウトしてしまう)ので emacs 上では長いこと sshfs を使っていた。ターミナルで ssh, rsync さえ使えればほとんど問題はなかったのだが、ようやくわかったので記しておく。

tramp: Waiting for remote host to process data... 

参考 : https://www.emacswiki.org/emacs/TrampMode

原因はシェルのプロンプトの色付けのための ansi escape sequence が引掛っていたようで

(setf tramp-shell-prompt-pattern "\\(?:^\\|\r\\)[^]#$%>\n]*#?[]#$%>].* *\\(^[\\[[0-9;]*[a-zA-Z] *\\)*")

で解決した。デフォルトの tramp-shell-prompt-pattern の真ん中あたりに .* を加えただけ。bashの場合はこれだけでいけたが、zshの場合はもう少し面倒なようだ。それも参考サイトに解決法が書いてあるので覗いてみる価値はあるのでは。