在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)

怎么解决?

最佳答案

这是相当棘手的,老派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

安装新值。

07-24 09:22