关键词
conda、git、gitk、git gui、模糊、linux、乱码
现象
操作系统:ubuntu24.04
conda版本:25.1.1
正常的终端里gitk显示不会模糊
但是在conda创建的python虚拟环境中使用gitk,字体开始变得模糊不清
分析
根据deepseek的原因原因分析,可能是gitk基于Tcl/Tk图形库开发,不同环境可能加载不同版本的Tk库。Conda虚拟环境中可能默认安装了较旧的Tk版本,而系统全局环境使用较高版本。
在conda环境下显示tk版本
(ieayoiotest) ➜ backend git:(main) conda list | grep tk
nltk 3.9.1 pypi_0 pypi
tk 8.6.14 h39e8969_0 defaults
真实环境下tk版本
➜ ~ echo 'package require Tk; puts [info patchlevel]' | wish
8.6.14
这里可以看到,显示的版本是相同的,但是conda下确实存在独立的tk组件
我们看到conda下wish指向了conda的虚拟环境中
(ieayoiotest) ➜ backend git:(main) which wish
/home/ieayoio/miniconda3/envs/ieayoiotest/bin/wish
而真实的环境中实际指向了/usr/bin/wish8.6
➜ ~ which wish
/usr/bin/wish
➜ ~ ll /usr/bin/wish
lrwxrwxrwx 1 root root 7 4月 1 2024 /usr/bin/wish -> wish8.6
➜ ~
解决
临时测试,执行下面的命令
/usr/bin/wish $(which gitk)
发现乱码问题果然解决了
所以只要让gitk使用系统的wish就可以解决问题
修改/usr/bin/gitk
文件,将第三行内容wish
命令改为/usr/bin/wish
#!/bin/sh
# Tcl ignores the next line -*- tcl -*- \
exec /usr/bin/wish "$0" -- "$@"
# 原始内容:exec wish "$0" -- "$@"
重新使用gitk命令,发现问题已经解决
参考
deepseek(已测试)