tmux attach
명령 이상의 조합 같은 역할을 screen -r
하고 screen -x
– 먼저 가장 최근에 연결 할려고 분리 세션, 그리고 사용할 수없는 다음 경우는 현재 연결된 세션에 연결됩니다. 동작을 에뮬레이션하고 싶습니다 screen -R
. 먼저 분리 된 세션에 연결 한 다음 분리 된 세션이 없으면 새 세션을 시작하십시오. tmux에서 이것을 달성하는 가장 좋은 방법은 무엇입니까?
답변
IRC 마법사를 참조한 후이 동작이있는 단일 tmux 명령이 없다고 확신합니다. 운좋게도 쉘을 사용하여 에뮬레이션하는 것은 매우 쉽습니다.
(tmux ls | grep -vq attached && tmux at) || tmux
답변
tmux 매뉴얼에 나오는 내용에도 불구하고 :
The target-session rules for attach-session are slightly
adjusted: if tmux needs to select the most recently used session,
it will prefer the most recently used unattached session.
다음과 같은 상황에서는 Drew의 답변이 제대로 작동하지 않습니다.
0: 1 windows (created Wed Nov 7 23:51:08 2012) [177x47]
1: 1 windows (created Wed Nov 7 23:51:33 2012) [177x47] (attached)
tmux at
마지막 세션 (# 1)에 연결됩니다 (이 세션은 여전히 다른 곳에 연결되어 있지만). 이것은 여러 tmux 세션을 실행하고 분리 된 세션에만 연결한다는 아이디어를 완전히 파괴합니다 (mosh + tmux + iterm2를 사용하여 완벽한 로밍 터미널 생성).
또 다른 방법은 연결되지 않은 세션을 수동으로 선택하는 것입니다.
tmux ls | grep -vq attached && tmux at `tmux ls | grep -vm1 attached | cut -d: -f1`
답변
한 번에 두 개의 tmux 세션 만있는 경향이 있으므로 각 터미널 창에서 이와 같은 작업을 수행합니다.
터미널 창 0 :
tmux attach -t 0 || tmux new
터미널 창 1 :
tmux attach -t 1 || tmux new
답변
이것은 나를 위해 가장 잘 작동했습니다.
if [ -z "$TMUX" ]; then
(tmux ls | grep -vq attached && tmux at -t `tmux ls | grep -vm1 attached | cut -d: -f1`) || tmux new
fi
적절한 세션에 연결하려면 -t가 필요합니다.
답변
이건 어떤가요
tmux attach || tmux new
또는 파일 ~/.tmux.conf
이 존재하지 않으면 파일을 만들고 추가하십시오.
new-session
실행할 때 새 세션이 없을 때 새 세션을 작성합니다 tmux attach
.
에 tmux
대한 별칭을 만드는 것이 편리 할 수도 있습니다 tmux attach
.