gnome-terminal 명령을 보내는 방법

gnome-terminal 명령을 보내는 방법

애플리케이션의 경우 새 터미널 창을 열고 그 창에서 몇 가지 명령을 실행해야 합니다.

나는 명령을 시도했다

gnome-terminal

잘 작동하고 새 터미널이 열리지만 명령을 보내려고 할 때 인수 구문 분석에 실패했다는 메시지가 표시되므로 어떻게 해야 할지 잘 모르겠습니다.

gnome-terminal --ls
# Failed to parse arguments: Unknown option --ls

답변1

다음을 수행할 수 있습니다.

gnome-terminal -- bash -c "ls; exec bash"

사람의 눈에 충분히 오랫동안 열려 있도록 하려면 새 터미널에 장기 실행 애플리케이션이 있어야 합니다. 완전히 새로운 애플리케이션일 수도 bash있고 장기 실행 애플리케이션일 수도 있습니다.

gnome-terminal -- top
gnome-terminal -- tail -f somefile.txt

다른 터미널에는 때때로 열려 있는 옵션이 내장되어 있습니다.

xterm -hold -e ls

그러나 동일한 트릭을 사용할 수 있습니다 exec.

xterm -e "ls; exec bash"

물론 -hold옵션을 추가할 수도 있습니다.

xterm -hold -e "ls; exec bash"

하지만 이 경우 종료 xterm후에도 bash창은 계속 열려 있습니다 . 그리고 창문은 직접 닫아야 합니다.

답변2

이를 위해서는 2단계 프로세스가 필요합니다.

  1. gnome-terminal"send" 명령을 기다리는 프로그램 실행을 시작해야 합니다.
  2. 당신은 당신이 원하는 일을 하도록 프로그램과 대화해야 합니다.

gnome-terminal실행할 명령으로 시작하는 올바른 구문은 다음과 같습니다.

gnome-terminal -- command

당신 과는 다릅니다 gnome-terminal --command.

1. 수행 방법을 알아낸 후에는 전송되는 명령을 수신하는 데몬 역할을 할 프로그램을 찾아야 합니다.

tmux그런 서버네요. 당신은 실행할 수 있습니다

gnome-terminal -- tmux -L 'a unique name for a socket'

내부에 빈 쉘이 있는 gnome 터미널을 시작하십시오.

그런 다음 "제어 모드"를 사용하여 해당 tmux 서버에 명령을 보낼 수 있습니다 tmux. 예를 들어 현재 gnome 터미널에 표시된 세션에 연결한 다음 선택한 명령을 실행할 새 프레임을 생성하면 됩니다. man tmux자세히보다.

하지만 솔직히:

gnome-terminal인터렉티브터미널 에뮬레이터. 그냥 좀 보여주고 싶은 것 같던데산출gnome-terminal그래픽적으로는 사용자의 입력을 기대하지 않는 것 같습니다 . 이 경우 올바른 조치는 다음과 같습니다.아니요gnome-terminal을 사용하되, 명령을 보내는 데 사용할 계획이라면 무엇이든 사용하여 일정한 너비의 글꼴 텍스트 필드가 있는 창을 표시하고 거기에서 원하는 출력을 인쇄하세요.

관련 정보