Linux Terminal 에 Git branch + Conda 환경 동시에 표시하기

2022. 7. 17. 16:20DevTips

Linux Terminal 의 .bashrc 를 커스터마이징하면 터미널을 자기에게 맞게 유용하고 편하게 쓸 수 있는 방법은 무궁무진하다. 나는 사실 로컬에서 작업하는 경우는 거의 없고 웬만하면 원격 리눅스 개발서버에서 작업을 하고, 또 그 개발서버가 꽤나 그 수가 많기 때문에 하나하나 커스터마이징 하기는 귀찮기도 해서 잘 하지 않는 편이다. 따라서 최소한 내가 필요한 편의기능만 터미널에 보일 수 있도록 커스터마이징 하는데 그게 이 두가지이다.

 

  1. Anaconda 가상환경이 보이는 것
  2. 현재 Git branch 를 나타내는 것

 

이 두 가지 외에는 잘 건드려고 하지 않는다. 따라서 나같은 미니멀한 유저 중에서 위 2가지만 필요한 사람들이 있다면 내 설정을 참고해서 세팅해보는 것도 좋을 것 같다.

 

Environments

  • Ubuntu 18.04 (사실 리눅스 환경이면 배포판이나 버전은 큰 상관없다)
  • Anaconda 가 설치되어 있음

 

Anaconda 가상환경이 보이도록 설정

사실 이건 Anaconda 가 설치되어 있는 환경이라면 기본적으로 아래와 같이 나타날 것이다. 이건 Anaconda 가 설치되면서 conda init 이 자동으로 실행되게 하도록 디폴트 옵션을 건들지 않았다면, 자동으로 적용되어 있을 것이므로 요건 생략하도록 한다. 

 

Anaconda 를 정상적으로 설치했다면 conda init 에 의해서 터미널에 진입하면 자동으로 base 라는 이름의 conda 가상환경에 진입되도록 설정된다.

 

현재 Git branch 를 나타내도록 설정

~/.bashrc 의 아래 부분을 수정한다. 우분투를 설치하고 따로 이 파일을 안건드렸다면, 대걍 59~62번째 줄에 위치한다. 해당 부분을 아래와 같이 추가하고 수정해준다.

 

  • 수정 전
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
  • 수정 후
# git_branch() 라는 함수를 추가
git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}

if [ "$color_prompt" = yes ]; then
	# 요기 PS1 만 수정해주면 된다. else 쪽은 안건드려도 큰 문제없다.
    PS1="${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\033[00;36m\]\$(git_branch)\[\033[00m\]\$ "
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

 

수정해주고 파일을 저장한 후에 터미널을 한번 종료하든가, 그게 귀찮으면 아래 명령어로 수정된 .bashrc 를 적용해준다.

source ~/.bashrc

 

 

이렇게 해주면, Git repository 와 연동된 디렉토리에 들어가면 아래와 같이 이쁘게 conda 환경 및 Git branch 정보가 이쁘게 표시된다.