gpt4 book ai didi

emacs - 为什么emacsclient执行 'emacs --daemon'后找不到socket

转载 作者:行者123 更新时间:2023-12-04 01:37:58 30 4
gpt4 key购买 nike

太困惑了,emacsclient说执行emacs --daemon就找不到socket了在 bash 中:

$ ps aux | grep emacs
shiangro 1744 0.0 0.0 2432784 604 s000 S+ 1:03下午 0:00.00 grep emacs
$ /usr/local/bin/emacs --daemon
("emacs")
Starting Emacs daemon.
Restarting server
$ /usr/local/bin/emacsclient -t
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
emacsclient: No socket or alternate editor. Please use:

--socket-name
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)

我的 .emacs 中有以下设置:
(server-start)
(setq server-socket-dir "~/.emacs.d/server")

它工作正常,服务器文件 ~/.emacs.d/server/server就在那儿,但是emacsclient说找不到socket,太烦人了,我不得不用 -s告诉他socket文件。选项。

我发现这个棘手的问题,而我希望在每次重新启动(启动)系统后使用 crontab 的 ◎reboot 让 emacs 作为守护程序运行特殊字符串。

在这种情况下,cron成功启动了emacs服务器和服务器文件 ~/.emacs.d/server/server也在那里,但后来当我启动终端并尝试 emacsclient -t ,它失败并提示找不到套接字文件!

虽然我可以使用 -s ~/.emacs.d/server/server 绕过这个问题每次我执行 emacsclient,或将 emacsclient 别名为 emacsclient -s ~/.emacs.d/server/server ,但是有没有更好的方法来安慰我的心呢?

背景:

系统:Mac OS X 10.9.2

emacs:自制软件安装的 GNU Emacs 24.3.1

最佳答案

既然你已经完成了:

/usr/local/bin/emacs --daemon

服务器已经启动。所以,你实际上并不需要:
(server-start)
(setq server-socket-dir "~/.emacs.d/server")

在你的 .emacs 中。当您采用这种方法时,服务器将放置在/tmp/emacs502 (或者可能是其他一些数字)中。在 linux 上,emacsclient 似乎在那里找不到它(在这种情况下我看到/tmp/emacs1920),因此“emacsclient -nw”可以工作。我正在使用 HomeBrew 在 OSX 上尝试它,就像你一样,我发现我必须使用以下方式连接:
emacsclient -nw -s /tmp/emacs502/server

(如果您使用了 --deamon=name,那么您将在最后一行使用“name”而不是“server”。)

关于emacs - 为什么emacsclient执行 'emacs --daemon'后找不到socket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23148787/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com