"screen -D -R"에 해당하는 tmux가 있습니까?

"screen -D -R"에 해당하는 tmux가 있습니까?

tmux제가 말했듯 screen -D -R이 이 명령을 Putty에서 기본값으로 만들 수 있는 방법이 있는지 궁금합니다 .

screen스위치는 사용자의 기존 화면 세션을 강제로 분리하고(여전히 활성 상태이고 다른 곳에 로그인한 경우에도) 현재 세션에 다시 연결합니다. 또한 화면 세션이 없으면 새 화면 세션이 생성됩니다.

나는 tmux를 좋아하고 화면에서 분명한 이점을 볼 수 있지만 이 기능이 있으면 실제로 거래가 성사될 것입니다.

tmux attach그렇지 않으면 새 세션이 생성되지 않는 것 같습니다.

tmux 매뉴얼 페이지에는 다음과 같이 나와 있습니다.

서버가 시작되지 않은 경우, attachment-session(attach)는 서버를 시작하려고 시도합니다. 구성 파일에 세션이 생성되지 않으면 실패합니다.

굵은 부분은 무엇을 의미하나요? (conf 파일에서 세션을 생성하는 예를 찾을 수 없습니다).

답변1

예: tmux attach -d || tmux new.

-dscreen -D처럼 , 즉 다른 사람과 분리되어 행동해야 합니다 .

SSH를 통해 연결한 후 연결하거나 생성하는 방법은 다음과 같습니다.

$ cat bin/stmux
#!/bin/sh
exec ssh -t "$@" 'tmux attach -d || tmux new'

$ stmux my.remote.box

답변2

tmux attach세션이 없을 때 새 세션을 생성 하려면 new-sessiontmux 구성 파일의 옵션을 사용하십시오. 파일이 ~/.tmux.conf없으면 생성 후 추가

new-session

그것에. 그리고 제 별명 tmuxtmux attach:)

답변3

POSIX 호환 셸에서 작동하는 셸 함수를 사용하여 이를 시뮬레이션할 수 있습니다.

tmux() {
    if [ "$#" -ge 1 ] && [ "$1" = -z ]; then
        shift
        command tmux detach 2>/dev/null
        command tmux attach "$@" || command tmux new-session "$@"
    else
        command tmux "$@"
    fi
}

이제 로 실행하면 tmux -z원하는 작업이 수행됩니다.

답변4

나는 이것이 .bashrc에서 나에게 가장 적합하다는 것을 알았습니다.

if [[ -z $TMUX ]]; then
  tmux attach-session || tmux new-session
fi

관련 정보