문제

내 터미널에서는 256가지 색상이 훌륭하게 작동합니다(테스트 스크립트는 여기에서), 그러나 (Ruby-ncurses를 통해) ncurses를 사용하면 작동이 중지됩니다.해당 페이지에 제공된 이스케이프 시퀀스를 인쇄하면 문제 없이 작동하지만, ncurses를 초기화하면 'puts'가 작동을 멈추고 내가 찾은 다양한 ncurses 색상 변경/문자열 출력 기능을 사용하여 색상을 출력할 수 없습니다.무엇을 제공합니까?

도움이 되었습니까?

해결책 2

NJSF : 당신은 부분적으로 바로 여기에 있었고, 더 많이 땜질 한 후에는 결국 일을하게되었습니다. 당신의 도움을 주셔서 감사합니다. 스토리 : xterm (및 rxvt 및 eterm)은 탈출 시퀀스 (내가보고있는 것)를 통해 256 색을 지원하지만 'tput colors'는 '8'이라고 말하고 ncurses가 잘 연주되기 때문에 'tput colors'는 '8'이라고 말하고 ncurses는 그들에게 얻을 수 없을 것입니다. 그리고 Terminfo를 통해 액세스하려고합니다.

비슷한 고통을 가진 사람의 이익을 위해 :

/lib/terminfo/x/xterm color 및 기타 256 색 종단 파일을 얻기 위해 ncurses-term (ubuntu) 패키지를 설치해야한다는 것을 알았습니다. 그런 다음 용어를 xterm -256Color로 설정하고 라인 '*Customization : -Color'를 ~/.xdefaults에 추가했습니다. 'XRDB -Merge ~/.xdefaults'를로드하고 그 이후로 적절한 256 색상이 있습니다. 새로운 Xterms에서 지원.

다른 팁

이것이 전부인지는 확실하지 않지만 터미널 기능이 실제로 256색 설명을 제공하는지 확인하십시오.

TERM 환경 변수 값은 무엇입니까?xterm-256color로 설정하고 다시 실행해보세요.그러면 ncurses는 적절한 색상 이스케이프 시퀀스를 얻어야 합니다.

SXEmacs 개발에 사용하는 프로그램을 사용하여 터미널 기능과 터미널 색상 출력을 테스트할 수도 있습니다.

http://www.triatlantico.org/tmp/tty-colors.c

gcc -o tty-colors tty-colors.c -lncurses로 컴파일하세요.

편집하다:네트워크에서 발견된 스크립트가 256색을 출력한다고 해서 "모두 설정"된 것은 아닙니다.Curses 프로그램은 터미널과 상호 작용하는 방법을 찾기 위해 terminfo 및 termcap과 TERM 환경 변수를 사용합니다.따라서 저주 앱이 256색을 사용할 수 있으려면 TERM 변수를 256색을 지원하는 기존 터미널 이름으로 설정해야 합니다.위의 C 프로그램은 다음을 보여줍니다. 무엇 ncurses는 대부분의 스크립트(X.org의 스크립트도 포함)처럼 xterm 시퀀스를 출력하는 것이 아니라 터미널에 대해 생각합니다.

환경

Env [ 'term'] += '-256Color'if env [ 'term'] == 'xterm' # 256 색상 활성화

우분투 10.04 +에서 작동합니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top