首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >magit over tramp:重用ssh连接

magit over tramp:重用ssh连接
EN

Stack Overflow用户
提问于 2019-05-13 04:22:12
回答 1查看 1.3K关注 0票数 6

magit似乎为每个命令打开了一个新的ssh连接。这变得非常烦人,特别是当分阶段放置更多块时,这需要为每个块建立连接的时间非常明显。

(在shell中,我通过./ ssh /config启用了持久的ssh连接)

我不知道这是魔术还是流浪汉。

但我的问题是:

如何使magit重新使用ssh连接?

编辑:

客户是

  • 流浪汉2.3.5.26.2
  • GNU Emacs 26.1.91
  • debian (测试)
  • 这是tramp配置
代码语言:javascript
复制
    (add-to-list 'tramp-remote-path 'tramp-own-remote-path)
    (setq tramp-default-method "ssh")
    (setq tramp-inline-compress-start-size 1000000)
  • 这是我的. .ssh/config的相关部分。
代码语言:javascript
复制
  ## generally re-use existing connections
  Host *
      ControlMaster auto
      ControlPath ~/.ssh/sockets/%r@%h-%p
      ControlPersist 600

  Host myhost1
       HostName 111.11.11.1
       User myuser
       ForwardX11 yes
       ForwardX11Timeout 596h
       IdentityFile ~/.ssh/id_rsa
       IdentitiesOnly yes
       ForwardAgent yes
       SendEnv LC_*
       ServerAliveInterval 300

服务器为RHEL 7.6 (Maipo)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-17 10:19:21

默认情况下,Tramp不使用在SSH配置文件( ControlMaster )中定义的见流浪汉常见问题选项:

在启动ssh会话时,Tramp覆盖ControlPath设置。如果在Emacs会话之外打开的主会话不再打开,则Tramp这样做是为了抵挡失速。

FAQ还展示了如何为TRAMP配置ControlMaster选项:

代码语言:javascript
复制
(customize-set-variable
 'tramp-ssh-controlmaster-options
 (concat
   "-o ControlPath=/tmp/ssh-ControlPath-%%r@%%h:%%p "
   "-o ControlMaster=auto -o ControlPersist=yes"))

或者,如果要告诉Tramp使用~/.ssh/config文件中的自定义,则需要更改tramp-use-ssh-controlmaster-options变量:

代码语言:javascript
复制
(customize-set-variable 'tramp-use-ssh-controlmaster-options nil)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56105716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档