首页 > 解决方案 > 在 Emacs 中以其他用户身份在其他主机上编辑文件

问题描述

我见过这个,但我的情况略有不同。目前我像这样编辑文件:

  1. SSH HOST_1
  2. SSH HOST_2
  3. 苏 OTHER_USER
  4. vim ~/文件名

我如何告诉 Emacs(使用 tramp)编辑这个文件,同时包括从HOST_1到跳到HOST_2以及su OTHER_USER?

“多跳”与“我”作为用户工作正常:

/sshx:HOST_1|sshx:HOST_2:/user/me/FILENAME

但是,添加sudo su OTHER_USER失败:

/sshx:HOST_1|sshx:HOST_2|sudo:OTHER_USER@HOST_2:

输入最后一个冒号后,系统会提示我输入密码。输入密码后,我可以输入远程文件路径,但它在某处似乎是一个空文件系统,根本没有文件夹或文件。

*Messages*缓冲区包含以下内容:

Tramp: Encoding local file ‘/tmp/tramp.61Eexc.ulUhgA’ using ‘base64-encode-region’...done
Tramp: Decoding remote file ‘/ssh:HOST_2:/tmp/tramp.ulUhgA’ using ‘base64 -d -i >%s’...done

我已经在我喜欢的 Emacs 设置(sshx与 spacemacs 0.200.13、Emacs 26.3 一起使用)以及完全普通的 Emacs 25.2.2(使用ssh)上复制了这一点。

标签: sshemacssutramp

解决方案


推荐阅读