🗂

Emacs 28.1のtramp/ftpで最初のファイルを開くのに時間がかかる

2022/08/12に公開

事象

Emacs 28.1 にバージョンアップ後、tramp/ftpで最初のファイルを開くのに時間がかかる事象に遭遇している。
dired を開く分には問題無いのだが、diredからファイルを開こうとすると、
下記のようなメッセージが表示され、ちょうど1分くらい待たされる。

Remote command ‘ssh ftp.xxx.jp "cd /path/to/; uncompface"’ ...

ただし、一度ファイルを開いた後、他のファイルを開く場合には待たされることはない。

なお、以前のバージョン(Emacs 27以前)ではファイル処理時たまに待ちになることがあったのが、こちらは待たされることが無く、改善しているようにも見える。

対処方法

対処方法はまだ見つかっていない。

ちょうど Emacs28.1 で tramp-debug-to-file を有効にするとデバッグファイルを所定のディレクトリに書き出すとのことで、やってみた。

なお、describe-variable で tramp-debug-to-file を調べてみると、temporary-file-directory に保存されるということで下記のように保存先はわかったが、特にファイルは出力されていない模様。

tramp-compat-temporary-file-directory is a variable defined in ‘tramp-compat.el’.

Its value is "c:/Users/ユーザ名/AppData/Local/Temp/"

The default value of ‘temporary-file-directory’.

  This variable may be risky if used as a file-local variable.

挙動としてはftpにも関わらずsshのアクセスを試みてタイムアウトしているように見える。

約1分(60秒)待たされるということで、tramp-connection-timeout が default値 60 であることを見つけ、これを 10 にしてみたが症状は改善しない。

また tramp の default-method を ftp にしてみたがこちらも効果無し。

(setq tramp-default-method "ftp")

参考

Discussion