gnome-terminal에서 프로그래밍 방식으로 탭 열기, 명령 실행 및 탭 열기 상태 유지


12

몇 개의 터미널 탭을 시작하고 각 탭에서 무언가를 실행하고 명령이 끝나면 각 탭을 열어 두는 명령을 작성하려고하므로 출력을보고 각 탭에 더 많은 명령을 입력 할 수 있습니다

이 같은:

gnome-terminal --tab -e "ls -a" --tab -e "ls"

그러나 이것의 문제점은 "ls"명령이 완료 되 자마자 탭이 닫히는 것입니다. 누구든지 탭을 열어 두는 방법을 알고 있습니까?

답변:


11

그놈 터미널은 명령을 실행하거나 쉘을 열 수 있지만 둘다는 아닙니다.

명령을 캡슐화하여 후속 쉘 호출을 하나의 명령으로 수행하는 해결 방법이 있습니다.

$ gnome-terminal -e "bash -c \"echo foo; echo bar; exec bash\""

더 많은 대안을 보려면 스택 오버플로에 대한 비슷한 질문에 대한 내 답변을 읽으십시오.


10

당신이 한 경우 xdotoolwmctrl설치, 다음 쉘 스크립트의 힘 작업 다음 :

#!/usr/bin/env bash

window="$(xdotool search --class gnome-terminal | head -1)"
xdotool windowfocus $window
xdotool key ctrl+shift+t
xdotool type "$*"
xdotool key Return

나는 이것을 다음과 같이 사용한다 :

$ run-in-new-tab 'ls -l'

Trustin Lee의 블로그 에서이 아이디어를 찾았습니다 .


감사. 이것은 꽤 잘 작동합니다. 그래도 sleep 1Ctrl + Shift + T 뒤에 추가해야합니다 . 더 이상 아무것도 나오지 않으면이 점을 받아들이겠습니다

그래, 나는 sleep 2그것이 100 % 작동 하도록해야 한다는 것을 알았다 . 그래도 훌륭한 솔루션-이제 8 개의 탭을 열어 다양한 서버에 ssh하고 다양한 프로세스 등을 시작합니다.이를 사용하여 아침 설정이 완전히 스크립트되었습니다 :)
Max Williams

실제로 wmctrl는 필요하지 않습니다.
nedim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.