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

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

tmux, gnome-terminal 또는 xfterminal에서 여러 명령을 동시에 시작하고, 각 탭에 대해 하나의 명령을 실행하고, 명령이 완료되면 탭을 닫고 싶습니다.

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

XX "cmd1" "cmd2" "cmd3"과 같은 작업을 수행하기 위해 스크립트를 내보내고 싶습니다.

답변1

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

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

각 명령 후에는 read명령이 완료된 후에도 출력을 읽을 수 있도록 창이 열린 상태로 유지됩니다.

답변2

tmux new -d -s my-session 'echo window-1 pane-1; sleep 8' \; \
          split-window -d 'echo window-1 pane-2; sleep 6' \; down-pane \; \
            new-window -d 'echo window-2;        sleep 4' \; next-window \; \
                attach \;

위는 일반적인 아이디어의 실행 예입니다. 자세한 내용은 다음을 참조하세요.단일 스크립트로 분할 화면 X 터미널에서 Streamripper 및 mplayer를 실행하는 방법

답변3

프로그램 구성이 항상 동일하다면 다음과 같은 도구를 사용할 수 있습니다.티모시.

~/.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

답변4

이를 통해 gnome-terminal다음을 수행할 수 있습니다.

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

각 탭은 해당 명령이 완료된 후 닫힙니다.

관련 정보