gitk无法在macOS 10.14(Mojave)上启动

4
当我尝试在macOS Mojave (10.14.4)上运行gitk时,出现以下错误:
Error in startup script: file:///System/Library/ScriptingDefinitions/CocoaStandard.sdef:2: I/O warning : failed to load external entity "file://localhost/System/Library/DTDs/sdef.dtd"
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
                                                                            ^
file:///System/Library/PrivateFrameworks/FolderActionsKit.framework/Versions/A/Resources/FolderActions.sdef:2: I/O warning : failed to load external entity "file://localhost/System/Library/DTDs/sdef.dtd"
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
                                                                            ^
    while executing
"exec osascript -e [format {
        tell application "System Events"
            set frontmost of processes whose unix id is %d to true
        end te..."
    invoked from within
"if {[tk windowingsystem] eq "aqua"} {
    exec osascript -e [format {
        tell application "System Events"
            set frontmost of processes ..."
    (file "/usr/local/bin/gitk" line 12212)

我已经尝试过启动gitk时遇到的类似问题的解决方案(重新启动SystemEvents,检查旧的.osax脚本附加项,从homebrew重新安装git等),但没有成功。我还检查了Terminal是否有访问System Events的权限。谷歌错误消息似乎没有找到任何相关信息。

在之前的macOS版本中,gitk一直可以完美地工作。


1
确保您的终端程序(iterm或terminal)具有访问系统事件的权限?当我删除系统事件访问权限时,我得到相同的错误。 - evolutionxbox
你确定了吗?你在哪里检查了权限? - evolutionxbox
很抱歉,那并没有帮助到您。我几乎相信如果我禁用访问权限,我会得到相同的错误(除了“启动脚本中的错误”文件部分)。 - evolutionxbox
谢谢,是的,我也很兴奋,因为它似乎是一个非常可行的解决方案。我很快就会在问题上设置赏金,看看是否有所帮助... - Paul R
2
你已经验证了/System/Library/DTDs/sdef.dtd是否确实存在吗? - Claus Jørgensen
显示剩余5条评论
1个回答

3

这似乎与Git或gitk无关,因为过去曾看到相同的错误:

最后一个包括:

与其他人进行检查,他们显然有一个/ System / Library / DTDs / sdef.dtd
我已经拥有了该文件的副本,appledoc现在可以按照广告运行。

因此,首先检查该文件是否存在,如果您可以从10.14的不同Mac上获取副本并替换它,那么将排除此问题的特定原因。

Op Paul R评论中确认

通过Time Machine备份返回,似乎sdef.dtd在2019年3月底某个时候不可思议地消失了。

我从备份中恢复了它(具有讽刺意味的是,当然必须禁用系统完整性保护(SIP)才能执行此操作-您会认为SIP首先会防止这种事情发生?),现在一切都很好。


1
是的,完全正确 - 通过 Time Machine 备份回溯,似乎 sdef.dtd 在 2019 年 3 月下旬不可思议地消失了。我从备份中恢复了它(具有讽刺意味的是,当然必须 禁用系统完整性保护 (SIP) 才能做到这一点 - 你会认为 SIP 本来应该防止这种事情发生吧?),现在一切都好了。赏金将在适当的时候颁发... - Paul R
1
@PaulR谢谢您的反馈。我已将您的评论包含在答案中以获得更多的关注。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接