参考链接
最近在jestonNano上写相应的界面,发现界面上的字体比较模糊
原因
Tkinter在windows下字体能够很地显示,但在linux下,则出现字体发虚问题,且大量字体没有办法显示。主要是Tkinter链接到Tk/Tcl解释器,其图形库是libtk6.0.so。tkinter不能使用的字体,是由Freetype库管理的,而Anaconda的libtk6.0.so并不是针对Freetype构建的。
命令集
test:虚拟环境的名字
nvidia:jeston系统的用户名字
自己进行替换
# 在这之前需要将虚拟环境本来存在的libtk8.6.so
mv /home/nvidia/archiconda3/envs/test/lib/libtk8.6.so /home/nvidia/archiconda3/envs/test/lib/libtk8.6.so.sav
# 建立软链接
ln -s /usr/lib/aarch64-linux-gnu/libtk8.6.so /home/nvidia/archiconda3/envs/test/lib/libtk8.6.so
vim /home/nvidia/archiconda3/envs/test/lib/tk8.6/tk.tcl
# 大致在14行
# 找到这一句package require -exact Tk 8.6.12注释掉
简单记录
将jestonNano /usr/lib/aarch64-linux-gnu/libtk8.6.so链接到自己创建的虚拟环境的lib目录下
接下来以我自己的虚拟环境为例子(使用的是Archiconda3构建的虚拟环境,代码中的test为我虚拟环境的名字)
# 在这之前需要将虚拟环境本来存在的libtk8.6.so
mv /home/nvidia/archiconda3/envs/test/lib/libtk8.6.so /home/nvidia/archiconda3/envs/test/lib/libtk8.6.so.sav
# 建立软链接
ln -s /usr/lib/aarch64-linux-gnu/libtk8.6.so /home/nvidia/archiconda3/envs/test/lib/libtk8.6.so
这样改完会报出一个错误
由于不好粘贴大致叙述一下
version conflict 8.6.8 need exactly 8.6.12
while executing
“package require -exact TK 8.6.12”
大致内容是这些
#再次进入虚拟环境的目录
vim /home/nvidia/archiconda3/envs/test/lib/tk8.6/tk.tcl
# 大致在14行
# 找到这一句package require -exact Tk 8.6.12注释掉
这样就不在模糊