
1. 상황

연구실에서 tmux로 세션을 관리하는데
세션에 진입할 때마다 bash 설정(e.g. auto-completion)도 로드가 안 되고,
색상도 적용이 안 되는 no color 이슈가 있어서 stack overflow를 참고해서 해결해봤다.
참고로 연구실 서버에서는 zsh를 사용하지 못하는 상황이라 .bashrc에 대해서만 작성했다.
애초에 .zshrc는 특정 설정을 건드리지 않았다면 제대로 sourcing된다는 것 같다.
원인과 해결책은 매우 간단한 편이다.
2. 원인
2-1. .bashrc not sourcing
사실 이 부분은 연구 때문에 바빠서 자세히는 이해하지는 못했다.
간략히는 Bash init file과 연관된 문제라고 한다.
.bashrc 파일은 interactive, non-login shell 방식에서 사용이 된다.
하지만 tmux는 기본적으로 login shell 방식을 사용한다.
그렇기 때문에 tmux가 세션을 실행할 때는 .bashrc 파일을 스킵해버리는 것이다.
이와 관련된 더 자세한 내용은 하단의 Refs. [1]에서 확인할 수 있다.
2-2. tmux color not working
원인은 tmux가 TERM 환경 변수 값을 기본적으로 screen_(8 colors)_로 설정하기 때문이라고 한다.
이는 설계 원칙과도 관계가 있는데,
호환성을 위해 최소 설정, 안전한 설정으로 시작하고, 추가적인 커스텀은 사용자가 필요할 때만 하라는 것이다.
3. 방법
3-1. Bash 설정 불러오기
cd ~으로 home dir로 이동- 텍스트에디터(e.g. vim)로
.profile혹은.bash_profile파일을 오픈 - 아래 코드를 붙여넣은 뒤, 저장하기
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
3-2. Color palette 적용하기
cd ~으로 home dir로 이동- 텍스트에디터(e.g. vim)로
.tmux.profile을 생성 후 오픈 - 아래 코드를 붙여넣은 뒤, 저장하기
set -g default-terminal "screen-256color"
더 깔롱진 테마를 적용하는 방법도 있긴 한데
그렇게까지 해야하나 싶어 이 글에서는 다루지 않겠다.
Refs.
[1] https://unix.stackexchange.com/questions/320465/new-tmux-sessions-do-not-source-bashrc-file
[2] https://askubuntu.com/questions/925881/tmux-colors-not-working
'연구 · 개발 이야기 > 문제해결' 카테고리의 다른 글
| 버그 해결 | 티스토리 다크모드 글자색 전환 안 되는 버그 해결하기 (0) | 2025.07.01 |
|---|