gitk"包需要Tk"

时间:2014-08-18 06:00:38

标签: git ubuntu x11 tk gitk

在ubuntu上从CLI启动gitk我收到此错误

vihaan@Trojan :~$ gitk
application-specific initialization failed: unknown color name "S_base3"
Error in startup script: unknown color name "S_base3"
    (database entry for "-background" in widget ".")
    invoked from within
"load /usr/lib/x86_64-linux-gnu/libtk8.6.so Tk"
    ("package ifneeded Tk 8.6.1" script)
    invoked from within
"package require Tk"
    (file "/usr/bin/gitk" line 10)

如何解决?

1 个答案:

答案 0 :(得分:5)

这是非常棘手的老派X11的东西。

您的Xrdb包含一个规范,gitk主窗口的背景颜色为S_base3,但没有人知道如何解析该颜色名称,无论是Tk本身还是Xserver,这意味着您在顶级窗口小部件中出错gitk应用程序尝试创建其主窗口时创建(它正在尝试解析Xrmdb条目并执行相当于惊叹“Wat!?”的软件。)。

Xrdb是一种为GUI应用程序的各种属性指定默认值的方法。其中一个属性是背景颜色。在你的情况下,你可能有这样的条目:

Gitk.background: S_base3

或者也许:

*.background: S_base3

Xrdb实际上是在X根窗口(RESOURCE_MANAGER)的属性中维护的,并且它在所有应用程序中都是全局。默认内容通常从主目录中的文件(通常为~/.Xresources)初始化,但也可以由桌面环境设置。解决造成问题的原因可能很棘手,因为很多程序都可以写入该属性。

xrdb程序可用于编辑资源数据库。例如,您可以使用:

xrdb -query >xprops.txt

将当前内容列为xprops.txt。编辑文件以获得一些合理的值,然后使用:

xrdb -load <xprops.txt

安装新值。