Emacs可以在打开文件时, 通过指定路径 /ssh:user@host 来编辑ssh server 上的文件, 并使用本地的Emacs配置. 但是有时候出于安全考虑, 有些ssh server会改变监听端口号. 此时需要指定路径 /ssh:user@host#port 来指定连接远程服务端的哪个端口.

但是在mac中, 由于unix domain socket的文件名长度有限(104字符), 往往指定了端口会导致最终的socket文件名恰好超过了这个限制, 于是报错: “too long for unix domain socket”. google之后解决方法是设置tramp-ssh-controlmaster-options变量:

(setq tramp-ssh-controlmaster-options "-o ControlPath=%%C -o ControlMaster=auto -o ControlPersist=no")

参考: https://lists.gnu.org/archive/html/bug-gnu-emacs/2015-02/msg00394.html

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>