基于 Wish 的工具(git-gui、gitk)在 macOS Monterey 上显示损坏/黑色的 UI

Posted

技术标签:

【中文标题】基于 Wish 的工具(git-gui、gitk)在 macOS Monterey 上显示损坏/黑色的 UI【英文标题】:Wish based tools (git-gui, gitk) showing broken/black UI on macOS Monterey 【发布时间】:2022-01-20 06:20:25 【问题描述】:

基于愿望的工具,例如 git-gui 和 gitk 在升级到 macOS Monterey 后显示黑屏/坏屏:

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

macOS Monterey 附带的 Tcl/Tk 版本(8.5)好像坏了。

一个可能的解决方法:

使用 Homebrew 附带的版本

假设 Homebrew 已经设置,请执行以下操作:

brew upgrade
brew install tcl-tk

然后设置新版wish的链接:

cd /usr/local/bin
ln -s ../Cellar/tcl-tk/8.6.12/bin/wish wish

最终将 8.6.12 替换为暴露的版本:

brew info tcl-tk

重新启动您的终端,所有基于愿望的实用程序应该都能正常工作!

【讨论】:

我看到系统 Tcl 在第一个 macOS Big Sur 更新中被破坏(以不同的方式),然后在下一次更新中修复......然后他们在蒙特雷又做了一次?难道他们不应该测试他们运送给最终用户的东西吗? “弃用”工具的非常奇怪的方式 - 删除比运送损坏的系统工具要好...... 您需要将 /usr/local/bin 添加到您的 PATH 环境变量中(取代旧的 wish 二进制文件)。一旦我这样做了,我就开始工作了。【参考方案2】:

有一个链接brew无法正确管理

ls -l /usr/bin/wish

lrwxr-xr-x  1 root  wheel  7 Jan 22 08:42 /usr/bin/wish -> wish8.5

我找到了这个解决方法

brew tap-new --no-git $USER/local-tap-git-2-32
brew extract --version=2.32 git $USER/local-tap-git-2-32
brew install git@2.32
/usr/local/opt/git@2.32/bin/git --version
brew link --overwrite git@2.32

brew tap-new --no-git $USER/local-tap-tcl-tk-8-6-10
brew extract --version=8.6.10 tcl-tk $USER/local-tap-tcl-tk-8-6-10
brew install tcl-tk@8.6.10
brew link --overwrite tcl-tk@8.6.10

然后运行 ​​gitk

/usr/local/opt/tcl-tk@8.6.10/bin/wish  $(which gitk)

【讨论】:

以上是关于基于 Wish 的工具(git-gui、gitk)在 macOS Monterey 上显示损坏/黑色的 UI的主要内容,如果未能解决你的问题,请参考以下文章

如何在 msys2 中使用 gitk?

gitkGit GUI 图形化工具中文显示乱码的解决方案

如何找到hg的gitk工具类型

git-GUI版本管理 在win10下怎么设置成中文界面

如何使用 msysgit / gitk 设置 DiffMerge?

码农日常生活之Git & Gitlab & Gitk