我想在Emacs中打开一个文件,该文件位于远程服务器上,服务器上有sudo power.我可以通过Tramp打开sudo本地文件,如下所示:
C-x C-f /sudo::/home/user/file
Run Code Online (Sandbox Code Playgroud)
但是我想在服务器上使用sudo:
C-x C-f /sudo::user@server/home/user/file
Run Code Online (Sandbox Code Playgroud)
但这给了我本地机器上的sudo权限,它在本地机器上询问我的sudo密码.有没有办法在服务器上使用sudo?
顺便说一句:服务器上没有安装Emacs
我试图通过Tramp通过Emacs打开一个远程文件.
(require 'tramp)
(setq tramp-default-method "ssh")
Run Code Online (Sandbox Code Playgroud)
我收到了来自Emacs的消息
Tramp:等待来自远程shell的提示
Emacs挂了,之后没有回复任何动作
Emacs安装在Windows上; 远程文件在Linux机器上.
当我只能通过SSH使用公钥认证访问远程主机时,如何使用本地Emacs编辑远程主机上的文件?Tramp处理正常的密码登录很好,但我无法弄清楚如何使用密钥对.我在两端使用unix/linux.
我的校园只允许通过网关服务器进行ssh访问.因此,为了访问我正在编码的集群,我必须ssh到网关,然后ssh到我正在处理的机器上.这种联系有时非常缓慢,令人沮丧.
我很乐意使用像tramp这样的东西,我知道它会在我的本地机器上打开缓冲区,并且当我保存到磁盘时只能通过网络进行通信.我对tramp并不是很熟悉,并且努力让它工作,特别是通过双跳.文档说这是通过在tramp中定义代理来完成的,但我无法理解语法.
有没有人知道如何使用emacs通过双跃点进行编码或有一个替代的解决方法来通过两个ssh跳来编辑代码?
可能重复:
通过SSH打开文件,使用Emacs打开Sudo
我想在Emacs上使用TRAMP通过ssh连接的远程机器上使用sudo(比如/ etc/hosts)打开一个文件.
我尝试了几种选择,但没有一种可行.任何人都可以告诉我如何去做吗?
谢谢
我最近安装了Ropemacs的hg tip版本,我想在使用TRAMP编辑远程文件时使用它.有没有人这样做过?当我尝试使用M-/完成变量名称时,我被要求输入Rope project root folder并输入:/ssh:myhost:/path/to/myproject/它会给我以下错误:
Opening [/ssh:myhost:/path/to/myproject/] project ...
pymacs-report-error: Python: Traceback (most recent call last):
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/Pymacs/pymacs.py", line 147, in loop
value = eval(text)
File "<string>", line 1, in <module>
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/decorators.py", line 53, in newfunc
return func(*args, **kwds)
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 254, in code_assist
_CodeAssist(self, self.env).code_assist(prefix)
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 538, in code_assist
proposals = self._calculate_proposals()
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 597, in _calculate_proposals
self.interface._check_project()
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 448, in _check_project
self.open_project()
File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/decorators.py", line …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用flymake运行pyflakes,如此处所示
这适用于本地文件,并且几乎可以通过稍微调整来处理远程文件,但是我遇到了一个问题,即flymake/pyflakes'在运行时修改了缓冲区(尽管实际上似乎没有任何变化),这会呈现它在实践中有点无用(例如,保存文件运行flymake,它会立即再次修改缓冲区).
这就是我几乎让它工作的方法:
tramp-remote-process-environment变量,以便可以在其PATH中找到pyflakes(when (load "flymake" t) ...)构造似乎没有像我预期的那样工作,但我并不太担心.flymake-start-syntax-check-process函数,以便它使用start-file-process(与tramp一起使用)而不是start-process(没有).处理本地文件时#4中的更改似乎不会导致任何问题,但现在这使得flymake能够为远程文件运行远程pyflakes(错误会按预期突出显示),在这种情况下缓冲区被"修改"每当flymake运行时.
我猜测start-file-process,对于远程进程,会导致本地进程不会发生一些额外的返回值/数据.
有没有人有任何见解/建议?
我正在使用emacs tramp模式通过ssh远程编辑文件.问题是每次我保存我正在编辑的文件时我都要输入我的用户密码.我觉得很烦人.如何只编写一次/编辑会话密码?
我一直在我的Emacs上使用Tramp模式远程编辑文件.我也在使用ido模式.当我在使用Tramp打开的文件的同一目录中添加新文件时,我无法让Tramp找到新文件(使用Cx Cf).有没有办法刷新Tramp?
24.2运行良好,但24.3 bounded tramp在打开远程Linux系统文件或目录时出现以下错误:
"byte-code: Couldn't find a proper `ls' command"
Run Code Online (Sandbox Code Playgroud)
我打开tramp trace并发现,所有远程搜索路径和文件路径都是通过某种东西扩展,在开头添加一个额外的"c:".结果是tramp既没有找到我要打开的命令也没有找到文件.
16:04:51.768000 tramp-get-connection-property (7) # process-buffer nil
16:04:51.769000 tramp-set-file-property (8) # c:/bin file-directory-p nil
16:04:51.770000 tramp-get-file-property (8) # c:/usr/bin file-directory-p undef
...
16:04:59.531000 tramp-sh-handle-file-truename (5) # Check /c:
16:04:59.532000 tramp-get-file-property (8) # c:/c: file-attributes-integer undef
...
16:04:51.773000 tramp-get-connection-property (7) # process-name nil
16:04:51.773000 tramp-get-connection-property (7) # chunksize 0
16:04:51.773000 tramp-set-connection-property (7) # last-cmd-time (20809 28067 773000 0)
16:04:51.774000 tramp-send-string (10) # test -d c\:/usr/bin 2>/dev/null; echo tramp_exit_status $?
Run Code Online (Sandbox Code Playgroud)
有人知道这个吗?提前致谢.