[ubuntu][troubleshoot] Can't find a usable tk.tcl in the following directories

问题描述

ubuntu 下开发有时会用到一些图形界面的软件, 启动时可能会遇到如下错误:

application-specific initialization failed: Can't find a usable tk.tcl in the following directories: 
    /usr/local/lib/tcl8.6/tk8.6 /usr/local/lib/tk8.6 /usr/lib/tk8.6 /usr/lib/tk8.6 /lib/tk8.6 /usr/library
This probably means that tk wasn't installed properly.

笔者是在使用 gitk 时出现此问题, 无法启动图形界面.

简要分析

从出错信息看, 应该是 tk 被破坏了, 如果你对通用图形库了解一些的话, 会知道 tktcl 是相互依赖的, 所以我们就建议重新安装一次 tktcl.

通常开发人员不会有意修改这些自己不熟悉的配置, 往往这是无意之中的使用导致此类似错误发生, 例如:

  • 更新软件库: sudo apt-get update && sudo apt-get upgrade
  • 安装新软件, 而修改此处默认配置等

所以建议:

  • 尽量保持稳定系统, 不频繁更新
  • 软件安装尽量选择官方软件

解决

从 TCL/TK官网 下载源码, 源码建议选择和系统release 时间较贴近的版本, 这样可以尽量减少兼容性问题.
笔者使用的是 ubuntu16.04, 即2016年4月发布的版本, 该版本是 LTS, 禁得起时间考验.
因此, 笔者下载 TCL/TK 版本如下:
[ubuntu][troubleshoot] Can't find a usable tk.tcl in the following directories_第1张图片
安装 tcltk:

# try to install tcl
cd tcl8.6.5/unix
./configure
make
sudo make install

# try to install tk
cd -
cd tk8.6.5/unix
./configure
make
sudo make install

Good luck to you~

你可能感兴趣的:(系统相关,gitk,tk.tcl,tcl,tk)