단일 명령을 사용하여 미리 정의된 배열로 여러 창을 여는 방법

단일 명령을 사용하여 미리 정의된 배열로 여러 창을 여는 방법

단일 명령을 실행하여 미리 정의된 배열로 여러 창을 여는 bash 스크립트/config/무엇이든 작성하고 싶습니다.

예를 들어 메일 서버 문제에 대한 알림을 받으면 다음을 수행하고 싶습니다. connect_mailserver.sh다음 내용이 포함된 창 컨테이너를 엽니다 .

  • 창이 표시됩니다tail -f /var/log/mail.log
  • 창이 표시됩니다htop
  • Nagios의 모든 메일 관련 검사를 보여주는 브라우저 창
  • 이 서버에서 작업을 수행하는 데 사용되는 셸
  • ...

모든 창은 미리 정의된 위치에서 시작되어야 하지만 창을 이동하고 크기를 조정할 수도 있어야 합니다.

screenor 를 사용하는 등 우아한 솔루션이 많이 있을 것이라고 확신합니다 emacs. 어쩌면 더 나은 도구가 있을까요? 비슷한 해결책이 있나요?

답변1

아마도 당신이 바라는 것만큼 우아하지는 않을 것입니다. 그러나 나는 wmctrl그것을 사용할 것입니다.

xterm -T mail.log -e tail -f /var/log/mail.log &
until wmctrl -F -r mail.log -e0,<posx>,<posy>,<width>,<height>
do sleep .1s
done

물론 xterm 외에 다른 응용 프로그램을 사용할 수도 있습니다. wmctrl창 제목 또는 창 ID만 일치할 수 있습니다. 창 제목을 설정할 수 없는 경우 grep관련 PID의 출력을 -ing하여 ID를 찾아야 합니다.wmctrl -lp

답변2

사용

xterm -geometry 120x50+100+100 -e 'command'

기하학적 매개변수는 다음과 같습니다: LINESxCOLUMNS+XSTART+YSTART

기하학적 매개변수를 알고 싶다면 여러 xterm을 열고 다른 xterm에서 "xwininfo"를 시작한 다음 알고 싶은 기하학적 매개변수가 있는 창을 클릭하세요.

관련 정보