【问题标题】:How to use /sudo:username@remotehost: in dired mode for emacs?如何在 emacs 的 dired 模式下使用 /sudo:username@remotehost:?
【发布时间】:2015-04-22 12:46:55
【问题描述】:

当我使用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 规则按我的意愿工作?

【问题讨论】:

    标签: emacs elisp dired


    【解决方案1】:

    流浪者supports multiple hops via its tramp-default-proxies-alist variable:

    例如,如果您想在域“your.domain”中的主机上以“root”的身份工作,但对非本地访问禁用以“root”身份登录,则可以添加以下内容规则:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      试试我的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(edit as root) 编辑本地文件时,然后按 C-c o 它将以当前登录用户身份编辑此文件

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

      【讨论】:

        猜你喜欢
        • 2010-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-13
        • 2011-01-22
        • 1970-01-01
        • 2012-09-26
        • 2023-03-08
        相关资源
        最近更新 更多