Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 24.3.1 TRAMP挂起打开文件_Emacs_Ssh_Tramp - Fatal编程技术网

Emacs 24.3.1 TRAMP挂起打开文件

Emacs 24.3.1 TRAMP挂起打开文件,emacs,ssh,tramp,Emacs,Ssh,Tramp,我在Arch Linux上运行图形化的Emacs 24.3.1(在使用控制台版本时也存在此问题)。我正在尝试使用TRAMP通过SSH打开远程Fedora系统上的文件,其中包含一个需要密码的私钥。身份验证工作正常,文件列表也工作正常。当我尝试打开一个文件时,我的Emacs会话会挂起,并显示“Tramp:Inserting`/{filename我正试图打开}”…done”。不可能使用ESC或C-g中止。有人对此有解决方案吗?Emacs 24通常与Tramp配合使用效果很好。您可能需要的是.ssh/c

我在Arch Linux上运行图形化的Emacs 24.3.1(在使用控制台版本时也存在此问题)。我正在尝试使用TRAMP通过SSH打开远程Fedora系统上的文件,其中包含一个需要密码的私钥。身份验证工作正常,文件列表也工作正常。当我尝试打开一个文件时,我的Emacs会话会挂起,并显示“Tramp:Inserting`/{filename我正试图打开}”…done”。不可能使用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
主机
自动控制主机
ControlPath~/.ssh/%r@%h:%p
ServerAliveCountMax=30
ServerAliveInterval=5
(2) 现在通过终端登录到远程主机

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


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

此线程很旧-但是,在我的FC22笔记本电脑上也存在类似的问题(尝试在minibuffer中键入/su后面的冒号时会出现拖拽挂起的问题)通过注释/etc/hosts中的::1行似乎已修复。

tramp verbose变量可能是您的第一个调用端口。这里也有同样的问题。我使用ssh on tramp进行密码验证(不使用公钥)时遇到了这种情况。您可能想读一下:我在上面的emacswiki链接上找不到与我的问题相关的任何内容,但我在某个地方找到了一个链接,说将
tramp verbose
设置为
5
确实可以解决挂起问题。我试过了,现在我确实可以在远程主机上打开文件了。然后,我再次尝试从我的
.emacs
中删除
(setq-tramp-verbose 5)
,这样当消息挂起时,我就可以在微缓冲区中告诉您消息,但奇迹般的是,我仍然可以打开文件。而且,它再次没有打开新文件。现在,在尝试打开一个文件之后,我的迷你缓冲区中的消息是:
Tramp:Inserting'filename'…done
。当打开一个路径为
/ssh:host:path
的文件时,所有的工作都像广告一样。谢谢你的提示。我想补充一点,使用
ssh-Nf-host
允许您在后台保持主连接打开,这样您就不会意外地关闭它。