題 Emacs中的慢速TRAMP模式


如何更快地使Emacs TRAMP模式?

我有 ControlMaster auto 在我的SSH配置中,它正在工作:

$ time ssh -v debel echo foo
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/jmdeldin/.ssh/config
debug1: Applying options for *
debug1: Applying options for debel
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 9
foo
debug1: mux_client_request_session: master session id: 9

real    0m0.014s
user    0m0.008s
sys     0m0.003s

但是TRAMP的速度很慢(約3秒的文件保存),如圖所示 這個截屏視頻M-x shell 工作正常,但節省是真正的減速。這不是TRAMP能做的最好的吧?

細節

  • GNU Emacs 24.1.1(2012-06-01 build)
  • 我正在運行一個vanilla Emacs實例(我在視頻中評估了一個顏色主題,但就是這樣)。
  • VM正在我的機器上運行。
  • 我通過TRAMP連接 /rsync:user@host:file,但我試過了 sshscp, 乃至 rsh,而且所有這些都是滯後的。

4
2018-06-03 18:06


起源


你在Mac上嗎? IIUC在Emacs for OS X上的子進程存在一些問題。例如,這使得flyspell非常痛苦。 - Ivan Andrus
@IvanAndrus是的,而且flyspell確實很痛苦。你知道有沒有辦法加速這個?在TRAMP中,Emacs 22.1.1(默認OS X)實際上非常快,但23.4和24.1非常慢。 - jmdeldin


答案:


子進程處理是 據傳有問題 特別是在OS X上。不幸的是,似乎不知道究竟是什麼問題。有幾個 打開錯誤 有關它。一個建議改變超時有助於另一個設置 process-connection-type 至 nil 幫助。請閱讀它們,了解有關應用於何處以及如何應用的詳細信息以便提供幫助。

你也可以試試“Mac端口“哪個IIRC應該有更好的工藝處理,一般來說非常好。


2
2018-06-08 07:11



謝謝!對於TRAMP和flyspell來說,這個端口要快得多。我用Homebrew編譯它,它開箱即用。 - jmdeldin