답변:
몇 가지 옵션이 있습니다.
ls
창에서 실행하는 대신 쉘을 실행 한 다음 쉘 키 입력을 보내서 실행하십시오.
tmux start-server
tmux new-session -d -s session
tmux new-window -t session:1
tmux send-keys -t session:1 ls C-m
다른 명령을 실행 한 후 bash 쉘을 사용하는 방식으로 일련의 명령을 점심 식사 할 수 있습니다.
tmux start-server
tmux new-session -d
tmux new-window 'ls;bash -i'
프로세스가 종료 된 후 창을 활성remain-on-exit
상태로 유지하여 출력을 검토 할 수 있는 옵션 에 대한 자세한 내용 은 jasonwryan의 답변 을 참조하십시오 .
일부 명령의 출력을 한 번 볼 가치가 있다면 새로 고칠 가치가 있습니다. 무언가의 출력을 모니터링하는 경우 watch
주기적으로 새로운 출력을 얻을 수 있습니다 . 이것은 다음과 같은 창에서 잘 작동합니다 tmux
.
tmux start-server
tmux new-session -d
tmux new-window 'watch -n 60 ls'
start-server
명령 없이 저를 위해 일하고 있습니다. 필요하다면 자동으로 시작된다고 생각합니다. 그럼에도 불구하고 명시 적으로 호출하는 이점이 있습니까?
tmux
이 답변을 작성한 후 서버를 찾지 못하면 자동 시작이 추가 된 것으로 생각됩니다. 필요한 경우 버전이 서버 프로세스를 생성하면 어떤 이점도 모릅니다.
remain-on-exit
옵션을 사용할 수 있습니다 :
종료시 종료 [on | off]
이 플래그가 설정된 창은 프로그램이 종료 될 때 소멸되지 않습니다. 창은 respawn-window 명령으로 다시 활성화 될 수 있습니다.
리스폰 과정을 단순화하기 위해 키에 바인딩하는 것이 좋습니다.
bind-key R respawn-window
이렇게하면 프로그램이 종료 될 때 죽은 창이 남지 않게됩니다.
tmux set-option remain-on-exit on
set-option -g remain-on-exit on
bind-key r respawn-pane
다음은 send-keys
@Caleb에서 권장 하는 방법을 사용한 확장 된 예입니다.
#!/bin/sh
tmux start-server
tmux new-session -d -n 'mywindowname'
tmux send-keys -t mywindowname 'cd notes' Enter 'vim whiteboard/tasks.md' Enter
tmux new-window -d -n 'secondwindowname' # this -d prevents focus from changing to the new window
tmux -2 attach-session -d