【发布时间】:2018-08-02 21:00:23
【问题描述】:
在 Emacs25 中,我使用推荐的语法以 sudo 模式打开远程文件:
find-file "/ssh:ichiban@izu|sudo:ichiban@izu:~/
但 Emacs 只是挂起。我在 .emacs 文件中设置了一些调试设置:
(require 'tramp)
;(setq tramp-debug-buffer t)
(setq tramp-verbose 10)
; to enable tracing in tramp
(require 'trace)
(dolist (elt (all-completions "tramp-" obarray 'functionp))
(trace-function-background (intern elt)))
(untrace-function 'tramp-read-passwd)
(untrace-function 'tramp-gw-basic-authentication)
但结果信息无济于事。
要查看该信息,我从终端启动 Emacs,然后在终端挂起时向其发送 Ctrl-c(不返回)- 然后我可以读取调试数据。
没有 sudo 模式也可以正常工作:
find-file "/ssh:ichiban@izu:~/
我想了解有关 Emacs 使用的协议的更多详细信息,并了解如何调整该协议 - 任何想法都将不胜感激。
这是“sudo”和“non sudo”情况的调试输出不同的地方:
失败:sudo 案例 /ssh:ichiban@izu|sudo:ichiban@izu:/home/ichiban
15:12:54.224210 tramp-maybe-open-connection (3) # Opening connection for ichiban@izu using sudo...
15:12:54.240334 tramp-get-local-locale (7) # locale en_US.utf8
15:12:54.240731 tramp-compute-multi-hops (5) # Add proxy ("izu" "ichiban" "/ssh:ichiban@izu:")
15:13:08.214197 tramp-maybe-open-connection (3) # Opening connection for ichiban@izu using sudo...failed
成功:非 sudo 案例 /ssh:ichiban@izu:/home/ichiban
15:02:58.629883 tramp-maybe-open-connection (3) # Opening connection for ichiban@izu using ssh...
15:02:58.647868 tramp-get-local-locale (7) # locale en_US.utf8
15:02:58.648444 tramp-get-connection-property (7) # login-args undef
15:02:58.648777 tramp-get-connection-property (7) # login-args undef
15:02:58.649111 tramp-call-process (6) # ‘ssh -o ControlMaster’ nil *temp*
15:02:58.651325 tramp-call-process (6) # 255
command-line line 0: missing argument.
15:02:58.651640 tramp-call-process (6) # ‘ssh -o ControlPath=%C 0.0.0.1’ nil *temp*
15:02:58.655076 tramp-call-process (6) # 255
Pseudo-terminal will not be allocated because stdin is not a terminal.
【问题讨论】: