애플리케이션의 경우 새 터미널 창을 열고 그 창에서 몇 가지 명령을 실행해야 합니다.
나는 명령을 시도했다
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단계 프로세스가 필요합니다.
gnome-terminal
"send" 명령을 기다리는 프로그램 실행을 시작해야 합니다.- 당신은 당신이 원하는 일을 하도록 프로그램과 대화해야 합니다.
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을 사용하되, 명령을 보내는 데 사용할 계획이라면 무엇이든 사용하여 일정한 너비의 글꼴 텍스트 필드가 있는 창을 표시하고 거기에서 원하는 출력을 인쇄하세요.