Emacs 24.3.1 TRAMP在打开文件时卡住了

14

我正在运行图形化的 Emacs 24.3.1 (即使使用控制台版本也存在这个问题),在 Arch Linux 上。 我尝试使用 TRAMP 通过需要密码的私钥的 SSH 在远程 Fedora 系统上打开文件。身份验证正常工作,文件列表也正常。但当我尝试打开文件时,我的 Emacs 会挂起,显示 "Tramp: 插入`/{filename I'm trying to open}' ...done"。无法使用 ESC ESC ESC 或 C-g 中止。有人有解决方法吗?


4
tramp-verbose” 变量可能是您首选的解决方案。请注意,此处的“port of call”意为“解决问题的方法”。 - phils
我也遇到了同样的问题。使用ssh在tramp上进行密码认证时发生了这种情况(未使用公钥)。 - Diego Saa
你可能想阅读这个链接:http://www.emacswiki.org/emacs/TrampMode#toc5 - Diego Saa
我在上述emacswiki链接中没有找到任何与我的问题相关的内容,但我在其他地方找到了一个链接,说将tramp-verbose设置为5确实可以解决卡顿问题。我尝试了一下,现在我确实可以打开远程主机上的文件了。然后我又尝试从我的.emacs中删除(setq tramp-verbose 5),以便在它卡住时告诉你minibuffer中的消息,但奇迹般地,我仍然可以打开文件。 - justinpc
再次打开新文件时出现问题。尝试打开文件后,我的迷你缓冲区中的消息是:“Tramp:插入'filename'...完成”。 - justinpc
2个回答

15

Emacs 24通常很好地与Tramp一起工作。您可能需要在您的.ssh/config文件中添加ControlMasterAuto,这将确保ssh连接信息无缝传递给Emacs。这还将确保您只需要在终端中登录一次并在Tramp模式下使用多个emacs框架。我已经详细说明了以下步骤:

(1) 转到您的.ssh/config文件并添加以下选项

Host <hostname>
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
ServerAliveCountMax=30
ServerAliveInterval=5

(2)现在通过终端登录到远程主机。

(3)打开emacs框架并尝试通过tramp(/ssh:)打开远程文件。您必须能够连接远程主机。

以上步骤即使对于两级身份验证(使用rsa密钥+密码)也应该有效。


1
打开路径为/ssh:host:path的文件时,一切都按照广告所说的那样运作。感谢这个提示。我想补充一点,使用ssh -Nf host可以让你在后台保持主连接的打开状态,这样你就不会意外关闭它了。 - justinpc

1

这个帖子很旧了 - 然而,在我的FC22笔记本电脑上遇到了一个非常类似的问题(当尝试在迷你缓冲区中输入/su后跟随冒号时,tramp会挂起),通过注释/etc/hosts中的::1行似乎已经解决了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接