關鍵詞
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(已測試)