我试图通过Tramp通过Emacs打开一个远程文件.
(require 'tramp)
(setq tramp-default-method "ssh")
Run Code Online (Sandbox Code Playgroud)
我收到了来自Emacs的消息
Tramp:等待来自远程shell的提示
Emacs挂了,之后没有回复任何动作
Emacs安装在Windows上; 远程文件在Linux机器上.
我想知道是否有人通过emacs shell使用ssh.我可以连接远程计算机,但我无法使用'emacs filename'打开文件来查看/编辑emacs,因为'终端类型'哑"功能不足以运行emacs"(通常emacs会在控制台内打开)通过终端连接).
尝试以这种方式使用emacs是一个坏主意,还是可以通过一些修复来实现?非常感谢!
我的校园只允许通过网关服务器进行ssh访问.因此,为了访问我正在编码的集群,我必须ssh到网关,然后ssh到我正在处理的机器上.这种联系有时非常缓慢,令人沮丧.
我很乐意使用像tramp这样的东西,我知道它会在我的本地机器上打开缓冲区,并且当我保存到磁盘时只能通过网络进行通信.我对tramp并不是很熟悉,并且努力让它工作,特别是通过双跳.文档说这是通过在tramp中定义代理来完成的,但我无法理解语法.
有没有人知道如何使用emacs通过双跃点进行编码或有一个替代的解决方法来通过两个ssh跳来编辑代码?
可能重复:
通过SSH打开文件,使用Emacs打开Sudo
我想在Emacs上使用TRAMP通过ssh连接的远程机器上使用sudo(比如/ etc/hosts)打开一个文件.
我尝试了几种选择,但没有一种可行.任何人都可以告诉我如何去做吗?
谢谢
/ multi曾经为我工作,现在已经不见了,我很沮丧.
在我的梦想世界里,我想做的是:
/ myuser的@远程主机:须藤:anotheruser:/一些/路径/到/文件
......并且有偶像模式的工作.
这里的关键是'myuser','remotehost'和'anotheruser'都非常特别,我使用了大量的远程主机,通常有不同的用户,并且对各种不同的用户表示不满.
我需要添加什么以及如何在不重复加载emacs的情况下测试它?
在使用 Emacs 通过 SSH 和 Sudo读取打开文件后,我可以通过 sudo 编辑远程文件,
/ssh:username@hostname|sudo:username@hostname:/the-file
但我不能 sudo 编辑本地文件,Emacs 的tramp 提示密码为root@hostname,因为在 Ubuntu 上不存在 root 的密码(请参阅RootSudo)。
那么有没有办法在 Ubuntu 上 sudo 编辑本地文件?
总结:如果你想用 Emacs 编辑远程/本地文件,@ phils在Open file via SSH 和 Sudo with Emacs 中有一个很好的答案
;如果您使用了弹丸(版本<=0.12.0)并且无法 sudo 编辑本地文件(例如Tamp: sending password或挂起),您可以尝试以下代码来解决我的问题:
(when (package-installed-p 'projectile)
(defun projectile-project-root ()
"Retrieves the root directory of a project if available.
The current directory is assumed to be the project's root otherwise."
(let …Run Code Online (Sandbox Code Playgroud)