修复 NoMachine 在 macOS 26 上的菜单无响应问题
- Published on
- ...
- Authors

- Name
- Huashan
- @herohuashan
如果你在 macOS 26 (Tahoe) 系统上使用 NoMachine 9.2.14 时遇到无法点击二级菜单或下拉菜单无响应的问题,本文将手把手教你通过修改配置文件来彻底解决这个 Bug。
问题描述
症状表现
在 NoMachine 9.2.14 版本运行于 macOS 26 (Tahoe) 系统时,用户会遇到以下问题:
- ❌ 无法展开应用程序的二级菜单(如"文件"、"编辑"等菜单栏下的子菜单)
- ❌ 右键菜单无法弹出或点击无效
- ❌ 下拉菜单显示后无法选择其中的选项
- ❌ 菜单项悬停高亮正常,但点击无反应
这个问题严重影响了远程桌面的正常使用体验,特别是需要频繁使用菜单操作的用户。
问题原因
该问题是由于 NoMachine 9.2.14 在 macOS Tahoe (macOS 26) 上的事件 API 兼容性问题导致的。新版本的事件处理机制与 macOS 26 系统的某些底层改动存在冲突,导致鼠标点击事件无法正确传递到二级菜单。
特定影响范围: 此问题主要出现在 macOS 26 (Tahoe) 系统上。如果你使用的是 macOS 15 (Sequoia) 或更早版本,通常不会遇到此问题。
解决方案
通过在 NoMachine 配置文件中启用旧版事件 API(-oldeventapi 1),可以回退到兼容性更好的事件处理模式,从而解决菜单无法点击的问题。
适用版本: NoMachine 9.2.14 及类似版本 适用系统: macOS 26 (Tahoe) 修复难度: ⭐⭐ (需要使用终端命令,约 5 分钟)
修复步骤
由于配置文件位于系统受保护的目录中,我们需要使用终端和管理员权限来进行修改。整个过程大约需要 5 分钟。
步骤一:打开终端 (Terminal)
有两种方式可以打开终端:
方法一:通过访达打开
- 打开 "访达" (Finder)
- 进入 "应用程序" (Applications) 文件夹
- 进入 "实用工具" (Utilities) 文件夹
- 找到并打开 "终端" (Terminal.app)
方法二:使用 Spotlight 快速打开(推荐)
- 按
Command + 空格键打开 Spotlight 搜索 - 输入 "终端" 或 "Terminal"
- 按
回车键打开
步骤二:使用命令行编辑器打开配置文件
我们将使用
nano文本编辑器,并配合sudo命令获取管理员权限。在终端窗口中,复制并粘贴以下命令,然后按
回车键:
sudo nano /Applications/NoMachine.app/Contents/Frameworks/etc/node.cfg
执行命令后,终端会提示输入密码:
[sudo] password for ...:输入你的 macOS 登录密码,然后按
回车键。
重要提示: 当你输入密码时,屏幕上不会显示任何字符(没有星号 *,光标也不会移动),这是正常的安全设置。只需盲打输入完毕后按回车即可。
步骤三:添加配置内容
输入正确密码后,你将进入
nano文本编辑器界面,看到node.cfg文件的内容。使用键盘的 向下箭头
↓,将光标移动到文件的 最末尾。在文件的最后另起一个新行,然后输入以下内容:
DisplayServerExtraOptions "-oldeventapi 1"
步骤四:保存并退出文件
添加配置内容后,按
Control + O(按住Control键不放,再按O键)。屏幕底部会显示:
File Name to Write: /Applications/NoMachine.app/Contents/Frameworks/etc/node.cfg不需要修改文件名,直接按
回车键确认保存。保存成功后,按
Control + X(按住Control键不放,再按X键)退出编辑器。
步骤五:重启 NoMachine 服务
配置文件修改完成后,需要重启 NoMachine 服务来使更改生效。
- 在终端中,复制并粘贴以下命令,然后按
回车键:
sudo /etc/NX/nxserver --restart
如果系统再次要求输入密码,请输入你的 macOS 登录密码并按回车。
终端会显示服务重启的消息,例如:
NX> 162 Service stopped. NX> 162 Service started.
验证修复效果
配置修改并重启服务后,请按以下步骤验证问题是否已解决:
重新连接 NoMachine
- 如果当前有活动连接,断开并重新连接
- 或者完全退出 NoMachine 应用后重新打开
测试菜单功能
- 打开任意应用程序(如访达、Safari 等)
- 点击菜单栏中的"文件"、"编辑"等菜单
- 尝试点击二级菜单中的选项
- 测试右键菜单是否正常弹出和响应
确认修复成功
- ✅ 菜单能够正常展开
- ✅ 可以点击并执行菜单项
- ✅ 右键菜单功能恢复正常
修复成功! 如果所有菜单交互都恢复正常,说明配置已生效。你可以关闭终端窗口,继续正常使用 NoMachine。
常见问题
Q: 为什么需要 sudo 命令?
A: sudo (SuperUser DO) 允许你以管理员权限执行命令。NoMachine 的配置文件位于系统受保护的目录中,普通用户没有权限修改。
Q: 如果输错密码怎么办?
A: 系统会提示 "Sorry, try again.",你可以重新输入。连续输错 3 次后,命令会被取消,你需要重新执行命令。
Q: 配置修改后二级菜单问题依然存在?
A: 请按以下步骤排查:
- 检查配置内容是否正确
- 确保引号、空格都完全一致:
DisplayServerExtraOptions "-oldeventapi 1" - 配置前后不要有多余的空格或特殊字符
- 确保引号、空格都完全一致:
- 确认服务已重启
- 重新执行重启命令:
sudo /etc/NX/nxserver --restart - 或者完全退出 NoMachine 应用后重新打开
- 重新执行重启命令:
- 重启电脑
- 如果以上步骤都无效,尝试重启 Mac
- 检查 NoMachine 版本
- 确认是否为 9.2.14 或相近版本
- 过旧或过新的版本可能需要不同的解决方案
Q: 如何查看当前配置是否生效?
A: 可以使用以下命令查看配置文件内容:
cat /Applications/NoMachine.app/Contents/Frameworks/etc/node.cfg
检查文件末尾是否包含 DisplayServerExtraOptions "-oldeventapi 1" 这一行。
Q: 这个修改会影响性能吗?
A: -oldeventapi 1 参数只是使用旧版的事件处理 API,对性能影响微乎其微。实际使用中不会感觉到明显的性能下降,但可以完全解决菜单无法点击的问题。
Q: 未来更新 NoMachine 后配置会丢失吗?
A: 一般情况下,NoMachine 更新不会覆盖 node.cfg 配置文件。但为安全起见,建议在重大版本更新后检查一次配置是否还在。如果新版本已修复此问题,可以考虑移除此配置。
Q: 其他 macOS 远程桌面软件有类似问题吗?
A: 类似的菜单交互问题偶尔也会出现在其他远程桌面软件中(如 VNC、TeamViewer),通常都与事件 API 或输入法冲突有关。解决思路可以参考本文的排查方法。
技术原理
为什么 -oldeventapi 1 能解决问题?
NoMachine 在 9.x 版本中采用了新的 macOS 事件处理机制,目的是提供更好的输入响应和多显示器支持。但新 API 与 macOS 26 (Tahoe) 系统的底层改动产生了冲突,在某些场景下(特别是复杂的菜单嵌套和快速交互时)会出现事件丢失或传递延迟。
macOS 26 Tahoe 的变化:
- Apple 在 macOS 26 中重构了部分窗口管理和事件分发机制
- 对第三方远程桌面软件的事件传递路径进行了调整
- 新的安全策略可能阻断某些事件 API 调用
-oldeventapi 1 参数强制 NoMachine 使用旧版的 Core Graphics Event API,这个 API:
- ✅ 经过多年验证,稳定性更好
- ✅ 对二级菜单、右键菜单的支持更完善
- ✅ 与 macOS 26 的传统兼容层配合更好
- ✅ 避开了 macOS 26 新事件系统的已知问题
- ⚠️ 缺少一些新特性(但不影响日常使用)
配置文件位置说明
node.cfg 是 NoMachine 服务器端的核心配置文件,位于:
/Applications/NoMachine.app/Contents/Frameworks/etc/node.cfg
该文件控制着显示服务器、网络协议、安全策略等各种运行时行为。DisplayServerExtraOptions 参数专门用于向显示服务器传递额外的命令行参数。
相关资源
总结
NoMachine 9.2.14 在 macOS 26 (Tahoe) 上的二级菜单无法点击问题,是一个已知的事件 API 兼容性 Bug,特定于 macOS 26 系统。通过本文的方法修改配置文件启用旧版事件 API,可以完美解决这个问题。
关键要点:
- 🔧 问题根源:NoMachine 新版事件 API 与 macOS 26 系统冲突
- 🎯 影响范围:主要在 macOS 26 (Tahoe) 系统上出现
- 💡 解决方案:添加
DisplayServerExtraOptions "-oldeventapi 1"配置 - ⏱ 操作时间:约 5 分钟
- ✅ 修复效果:完全恢复菜单交互功能
注意事项:
- 如果你使用的是 macOS 15 (Sequoia) 或更早版本,通常不需要此修复
- 未来 NoMachine 可能会在新版本中原生解决此问题
- 升级到新版 NoMachine 后建议测试是否还需要此配置
如果本文帮助你解决了 macOS 26 上的 NoMachine 问题,欢迎分享给遇到同样困扰的朋友。如有其他 NoMachine 或 macOS Tahoe 相关问题,也欢迎在评论区留言讨论!