很多人在Python中使用curses时收到以下错误消息:
Traceback (most recent call last):
File "/home/bertil/anaconda3/bin/vd", line 152, in <module>
main()
File "/home/bertil/anaconda3/bin/vd", line 130, in main
vdtui.run(*sources)
File "/home/bertil/anaconda3/lib/python3.7/site-packages/visidata/vdtui.py", line 2841, in run
ret = wrapper(cursesMain, sheetlist)
File "/home/bertil/anaconda3/lib/python3.7/site-packages/visidata/vdtui.py", line 2831, in wrapper
return curses.wrapper(setupcolors, f, *args)
File "/home/bertil/anaconda3/lib/python3.7/curses/__init__.py", line 73, in wrapper
stdscr = initscr()
File "/home/bertil/anaconda3/lib/python3.7/curses/__init__.py", line 30, in initscr
fd=_sys.__stdout__.fileno())
_curses.error: setupterm: could not find terminal
我已经能够通过运行解决该问题:
export TERMINFO=/bin/zsh
export TERM=linux
但是,每次打开新终端时我都必须执行此操作,从长远来看,这会变得非常烦人,特别是因为我经常使用像 visidata 这样的工具(这会产生上述错误)。
我在带有 i3 的 Manjaro Linux,我的终端是乌尔克斯VT。
我意识到我实际上只需要这个export TERM=linux
部分。
我尝试将其添加到 .profile 中,但export TERM=linux
没有帮助。
添加export TERM=linux
到 .bashrc 解决了问题,但我担心在从默认值更改 TERM 时其他事情不起作用rxvt-unicode-256color
。