我有256種顏色在我的終端中很好用(test scripts here),但當我使用ncurses(通過Ruby-ncurses)時,它停止工作。打印在該頁面上給出的轉義序列工作正常,但是當我初始化ncurses'puts'停止工作,並且我無法用任何我發現的各種ncurses顏色改變/字符串輸出函數輸出顏色。是什麼賦予了?從ruby-ncurses中獲取256種顏色
回答
njsf:你是部分就在這裏,和後修補更多我最終得到它的工作。謝謝你的幫助。故事:XTerm(和rxvt和Eterm)通過轉義序列(我所看到的)支持256種顏色,但'輸出顏色'會說'8',而ncurses將無法獲得它們,因爲ncurses在播放很好並嘗試通過terminfo進行訪問。
對於具有相似痛苦的人的利益:
我發現我需要安裝ncurses的期限(Ubuntu的)包以獲得/ lib中/的terminfo/X/xterm方式256color等256color terminfo的文件。然後,我將TERM設置爲xterm-256color並將'* customization:-color'添加到我的〜/ .Xdefaults中,運行'xrdb -merge〜/ .Xdefaults'加載它,從此我有適當的256色支持新的xterm。
我不確定這是否是所有的故事,但請確保您的終端功能確實提供了256種顏色描述。
什麼是TERM環境變量值?嘗試將其設置爲xterm-256color並重新運行它。 ncurses應該得到正確的顏色轉義序列。
您還可以測試終端的能力和終端的彩色輸出與我們在SXEmacs開發使用的程序:
http://www.triatlantico.org/tmp/tty-colors.c
編譯使用gcc -o TTY的顏色TTY-colors.c -lncurses
編輯: 請注意,只是因爲在網上找到的腳本輸出256色,這不是「全部設置」。 Curses程序依賴terminfo和termcap以及TERM環境變量來找出如何與終端進行交互。 因此,爲了讓curses應用程序能夠使用256色,人們應該將TERM變量設置爲支持256色的現有終端名稱。上述 C程序會告訴你 ncurses的想着你的終端,而不僅僅是輸出最喜歡的腳本xterm的序列做[甚至從X.org一]什麼
設置
ENV [ 'TERM'] + = '-256color' 如果ENV [ 'TERM'] == '的xterm' #激活ubuntu上256個色
作品10.04 +
- 1. 在Emacs * shell中獲取256種顏色*
- 2. vim和256種顏色ConEmu
- 3. 從TextView Android中提取多種顏色
- 4. 從顏色詞獲取顏色代碼
- 5. 獲取圖像前10種顏色
- 6. 如何從pdf中獲取某種顏色的文本c#
- 7. 獲取從顏色類
- 8. 從int獲取顏色
- 9. 從xml值獲取顏色
- 10. 從CGContext獲取顏色?
- 11. 獲取iOS中捕獲圖像中每種顏色的強度
- 12. Seaborn:從factorplot/facetgrid獲取顏色/色調
- 13. 從.png文件中獲取顏色的HTML顏色代碼?
- 14. 以編程方式從顏色中獲取選擇的顏色
- 15. 從兩種顏色(從漸變)計算中間顏色
- 16. 從數值中獲取顏色值
- 17. 從圖像中獲取像素顏色
- 18. 從PDFBox中獲取字體的顏色
- 19. 從圖片中獲取像素顏色?
- 20. 從我的JButton中獲取顏色
- 21. 從雙值中獲取顏色
- 22. 我想創建我的圖像的256種顏色變化
- 23. 在UIView中將背景色從一種顏色淡出到另一種顏色
- 24. 從一種顏色到另一種顏色到百分比
- 25. 從一種顏色到另一種顏色的插值
- 26. 如何從C#中的硒webdriver中的顏色調色板中獲取顏色#
- 27. 從兩種佈局顏色
- 28. 背景顏色50%一種顏色和50%另一種顏色
- 29. 獲取ActionBar顏色
- 30. matlab獲取顏色
是的,來到這裏建議適當地設置您的終端。對於任何駕駛型讀卡器來說,這也是一個小點。例如Mac OS X Terminal.app僅支持16種顏色,因此您可以在X11上使用iTerm或XTerm,或者忘記它! – ocodo 2011-01-25 03:58:21