Python에서curse를 사용할 때 많은 사람들이 다음과 같은 오류 메시지를 받습니다:
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, 내 터미널은UrxVT.
export TERM=linux
실제로 이 부분 만 필요하다는 것을 깨달았습니다 .
.profile에 추가해 보았지만 export TERM=linux
도움이 되지 않았습니다.
.bashrc에 추가하면 export TERM=linux
문제는 해결됐지만, TERM을 기본값에서 변경하면 다른 것들이 작동하지 않을까봐 걱정됩니다 rxvt-unicode-256color
.