dialog configuration
dialog의 runtime configuration file 작성, 적용 순서, 안전한 생성·검증 방법을 정리한다.
Summary
- 기본 사용자 설정 file은
$HOME/.dialogrc다. DIALOGRC로 다른 설정 file을 지정할 수 있다.- 설치본이 이해하는 key와 초기값은 직접 작성하지 말고
dialog –create-rc가 생성한 template을 기준으로 삼는다.
File Location
| 위치 또는 변수 | 의미 |
|---|---|
$HOME/.dialogrc | 기본 사용자 설정 file이다. |
DIALOGRC | 기본 경로 대신 읽을 설정 file을 지정한다. |
system-wide 위치와 compile-time 기능은 배포판 build에 따라 다를 수 있다. 현재 적용 file을 명확하게 제어해야 할 때는 DIALOGRC를 command 범위에만 지정한다.
Authoring
먼저 현재 설치본이 지원하는 template을 임시 file에 생성해 검토한다.
tmp_rc=$(mktemp) dialog --create-rc "$tmp_rc" less "$tmp_rc"
검토 후 사용자 설정으로 복사한다. 기존 설정이 있으면 덮어쓰기 전에 backup과 diff를 확인한다.
test -e "$HOME/.dialogrc" && cp "$HOME/.dialogrc" "$HOME/.dialogrc.bak" cp "$tmp_rc" "$HOME/.dialogrc" rm -f "$tmp_rc"
release나 build option에 따라 지원 key가 달라질 수 있다. 다른 host에서 생성한 file을 그대로 배포하기보다 대상 host의
–create-rc 결과와 비교한다.
Common Fields
생성된 template에는 일반적으로 shadow 사용 여부, aspect ratio, 각 widget 영역의 foreground/background color와 text attribute가 포함된다.
- boolean 값은 생성된 template의
ON/OFF표기를 유지한다. - color와 attribute는 template 주석에 나열된 허용값만 사용한다.
- 알 수 없는 key를 임의로 추가하지 않는다.
- 한 번에 작은 범위만 바꾸고 실제 terminal에서 확인한다.
Precedence
- command에
DIALOGRC가 설정되어 있으면 해당 file을 사용한다. - 그렇지 않으면 기본 사용자 file
$HOME/.dialogrc를 확인한다. - command-line common option은 해당 invocation의 표시 동작을 조정한다.
정확한 precedence와 compile-time 기본값은 사용 중인 dialog(1) manual 및 생성 template을 기준으로 한다.
Validation
별도 설정을 command 하나에만 적용해 test한다.
DIALOGRC="$HOME/.dialogrc.test" dialog --msgbox "설정 시험" 8 40
terminal 크기와 색상 수를 함께 확인한다.
dialog --print-maxsize tput colors printf 'TERM=%s\n' "$TERM"
Troubleshooting
설정이 적용되지 않음
printf '%s\n' "${DIALOGRC-}"로 다른 file이 지정되어 있는지 확인한다.- file 권한과 syntax를 확인한다.
- 대상 host에서 새 template을 생성하고 현재 file과 diff한다.
색상이 읽기 어려움
- 낮은 color capability의 terminal과 밝은/어두운 배경을 각각 시험한다.
- 중요한 상태를 color만으로 구분하지 않는다.
- 문제가 지속되면 생성 template의 기본 color로 되돌린다.
See Also
History
- codex:: 2026-08-10
dialogrc생성, 위치, precedence, validation을 다루는 설정 page를 추가함.