我在我的.emacs以下几点:在Windows上使用plink时,如何更改TRAMP在Emacs中发送的命令?
(require 'tramp)
(setq tramp-default-method "plink")
当我在Emacs运行C-x C-f /plink:some_session:/
其中some_session
在腻子定义会话(其中有所有信息保存,如私有密钥,用户名,连接类型的位置= ssh等),流浪汉发出以下命令(*消息*缓冲区)复制:
Tramp: Sending command ‘plink -ssh -t some_session " env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ ' /bin/sh " && exit || exit’
你可以看到,它通过-ssh
标志plink
。一切工作正常,当我连接到一个远程主机,期望ssh连接端口22.
但是,我有一个远程主机,我需要连接到端口2222.如果我保存会话(some_new_session
)在腻子并尝试使用以下命令来连接(或腻子GUI),这是发生了什么:
- 使用腻子GUI
- 工作正常
plink some_new_session
- 从
cmd.exe
发行 - 工作正常,我能够连接
- 从
plink -ssh some_new_session
- 从
cmd.exe
发布 - 不工作
- 从
我已经调试的问题发现时为-ssh
标志传递给plink
,尽管保存的会话状态使用端口2222,它仍然试图在端口22上连接。本质上,如果给出-ssh
,它将忽略保存在会话中的端口(这看起来像一个错误)。
如果我尝试使用C-x C-f /plink:some_new_session:/
在Emacs发出的命令连接是:
Tramp: Sending command ‘plink -ssh -t some_new_session " env 'TERM=dumb' 'PROMPT_COMMAND=' 'PS1=#$ ' /bin/sh " && exit || exit’
我其实并不需要-ssh
标志,因为连接类型为SSH被保存在PuTTY会话。另外,-ssh
标志强制连接是通过端口22,即使在会话它保存为端口2222
我的问题是:
我怎样才能改变由流浪汉发出的命令,因此不会调用用-ssh标志闪烁?
你试过修改'tramp-methods'来改变它如何调用'plink'吗? – donkopotamus