【发布时间】:2013-05-09 02:21:58
【问题描述】:
是否可以让 Mozart/Oz 系统在 OSX 上的 GNU Emacs 中运行,而不是在我不喜欢的 Aquamacs 中运行?我尝试将 /Applications/Emacs 复制到 /Applications/Aquamacs 但没有成功。
【问题讨论】:
是否可以让 Mozart/Oz 系统在 OSX 上的 GNU Emacs 中运行,而不是在我不喜欢的 Aquamacs 中运行?我尝试将 /Applications/Emacs 复制到 /Applications/Aquamacs 但没有成功。
【问题讨论】:
这里的问题是 Mozart 应用程序使用硬编码的 shell 脚本来查找/Applications/Aquamacs Emacs.app。其中一些脚本还尝试使用/Applications/Aquamacs.app 或/Applications/Emacs.app,但不会始终同时使用这两者。 (这就是为什么Tvaroh's answer 有效:位于/Applications/Mozart.app/Contents/Resources/bin/oz 的脚本能够使用GNU Emacs。这也是为什么尝试将Emacs.app 的名称更改为Aquamacs.app 并没有解决问题的原因。重命名Emacs.app到Aquamacs Emacs.app 应该可以,但我建议改用下面编写的解决方案。)
修复相当简单:只需修改 shell 脚本,使它们使用 Emacs 而不是 Aquamacs。在终端中输入以下行似乎可以解决最新版本 (1.4.0-2012-02-01-macosx) 的问题:
$ sed -i '' -e "s/Aquamacs\\\ Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/.script
$ sed -i '' -e "s/Aquamacs Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/.script
$ sed -i '' -e "s/Aquamacs\\\ Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/script
$ sed -i '' -e "s/Aquamacs Emacs/Emacs/g" /Applications/Mozart.app/Contents/Resources/script
话虽如此,我鼓励遇到此问题的任何人在其发行版中搜索其他违规文件 ($ grep -ir aquamacs /Applications/Mozart.app) 并根据需要修改这些文件以确保 Mozart 将使用正确的 Emacs。
对于遇到此问题的其他人,关于此答案的几点说明:
Mozart.app 中的脚本以使用该 Emacs 二进制文件运行。)
此问题仅存在于 macOS/OS X 的 Mozart 1.x 版本中。从 Mozart 2.0.0 开始,程序按原样运行,无需安装 Aquamacs,只要某种形式的 Emacs已经位于/Applications/Emacs.app。
【讨论】:
了解如何做到这一点。刚从命令行启动它,出现了标准 Emacs 24(位于 /Applications/Emacs):
$ /Applications/Mozart.app/Contents/Resources/bin/oz
这里发生了一些神奇的事情。
【讨论】: