挂在 emacs 中的 jabber-connect

bab*_*unk 15 jabber emacs

我使用jabber.el从内部连接到我的工作聊天服务器emacs。这直到最近才有效,但现在当我运行jabber-connect它时,提示输入我的 JID 后挂起。Emacs 锁定,直到我用 取消它C-g,此时我看到:

Buffer " *-jabber-process-*" has a running process; kill it? (y or n)
Run Code Online (Sandbox Code Playgroud)

...在迷你缓冲区中,我必须回答y才能出去。

*Messages*缓冲区中,我可以看到这些其他消息:

Opening TLS connection to `lxchat'...
Opening TLS connection with `gnutls-cli --insecure -p 5223 lxchat'...failed
Opening TLS connection with `gnutls-cli --insecure -p 5223 lxchat --protocols ssl3'...failed
Opening TLS connection with `openssl s_client -connect lxchat:5223 -no_ssl2 -ign_eof'...
Run Code Online (Sandbox Code Playgroud)

如果我尝试openssl_client从命令行运行命令,它似乎连接成功。虽然我猜这只是表明它可以建立 SSL 连接?

~> openssl s_client -connect lxchat:5223 -no_ssl2 -ign_eof
CONNECTED(00000003)
^C
Run Code Online (Sandbox Code Playgroud)

我还能做些什么来找出问题所在?

小智 1

我避免让 Emacs 直接处理网络。尽管情况有了显着改善,但单线程 Emacs 仍会在不方便的时候挂起。当您有像 jabber 这样的 elisp 实现时,它有助于跨平台保留单个 Emacs 配置,但如果您没有这种需求,那么使用特定于平台的工具会更容易,而且通常不会出现长期麻烦。例如,我使用msmtp发送电子邮件,并结合bitlbee和 ERC 连接到各种 IM 网络。