iTerm2의 별도 창에서 새 tmux 세션을 시작하는 방법은 무엇입니까?

iTerm2의 별도 창에서 새 tmux 세션을 시작하는 방법은 무엇입니까?

iTerm2의 별도 창에서 tmux 세션을 시작하고 싶습니다. 이제 세션을 시작하기 위해 자체 구성 스크립트를 작성하고 있습니다.

tmux new-session -s dev -n main -d
tmux send-keys -t dev "cd $DL" C-m
tmux split-window -h -t dev
tmux split-window -v -t dev -p 30
tmux resize-pane -x 70 -y 20
tmux attach -t dev

그러면 새 세션이 시작되지만 창은 iTerm2의 새로운 별도 창이 아니라 스크립트를 실행하는 창에 있습니다.

그래서 tmux new-session -s dev -n main -d첫 번째 줄( )을 로 변경했는데 tmux -CC new -t dev세션이 새 창에서 시작되었음에도 분할 및 크기 조정이 되지 않았습니다. 새 창에서 새 세션을 여는 것 같습니다.

디렉토리 변경, 창 분할 등을 포함한 모든 초기 설정을 새 창에서 시작하려면 어떻게 해야 합니까?

답변1

AppleScript를 사용하여 다음을 수행할 수 있습니다.

$ cat a.bash
#!/bin/bash
osascript - "$@" <<EOF
on run argv
tell application "iTerm"
    activate
    set new_term to (create window with default profile)
    tell new_term
        tell the current session
            repeat with arg in argv
               write text arg
            end repeat
        end tell
    end tell
end tell
end run
EOF

이는 인수를 다른 iterm2 터미널로 전달할 수 있는 스크립트를 제공합니다.

예를 들어:

$ ./a.bash "echo 'hello iterm2'"

   iterm2에 의해 시작된 ss

인용하다

답변2

거의 다 왔습니다. 제어 모드 명령은 대부분 정확하지만 교체해야 합니다.마지막첫 번째 행이 아닌 해당 행에 맞춰 정렬하세요. 다음 줄을 마지막 줄로 사용하세요.

tmux -CC attach -t dev

그런데 처음 두 줄을 하나로 결합할 수 있습니다.

tmux new-session -s dev -n main -d "cd $DL; $SHELL"

관련 정보