tmux .bash_profile 동작 변경

tmux .bash_profile 동작 변경

.bash_profile에 X 세션 시작을 요청하는 스크립트가 있습니다. tmux를 시작하면 TTY 로그인만 사용하고 있다는 메시지가 표시됩니다.

.bash_profile이 tmux의 일부인 경우 bash를 실행하는 항목을 거기에 넣을 수 있습니까? 즉, bash를 사용하여 tmux에서 .bash_profile을 읽었는지 확인할 수 있나요?

답변1

$TMUXtmux는 사용 중인 소켓의 위치를 ​​보유하고 있다고 생각되는 tmux라는 환경 변수를 설정합니다 . 어느 쪽이든 프로그램에서 이를 사용하여 .bash_profiletmux에서 호출되었는지 테스트할 수 있습니다.

if [ -z "$TMUX" ]; then
    # not in tmux, do non-tmux things
fi

또는

if [ -n "$TMUX" ]; then
    # called inside tmux session, do tmux things
fi

답변2

저는 보통 $TERM테스트용으로 사용합니다. 기본적으로 "화면"으로 설정합니다 screen.tmux

답변3

TMUXexport직접 대체 할 수 있습니다 . 이 기능은 사용자가 여러 명 tmux이고 본인만 사용하려는 경우에 유용합니다 source.

에 다음 줄을 추가합니다 ~/.tmux.conf.

if-shell shell-command export SOMEONE_USING_TMUX=1

그리고 다음 줄을 ~/.bash_profile.

if [[ ! -z "$SOMEONE_USING_TMUX" ]]; then
    # source for yourself
fi

관련 정보