자주 업데이트되는 일부 값을 표시하기 위해 ncurses와 color를 사용하지만 좀처럼 관심을 두지 않는 파이썬에서 약간의 모니터링 스크립트를 작성했습니다. 중요한 변화를 알려주기 위해 필자는 이러한 가치가 흥미로운 영역에 들어갈 때 텍스트가 검은 색에서 흰색으로 바뀌도록 설정했습니다. 이것은 내 Linux (openSuSE 12.2) 상자에서 제대로 작동하지만 Solaris 10에서 curses.can_change_color()는 내가 시도한 것에 관계없이 항상 False를 반환합니다. 두 플랫폼 모두 Python (2.7.2)과 ncurses (5.7)의 동일한 버전을 사용하고 있습니다. 나는 여러 터미널 에뮬레이터를 사용할 수있다 (gnome-terminal, xterm, rxvt). 모두 내 셸 프롬프트를 빨간색으로 표시 할 수 있으므로 색상을 지원한다는 것을 알고 있습니다. 저는 TERM을 xtermc, xterm-color, rxvt, rxvt-16color를 포함한 많은 xterm 변종들로 설정하려고했습니다. 이러한 터미널 이름 중 일부는 기본 위치에 있지 않으므로 terminfo 기능 데이터베이스를 가리 키도록 TERMINFO를 설정해야하는 경우가 있습니다. 따라서 내가 원하는 항목을 찾을 수 있습니다.Curses can_change_color()는 항상 False를 반환합니다.
Python curses.can_change_color() 함수는 동일한 이름의 ncurses 라이브러리 루틴을 둘러싼 단순한 래퍼입니다. 왜 항상 False를 반환합니까?
내 ncurses (openSUSE 42.1)는'TERM = xterm-256color' 인 경우 can_change_color()에 대해 'true'를 반환합니다. 'xterm'은 실제로 색상을 변경할 수 있습니다. –
@MartinVidner : 감사합니다. 우분투에서도 저에게 도움이되었습니다. –