为什么安装 Anaconda 后程序突然抱怨缺少“xterm-kitty”?(tput:未知终端“xterm-kitty”)

为什么安装 Anaconda 后程序突然抱怨缺少“xterm-kitty”?(tput:未知终端“xterm-kitty”)

运行时出现此错误vimpager

(base) fred@mapache:~$ echo xidel --xquery `printf "%q" 'let $fonts := //tags/*[name()="DefineFont2"]'$'\n''for $font in $fonts let $oid := $fonts/@objectID/data()'$'\n''let $glyphs := $fonts//Glyph/@map'$'\n''let $fontmaps := <font>'$'\n''<id>{$oid}</id>'$'\n''{for $g in $glyphs let $idx := index-of($glyphs,$g) return (<g idx="{$idx}">{codepoints-to-string($g/data())}</g>, "&#xa;")}</font>'$'\n''let $texts := <t>{for $r in //tags/*[name()="DefineText2"]//* return for $gg in $r//glyphs return <gg>{$gg//TextEntry2//@glyph/data()}</gg>}</t>'$'\n\n''return <root>{$fontmaps}{$texts}</root>'` --input-format=xml --output-format=xml --data=- '<' /tmp/db.xml|vimpager -c 'setf bash'
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"

答案1

任何不常见的情况都会发生这种情况$TERM,因为 Anaconda 设置了自己的terminfo目录:

(base) fred@mapache:~$ infocmp -D
/home/fred/.miniconda3/share/terminfo

因此,您可以通过复制 terminfo 文件来修复此问题:

KITTY=$(find `env -i infocmp -D` -name xterm-kitty) && [ ! -z "$KITTY" ] && cp "$KITTY" "$CONDA_PREFIX/share/terminfo/x/xterm-kitty" || (>&2 echo "Failed to copy!")

如果您看到,Failed to copy!您需要确保您已经安装了 Kitty 的 terminfo。

相关内容