여러 개의 탭으로 그놈 터미널을 열고 모든 탭에서 몇 가지 명령을 실행하십시오.


12

이것이 내가 달성하고자하는 것입니다.

  1. 5 개의 탭이있는 그놈 터미널을 열고 싶습니다
  2. 각 탭에서 일련의 명령 (5 – 10 명령)을 자동으로 실행하고 싶습니다.
    첫 번째 탭 : 대 / 소문자보기를 설정 한 후 하나 이상의 명령을 실행합니다.
    두 번째 탭 : 서버에 로그인하고 일부 명령을 실행합니다.
    세 번째 탭 : 일부 명령 만 실행합니다

gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab (확인 작동,보기가 설정되었지만 그 후에 명령이 실행되지 않음)

대신이 방법을 시도하고 아래 스크립트에서 실행하려고했습니다.

gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript

#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact 

exec gnome-terminal --geometry 125x49-0+81 –tab예제 에서 행을 제거하고 다른 파일에서 스크립트를 호출하면 정상적으로 작동합니다. 서버에 로그인하여 모든 명령이 실행됩니다. 누구든지 이것을 해결하도록 도울 수 있습니까?

모든 탭에 대해 호출하는 스크립트를 작성하는 것은 옵션이 아닙니다. 각 끝에 5-7 개의 탭이있는 5 개의 터미널이 있기 때문에 작성하는 데 25 ~ 30 개의 스크립트가 필요합니다 (도움보다 비용이 많이 듭니다) 내 문제에).


그놈 터미널의 전문가는 아니지만 생성 한 탭은 프로파일에 저장해야합니다. 프로필을 만든 후에는 스크립트를 작성할 수 있다고 생각합니다. 그놈 도움말에서 프로파일 관리를 참조 하십시오 .
eyoung100

답변:


11

이것은 내 컴퓨터에서 작동하는 것 같습니다.

gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab

-e에 의해 실행 된 프로세스가 실행되는 즉시 종료됩니다. 이 경우 bash가로드되고 전달한 모든 명령을 실행하며 즉시 존재합니다. 사용자 입력을 기다리기 위해 read 문을 넣었습니다. 이렇게하면 키를 누를 때까지 해당 탭이 닫히지 않으므로이 예에서 볼 수 있습니다. 그것들이 없으면 다른 탭은 너무 빨리 실행되고 닫히기 때문에 두 개의 탭만 열린 것처럼 보입니다.


답변 주셔서 감사합니다. 물론 하나의 명령 (이 경우 "날짜")의 출력을 얻을 수는 있지만 여러 명령을 실행하고 출력을 설정 한 다음 동일한 탭에서 수동으로 새 명령을 계속 작성할 수 있습니다.
ekido 8

3

명령이 완료된 후 bash가 종료되므로 명령 이후의 다른 인스턴스를 호출 bash하여 대화식 쉘을 얻을 수 있습니다.

gnome-terminal  --tab -e "bash -c 'ps -ef; bash'" --tab -e "bash -c 'ls; bash'" --tab -e "bash -c 'top -n 1; bash'"

터미널을 닫으면 기본 프로세스가 자동으로 닫히지 않습니다. 이것에 대한 해결책이 있습니까? 전체 창을 닫고 싶습니다. 프로세스가 포함 된 모든 탭이 종료되어야합니다.
Blub

2

script.sh로 아래에 저장

#!/usr/bin/env bash

me=$(realpath $0)

commands=(
"echo"
"ls -l && echo 'yes'"
"top"
"ps"
)
len=${#commands[@]}

if [ $# -eq 0 ];then
    num=$len
else
    num=$1
fi

n=$((len-num))
command=${commands[$n]}
num=$((num-1))

xdotool key ctrl+shift+t

if [ $num -gt -1 ]; then
    sleep 1; xdotool type --delay 1 --clearmodifiers "$me $num; ${command}"; xdotool key Return;
fi

script.sh를 $ PATH에 추가하고 실행하십시오.

gnome-terminal -x script.sh

명령 행을 사용하여 그놈 터미널에서 새 탭 열기를 참조하십시오 .


다른 모든 것들은 이것으로부터 떨어져 실패했습니다. 이제 명령없이 탭 중 일부를 열어보고 싶습니다. 예를 들어, 10 개의 탭을 열고 싶지만 htop과 같은 명령을 실행할 수있는 경우 3
개가 있습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.