현재 터미널에서 새 탭을 열고 새 탭에서 실행할 명령을 전달하는 명령

현재 터미널에서 새 탭을 열고 새 탭에서 실행할 명령을 전달하는 명령

그러면 새 창이 열릴 것이라는 것을 알고 있습니다 gnome-terminal. 새 창만 열지 않고 새 탭을 열 수 있는 방법이 있는지 궁금합니다.

그런 다음 예를 들어 새 창에 명령을 전달하는 방법이 있습니까?

gnome-terminal && cd /

결과는 다음과 같습니다.

  1. 새로운 터미널 오픈
  2. 그런 다음 새 터미널이 실행됩니다.cd /

[편집] 이 답변은 cmd를 다른 터미널로 전달하는 방법을 알려주고 새 터미널을 여는 방법은 대답하지 않습니다.. 내가 추구하는 것은 하나 이상의 터미널이 열려 있는 것을 원하지 않습니다.

답변1

GNOME Terminal기존 창에서 새 탭을 여는 일반적인 명령줄 솔루션을 제공하지 않습니다.

(왜? 왜냐면5월여러 개의 창이 열려 있고 어느 창에서 새 탭을 열어야 할지 알 수 없습니다. 당신은 말할 수도 있습니다창은 하나만 있지만 그러한 기능이 구현된 경우 소프트웨어는 일관성을 유지해야 하며 창이 여러 개 있을 때 합리적인 작업을 수행해야 하지만 실제로는 그렇게 할 수 없습니다.)

사용자가 키를 누르는 것을 시뮬레이션하는 것과 같은 해킹은 이미 제출된 답변에 따라 존재하지만 Wayland가 아닌 X.Org에서만 작동합니다.

향후 버전 3.28부터 이 명령은 gnome-terminal --tab이 명령이 실행되는 그놈 터미널 창에 새 탭을 엽니다.만약에이 명령은 그놈 터미널 내에서 실행됩니다.

(이 경우 새 탭을 열 창을 어떻게 알 수 있습니까? 열려는 각 터미널에서 특정 환경 변수를 다른 값으로 미리 설정하여 알 수 있습니다. 해당 환경 변수를 사용하면 원하는 창을 찾을 수 있습니다.)

따라서 특정 경우에는 다음을 수행할 수 있습니다.

gnome-terminal --tab -- bash -c 'cd /; exec bash'

cd /이렇게 하면 작업이 완료 되면 새 탭에서 실행 중인 셸을 얻을 수 있습니다 . 방금 수행한 경우 종료 gnome-terminal --tab -- some command후 탭이 즉시 닫힙니다 some command. 대신 사용하면 탭이 완료되면 bash -c 'some command; exec bash'탭에서 실행 bash프로세스가 발생합니다 some command.

답변2

터미널에서 shift+ ctrl+ 누르기를 시뮬레이션해야 합니다 . T이를 수행하기 위한 프로그램이 존재합니다.

명령줄에서 수행하려는 경우

xdotool예를 들어 키보드 입력을 시뮬레이션할 수 있는 프로그램을 사용할 수 있습니다 .

sudo apt-get install xdotool

그런 다음 터미널에 다음을 입력하십시오.

xdotool key ctrl+shift+t

그러면 키 조합 누르기를 시뮬레이션합니다.

관련 정보