如何使用/ sudo:username @ remotehost:在emac的dired模式下?

时间:2015-04-22 12:46:55

标签: emacs elisp dired

当我使用emacs时,我输入

M-x dired

然后我输入

/sudo:ukari@ubuntu-hadoop-0:

emacs返回

Host `ubuntu-hadoop-0' looks like a remote host, `sudo' can only use the local host

如何让dired规则正常工作?

2 个答案:

答案 0 :(得分:1)

TRAMP supports multiple hops via its tramp-default-proxies-alist variable

  

例如,如果您希望以' root'在域中的主机' your.domain',但以' root'登录对于非本地访问被禁用,您可以添加以下规则:

(add-to-list 'tramp-default-proxies-alist
         '("\\.your\\.domain\\'" "\\`root\\'" "/ssh:%h:"))
     

打开/sudo:randomhost.your.domain:会先连接randomhost.your.domain'在您的帐户名下通过ssh,然后在该主机上执行sudo -u root

有时手动配置此变量可能会很麻烦,因此还有一个ad-hoc multi-hop feature可以让您实时多跳。 (此功能实际上会在您当前会话中为您修改tramp-default-proxies-alist。)

要使用ad-hoc功能,请尝试以下字符串:

/ssh:ukari@ubuntu-hadoop-0|sudo:root@ubuntu-hadoop-0:

答案 1 :(得分:0)

试试我的toggle-read-only-file-with-sudo

(when (member system-type '(gnu/linux darwin))
  (global-set-key (kbd "C-c o") 'toggle-read-only-file-with-sudo))

https://github.com/jixiuf/emacs_conf/blob/master/site-lisp/joseph/joseph-sudo.el

输入:/sudo:ukari@ubuntu-hadoop-0:后输入

你只需要按"C-c o"它就会在远程主机上使用sudo

用法:

1.当您编辑本地文件并按下C-c o时,它会尝试使用sudo编辑它

2.当您使用sudo编辑本地文件(以root身份编辑),然后按C-c o它将编辑此文件作为当前登录用户

3.当您以普通用户编辑远程文件时(假设它是ukari)并按Cc o它将在远程主机上以root身份编辑它,再次按Cc o它将再次回退到ukari < / p>