# 터미널 색상은 까다로움

> Clean Markdown view of GeekNews topic #17063. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17063](https://news.hada.io/topic?id=17063)
- GeekNews Markdown: [https://news.hada.io/topic/17063.md](https://news.hada.io/topic/17063.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-10-04T09:51:37+09:00
- Updated: 2024-10-04T09:51:37+09:00
- Original source: [jvns.ca](https://jvns.ca/blog/2024/10/01/terminal-colours/)
- Points: 2
- Comments: 1

## Topic Body

- 터미널 색상 설정은 많은 사람들에게 어려운 문제임. 특히 "검은 배경에 파란색"은 읽기 어려운 조합으로 자주 언급됨.  
- ANSI 색상은 16가지로 구성되며, 각 터미널 에뮬레이터가 색상을 다르게 해석할 수 있음.  
  
##### 문제 1: 검은 배경에 파란색  
  
- 검은 배경에 파란색 텍스트는 읽기 어려움.  
- ANSI 색상은 표준이 없어서 터미널마다 다르게 보일 수 있음.  
  
##### 문제 1.5: 흰색 배경에 밝은 노란색  
  
- 흰색 배경에 밝은 노란색은 거의 읽을 수 없는 수준임.  
- 색상 대비 문제를 해결하기 위해 터미널 에뮬레이터의 색상을 재구성할 수 있음.  
  
##### 색상 재구성 방법  
  
- **방법 1: 터미널 에뮬레이터 설정** : 대부분의 현대 터미널 에뮬레이터는 색상 재구성 기능을 제공함.  
- **방법 2: 쉘 스크립트 실행** : ANSI 이스케이프 코드를 사용하여 터미널 색상을 변경할 수 있음.  
  
##### 문제 2: 256색 사용 프로그램  
  
- `fd`와 같은 프로그램은 확장된 256색 세트를 사용하여 색상 대비가 나쁠 수 있음.  
- 일부 최신 도구는 사용자 정의 테마를 지원하여 다양한 터미널 테마와 잘 작동함.  
  
##### 문제 3: Solarized 테마의 회색  
  
- Solarized 테마의 회색은 디렉토리와 실행 파일의 색상에 영향을 미침.  
- 기본 Solarized 테마는 회색을 사용하지만, 수정된 base16 버전은 밝은 색상을 사용함.  
  
##### 문제 4: 터미널 배경과 맞지 않는 vim 테마  
  
- vim 테마의 배경색이 터미널 테마와 다르면 경계가 생길 수 있음.  
  
##### 문제 5: 프로그램의 배경색 설정  
  
- `ngrok` 같은 프로그램이 원치 않는 배경색을 설정할 수 있음.  
- `base16-shell` 스크립트는 추가 색상을 제공하기 위해 색상 #16을 밝은 주황색으로 설정함.  
  
##### 문제 6: 잘못 설정된 `TERM`  
  
- `TERM` 환경 변수가 잘못 설정되면 색상이 제대로 표시되지 않을 수 있음.  
  
##### 문제 7: 좋은 색상 선택의 어려움  
  
- 색맹인 사람들은 적절한 색상 조합을 찾기 어려움.  
- 배경색과 커서 색상이 비슷하면 찾기 어려울 수 있음.  
  
##### 문제 8: nethack/mc의 색상 문제  
  
- nethack이나 midnight commander 같은 프로그램은 특정 색상 테마를 기대할 수 있음.  
- 프로그램 시작 전에 색상 팔레트를 변경하여 문제를 해결할 수 있음.  
  
##### 문제 9: 파이프에 쓰기 시 색상 비활성화  
  
- `fd | less`와 같은 명령어는 색상을 비활성화함.  
- `unbuffer fd | less -r`을 사용하여 색상을 볼 수 있음.  
  
##### 문제 10: `ls`와 다른 명령어의 원치 않는 색상  
  
- `ls`의 색상을 비활성화하거나 사용자 정의할 수 있음.  
  
##### 문제 11: vim의 색상 문제  
  
- vim 색상 설정은 ANSI 색상과 24비트 색상 두 가지 방법이 있음.  
- 2016년 이후 vim은 24비트 색상을 지원함.  
  
##### 기타 문제  
  
- 여러 프로그램의 조합에서 발생하는 문제는 다루기 어려움.  
  
##### base16의 효과  
  
- base16-shell과 base16-vim을 사용하여 성공적으로 색상을 설정할 수 있었음.  
- 제한된 내장 테마와 ANSI 색상 설정의 문제점이 있을 수 있음.  
  
##### 기타 색상 테마 도구  
  
- rootloops.sh와 같은 색상 테마 생성 도구가 있음.  
- 인기 있는 색상 테마로는 catpuccin, Monokai, Gruvbox, Dracula 등이 있음.  
  
##### GN⁺의 정리  
  
- 터미널 색상 설정은 복잡하지만, 최소 대비 기능을 사용하면 많은 문제를 해결할 수 있음.  
- 다양한 색상 테마와 도구를 활용하여 사용자 경험을 개선할 수 있음.  
- 터미널 색상 설정은 개인의 취향과 필요에 따라 다르게 적용될 수 있음.  
- 비슷한 기능을 가진 다른 프로젝트로는 Solarized, Gruvbox 등이 추천됨.

## Comments



### Comment 29652

- Author: neo
- Created: 2024-10-04T09:51:37+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41727971) 
- 다양한 화면과 설정에서 밝은 테마가 어두운 테마보다 미묘하게 다르게 보임을 발견함. 이는 다양한 컴퓨터에 테마를 이식할 때 심각한 문제임
  - 제한된 폰트와 색상 지원을 가진 Linux 또는 BSD 콘솔로 전환할 때 문제가 발생할 수 있음. fbterm을 사용하여 X 없이도 괜찮은 터미널 기능을 얻었지만, fbterm 자체의 문제도 존재함. vim 색상 설정 시 기능이 부족한 콘솔을 위한 대체 테마를 준비해야 함

- 터미널 에뮬레이터의 기본 색상 테마가 좋지 않으므로 변경해야 함. 개인적으로 Solarized 테마를 선호함
  - 8비트 또는 24비트 색상 이스케이프 시퀀스를 사용하는 CLI 도구를 피해야 함. 이는 사용자에게 적대적일 수 있음. 개발자가 색상 테마를 기본으로 설정하는 것은 도움이 되지 않음

- 밝은 테마를 사용하고 싶었으나, 많은 프로그램이 어두운 배경에 최적화된 색상을 사용하여 포기함. 현재는 어두운 배경에 ANSI 테마를 사용하여 충분한 대비를 유지하고 있음

- 새로운 APCA 알고리즘을 사용하여 색상을 확인하는 것이 좋음. APCA는 글꼴 크기, 무게, 전경/배경, 주변 조명 등을 고려함

- 색상을 완전히 비활성화하려는 사람들도 있음. 개인적으로 시도해보고 싶지만, 예쁜 색상도 좋아함

- Emacs의 frame-background-mode가 잘못 설정되어 색상이 좋지 않게 보일 수 있음

- FlatUI 색상 테마를 약간 수정하여 사용 중이며, 큰 문제 없이 사용하고 있음

- 네온 사인이나 LED 이름판의 파란색이 밤에 눈에 가장 부담스러움. 멀리서 보면 흐릿하고 초점이 맞지 않음

- 터미널 색상에 대한 관심이 줄어들었으며, 색상 조정이 생산성에 긍정적인 영향을 미치지 않음. 기본 Apple 터미널 'pro' 테마의 배경 대비만 약간 조정함

- 터미널 색상 선택에 시간을 많이 썼으나, 이제는 흰색 배경에 검은색 텍스트를 사용함. 낮에는 눈부심이 없고, 밤에는 f.lux를 사용하여 눈의 피로를 줄임
