2014-02-19 2 views
6

대화식 인 작은 스크립트 작업을하고 있습니다. 나는 프로세스가 tmux 세션을 종료 할 때 명령을 지정하고 구성 파일을 사용하는 tmux를 시작하려고 노력하고 있지만 이것이 가능하다고는 보이지 않는다.Tmux를 명령으로 시작하고 구성 파일을 지정하십시오.

tmux new-session -d -s myapp 'python myapp.py' -f 'myapp-tmux.conf' 

아이디어가 있으십니까?

+0

또 다른 옵션이 될 수있다 tmux가 다른'.conf' 파일을 사용하지 않고'tmux new-session ... '전에'myapp-tmux.conf'에있는 다양한 명령을 실행하는 쉘 스크립트를 작성하십시오. 어떻게하면 (그리고) 당신이 이것을 할 것인가는 myapp-tmux.conf가 무엇을하는지에 달려있다. – chepner

답변

11

new-session으로 이동해야합니다. tmux 자체에 대한 인수입니다. new-session (하위) 명령이 -f을 인식하거나 수락하지 않습니다.

또한 구성 파일 (~/.tmux.conf 또는 -f으로 지정된 것)은 처음 서버를 시작할 때만 사용됩니다. 기본 서버에서 실행중인 다른 (분리 된) 세션이있는 경우 명령의 -f … 부분이 사용되지 않습니다. tmux ls으로 다른 세션을 확인하십시오.


당신은 대체 서버를 지정 -L (또는 -S)를 사용 할 수 있습니다 (즉, 당신이 당신의 세션이 항상 하나되어 있는지 확인 할 수있는 하나) :

tmux -L myapp -f myapp-tmux.conf new-session -d -s myapp 'python myapp.py' 
나중에

, 부착 해당 세션에 :

tmux -L myapp attach -t myapp 

합니다 (단절이 아니라 하나 개의 세션이있는 경우 당신은 -t myapp을 떠날 수 있습니다.)

를 당신은 (구성 파일을 통해 변경이 다른 세션에 영향을 미칠 수 있도록) 당신이 서버를 기존 사용하려는 경우

, 당신은 대신 source을 사용할 수 있습니다 :

tmux source myapp-tmux.conf \; new-session -d -s myapp 'python myapp.py'