我正在运行图形化的 Emacs 24.3.1 (即使使用控制台版本也存在这个问题),在 Arch Linux 上。 我尝试使用 TRAMP 通过需要密码的私钥的 SSH 在远程 Fedora 系统上打开文件。身份验证正常工作,文件列表也正常。但当我尝试打开文件时,我的 Emacs 会挂起,显示 "Tramp: 插入`/{filename I'm trying to open}' ...done"。无法使用 ESC ESC ESC 或 C-g 中止。有人有解决方法吗?
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密钥+密码)也应该有效。
/ssh:host:path
的文件时,一切都按照广告所说的那样运作。感谢这个提示。我想补充一点,使用ssh -Nf host
可以让你在后台保持主连接的打开状态,这样你就不会意外关闭它了。 - justinpc这个帖子很旧了 - 然而,在我的FC22笔记本电脑上遇到了一个非常类似的问题(当尝试在迷你缓冲区中输入/su后跟随冒号时,tramp会挂起),通过注释/etc/hosts中的::1行似乎已经解决了。
tramp-verbose
” 变量可能是您首选的解决方案。请注意,此处的“port of call”意为“解决问题的方法”。 - philstramp-verbose
设置为5
确实可以解决卡顿问题。我尝试了一下,现在我确实可以打开远程主机上的文件了。然后我又尝试从我的.emacs
中删除(setq tramp-verbose 5)
,以便在它卡住时告诉你minibuffer中的消息,但奇迹般地,我仍然可以打开文件。 - justinpc