bashrc를 통해 스크립트를 실행하면 tmux 창이 중첩됩니다.

bashrc를 통해 스크립트를 실행하면 tmux 창이 중첩됩니다.

스크립트 파일에서 다음 tmux 코드를 사용 tmux-dev.sh하고 다음을 사용하여 bash에 추가하고 있습니다 bash /home/rohit/tmux-dev.sh.

tmux new-session -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d

이 스크립트는 tmux 창을 중첩시키고 다음 오류를 발생시킵니다: 창이 너무 작습니다. 놀랍게도 그놈 터미널 상자 bash tmux-dev.sh에 넣었을 때 완벽하게 작동했고 다음 화면이 나타났습니다.title and command스크린샷

이 문제를 해결하도록 도와주세요. 우분투 14.10을 사용하고 있습니다.

추신--어떤 도구도 제안하지 마십시오. 저는 이 동작과 원래의 쉘 스크립트 솔루션을 설명하기 위해 왔습니다.

답변1

@fiximan이 제안한 대로 tmux 세션이 존재하는지 테스트한 다음 일부 코드를 실행하고 마지막으로 약간의 조정을 통해 원하는 레이아웃을 얻을 수 있었습니다. 이것이 내가 내 항목에 추가한 내용입니다 .bashrc.

test -z "$TMUX" && (tmux new-session -d && tmux split-window -h && tmux split-window -v && tmux -2 attach-session -d)

위의 내용을 분해하여 설명하겠습니다.

  1. test -z "$TMUX" ->이는 이미 실행 중인 tmux 세션이 있는지 테스트하여 tmux 세션 중첩을 방지합니다.
  2. tmux new-session -d ->새 세션 만들기
  3. tmux split-window -h ->창을 세로로 분할
  4. tmux split-window -v ->창을 수평으로 분할
  5. tmux -2 attach-session -d->대화 첨부

노트 -연산자가 단락될 수 있으므로 &&연산자 대신 연산자를 사용했습니다 .||

관련 정보