나는 제한된 UI를 위한 작은 창을 만들기 위해 대화 상자 도구(ncurses 기반)를 사용하고 있습니다.
그런데 색깔을 알 수가 없어요. 내가 하는 일은 터미널의 기본 색상을 변경하는 것이 아닙니다.
시작 후 대화 상자 파일을 만들어 /etc 또는 $HOME에 넣습니다. 이것은 내 대화입니다.
#
# Run-time configuration file for dialog
#
# Automatically generated by "dialog --create-rc <file>"
#
#
# Types of values:
#
# Number - <number>
# String - "string"
# Boolean - <ON|OFF>
# Attribute - (foreground,background,highlight?)
# Set aspect-ration.
aspect = 0
# Set separator (for multiple widgets output).
separate_widget = ""
# Set tab-length (for textbox tab-conversion).
tab_len = 0
# Make tab-traversal for checklist, etc., include the list.
visit_items = OFF
# Shadow dialog boxes? This also turns on color.
use_shadow = ON
# Turn color support ON or OFF
use_colors = ON
# Screen color
screen_color = (RED,BLACK,ON)
# Shadow color
shadow_color = (BLACK,BLACK,ON)
# Dialog box color
dialog_color = (BLACK,WHITE,OFF)
# Dialog box title color
title_color = (BLUE,WHITE,ON)
# Dialog box border color
border_color = (WHITE,WHITE,ON)
# Active button color
button_active_color = (WHITE,BLUE,ON)
# Inactive button color
button_inactive_color = dialog_color
# Active button key color
button_key_active_color = button_active_color
# Inactive button key color
button_key_inactive_color = (RED,WHITE,OFF)
# Active button label color
button_label_active_color = (YELLOW,BLUE,ON)
# Inactive button label color
button_label_inactive_color = (BLACK,WHITE,ON)
# Input box color
inputbox_color = dialog_color
# Input box border color
inputbox_border_color = dialog_color
# Search box color
searchbox_color = dialog_color
# Search box title color
searchbox_title_color = title_color
# Search box border color
searchbox_border_color = border_color
# File position indicator color
position_indicator_color = title_color
# Menu box color
menubox_color = dialog_color
# Menu box border color
menubox_border_color = border_color
# Item color
item_color = dialog_color
# Selected item color
item_selected_color = button_active_color
# Tag color
tag_color = title_color
# Selected tag color
tag_selected_color = button_label_active_color
# Tag key color
tag_key_color = button_key_inactive_color
# Selected tag key color
tag_key_selected_color = (RED,BLUE,ON)
# Check box color
check_color = dialog_color
# Selected check box color
check_selected_color = button_active_color
# Up arrow color
uarrow_color = (GREEN,WHITE,ON)
# Down arrow color
darrow_color = uarrow_color
# Item help-text color
itemhelp_color = (WHITE,BLACK,OFF)
# Active form text color
form_active_text_color = button_active_color
# Form text color
form_text_color = (WHITE,CYAN,ON)
# Readonly form item color
form_item_readonly_color = (CYAN,WHITE,ON)
# Dialog box gauge color
gauge_color = title_color
# Dialog box border2 color
border2_color = dialog_color
# Input box border2 color
inputbox_border2_color = dialog_color
# Search box border2 color
searchbox_border2_color = dialog_color
# Menu box border2 color
menubox_border2_color = dialog_color
그런 다음 설정을 테스트하기 위해 다음 스크립트를 시도했습니다.
#!/bin/sh
dialog --colors --title 'Message' --msgbox "\Zb\Z3HELLO\Z2 WORLD" 5 20
최소한 컬러 텍스트가 포함된 창을 원하지만 검은색 텍스트만 표시됩니다. 그러나 텍스트는 굵게 표시됩니다.
나는 buildroot를 사용하고 있으며(그래서 대화 상자를 컴파일하고 --use-ncurse-colrs 옵션을 추가했습니다) 테스트를 위해 QEMU를 사용하고 있습니다.
편집하다: echo $TERM은 vt100을 표시하고 sh를 사용하고 있으며 buildroot의 경우 ash이지만 bash를 사용해 보았지만 문제가 지속됩니다.
내가 뭔가를 잊었나요?
도와주셔서 감사합니다 :)
답변1
Thomas Dickey 덕분에 해결책을 찾았습니다. TERM 변수를 "vt100" 대신 "linux"로 설정합니다.
이 링크는 이 변수와 그 목적에 대해 자세히 알아보는 데 도움이 됩니다. http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-11.html