스크립트 내에서 tmux 또는 gnome-terminal 내에서 일련의 프로그램을 시작하는 방법은 무엇입니까?


32

tmux 또는 gnome-terminal 또는 xfterminal에서 몇 개의 명령을 동시에 실행하고 단일 명령이 실행되는 모든 다른 탭을 실행하고 명령이 완료되면 해당 탭을 닫고 싶었습니다.

다른 소프트웨어도 환영합니다

XX "cmd1" "cmd2" "cmd3"과 같이 작업을 수행하기 위해 단일 스크립트를 발행하고 싶었습니다.

답변:



27

tmux 세션을 열고 첫 번째 명령을 시작하십시오. 그런 다음 새 창에서 더 많은 명령을 실행하고 마지막에 창 크기를 균등하게 분배하십시오.

tmux \
  new-session  "command1 ; read" \; \
  split-window "command2 ; read" \; \
  split-window "command3 ; read" \; \
  split-window "command4 ; read" \; \
  select-layout even-vertical

read각 명령 다음 명령을 사용하면 출력을 읽을 수 있도록 완료된 후 윈도우가 열려있게됩니다.


2
이 답변에는 더 많은 투표가 필요합니다. 고마워요
Lester Cheung

7

항상 동일한 프로그램 구성 인 경우 teamocil 과 같은 도구를 사용할 수 있습니다 .

다음과 같은 구성 ~/.teamocil/sample이 포함 된 구성 (예 :)으로 작성해야합니다 .

windows:
  - name: my-first-window
    root: ~/Projects/foo-www
    filters:
      before: "rvm use 1.9.2"
      after: "echo 'I am done initializing this split.'"
    splits:
      - cmd: "git status"
      - cmd: "bundle exec rails server --port 4000"
        width: 50
      - cmd:
          - sudo service memcached start
          - sudo service mongodb start
        height: 50

그런 다음 다음을 실행할 수 있습니다. tmux new-session -d "teamocil sample" \; attach


6

로에게 gnome-terminal이 될 것이다 :

gnome-terminal --window -e 'cmd1' --tab -e 'cmd2' --tab -e 'cmd3'

명령이 완료되면 각 탭이 닫힙니다.


뿐만 아니라 이번에는 tmux를 선호합니다 ;-P
daisy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.