이게 제목을 어떻게 달아야할지 좀 모호하다.
하고 싶은 건 이런 거다.
VS Code/Codium 을 사용하다가, Open Native Terminal(확장기능)으로 터미널을 열려고 한다. Shell 은 zsh/oh-my-zsh 로 설정돼 있다. 다만, 여기에 세부 요구 사항이 있다.
- oh-my-zsh theme 은 random 인데, 여기서만큼은 특정 theme 을 쓰고 싶다!!
이 조건을 만족시키고자.. 한 세시간쯤 또 꽃삽질을 한 듯 하다.
눈물 겨운 삽질기는 넘기고..
Tilix (복잡)
아래 설명할 konsole 에 비해 살짝 복잡하다. 이유는, 틸릭스에는 환경변수를 넣어줄 수 없기 때문이다.
다만, 여기에도 더 복잡한 방법과 살짝 복잡한 방법 두가지가 있다. (글을 다 쓰고 나서 다른 방법을 찾았기에 추가했더니..)
더 복잡한 방법
- Tilix 에서 프로파일(ex. Only Current Directory)을 만들고, ‘내 셸 대신 사용자 정의 명령어 실행’ 기능을 이용한다.
- 이를 위해 스크립트를 하나 만들고, 실행될 수 있도록 PATH 디렉토리에 넣는다.
- 이 스크립트명을 틸릭스 ‘명령어’ 항목에 넣는다.

스크립트 내용은 이렇다.
#!/bin/sh ZDOTDIR="$HOME/.vscode-oss/for_open_native_terminal_zshrc" zsh
이건 뭘까? 이 내용을 찾아내는 과정이 삽질이었는데.. oh-my-zsh 는 .zshrc 를 사용하여 자신을 실행시킨다. Theme 설정도 여기에 있다. ZSH_THEME="random"
이렇게 설정이 되어 있는데, 이걸 바꾸려면, 새로운 .zshrc 를 만들어줘야 한다.
ZDOTDIR
환경변수로 새로운 .zshrc 가 있는 위치를 지정해줄 수 있다. 따라서, 적당한 위치에 디렉토리(위에선 $HOME/.vscode-oss/for_open_native_terminal_zshrc)를 생성하고 .zshrc
를 원래 위치에서 복사해온 뒤(또는 새로 만들고), ZSH_THEME
을 적절하게 바꿔주면 밑밥은 끝났다.
살짝 복잡 (스크립트 없이)
위에선 스크립트를 만들어줬는데, 그럴 필요없이 직접 이렇게 명령을 넣어줘도 된다.
sh -c "ZDOTDIR=$HOME/.vscode-oss/for_open_native_terminal_zshrc zsh"
konsole
konsole 에는 환경변수를 넣는 곳이 따로 마련되어 있기 때문에, 거기에 넣어주면 된다.
Tilix 와 마찬가지로 프로파일을 만들어주고, 그곳에서 작업한다.

‘환경’ 을 누르고, ZDOTDIR=<경로>
를 넣어준다. 단, 여기선 $HOME 등은 안통하므로, 전체 경로를 모두 넣어줘야 한다.
마지막 작업.
VS Code 에서 Open-native-terminal 설정으로 가서, 위에서 만들어놓은 프로파일로 터미널이 실행될 수 있게 조정한다.

# Tilix /usr/bin/tilix -p 'Only Current Directory' # Konsole /usr/bin/konsole --profile 'Zsh Current Dir'
제대로 정리가 됐으려나…
참고로, 이렇게 터미널을 새로 열지 않고, 현재 터미널에서 그냥 새롭게 환경변수만을 바꾸고 싶다면 이런 식이면 된다.
export ZSH_THEME="new_theme" && source $ZSH/oh-my-zsh.sh