You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS下Emacs org-encrypt-entry修改文件后执行挂起问题

Org条目加密保存挂起问题排查与解决

环境信息

  • macOS Ventura 13.4 (22F66)
  • GNU Emacs 28.2 (build 1, x86_64-apple-darwin22.4.0, NS appkit-2299.50 Version 13.3.1 (a) (Build 22E772610a)),2023年5月31日版本
  • org-mode 9.5.5
  • 通过homebrew的emacs-plus@28公式安装,2023年5月31日更新Emacs

问题描述

修改Org条目后执行org-encrypt-entry重新加密时,函数挂起无法完成;org-decrypt-entry功能正常,输入对称密码可解密到缓冲区;文件未修改时用C-x C-s保存正常;仅当文件修改需重新加密并再次输入对称密码时,会卡在「Saving file /path/to/file/file.org」;M-x org-decrypt-entry也存在相同问题。

尝试操作:执行M-x org-encrypt-entry
预期结果:弹出密码输入对话框并将加密内容保存到磁盘

解决建议

  • 关闭自动加密钩子:临时禁用org-crypt-use-before-save-magic,避免自动加密与手动操作冲突,执行以下Elisp代码:
    (setq org-crypt-use-before-save-magic nil)
    
    之后手动加密条目再执行C-x C-s保存,验证是否还会挂起。
  • 调整GPG配置:org-crypt依赖GPG,若GPG交互模式导致GUI阻塞,可设置使用循环回退模式输入密码,执行:
    (setenv "GPG_TTY" "")
    (setq epa-pinentry-mode 'loopback)
    
    同时检查GPG版本,执行gpg --version查看,若版本过旧建议通过homebrew更新。
  • 排除钩子干扰:检查before-save-hook中的其他函数,比如自动格式化、云同步类钩子,临时移除后测试:
    (remove-hook 'before-save-hook 'your-hook-function-name)
    
  • 测试新文件:创建空白Org文件,仅添加单个条目并加密修改,验证是否是原文件的格式或缓存问题。
  • 调整组件版本:由于问题出在Emacs更新后,可尝试降级emacs-plus@28到更新前版本,或升级org-mode到最新稳定版(如9.6系列)测试。

内容的提问来源于stack exchange,提问作者Carlo Tambuatco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:12:50