하나의 명령으로 추가 콘솔을 열고 그 안에서 프로그램을 실행하려면 어떻게 해야 합니까?

하나의 명령으로 추가 콘솔을 열고 그 안에서 프로그램을 실행하려면 어떻게 해야 합니까?

따라서 gnome-terminal 또는 xterm을 입력하면 새 창이 팝업되는 것으로 알고 있습니다. 그런 다음 이 두 가지에 대한 매뉴얼 페이지를 확인했지만 관련성을 찾지 못했습니다.

그런 다음 Mac에서는 프로그램을 열어서 할 수 있다는 것을 알았습니다. 그러나 Linux에서는 그렇게 사소한 일이 아닌 것 같습니다.

누구든지 경험이 있습니까?

답변1

업데이트:새로운 권장 구문은 다음과 같습니다.

gnome-terminal -- bash -c "<내 명령 또는 스크립트>; exec bash"
  • 위 명령 내에서 사용자 홈 디렉토리에 도달하려면 환경 변수를 사용하십시오 $HOME.bash -c "cd $HOME/; ..."

당신이 보면man gnome-terminal(및 gnome-terminal --help) 옵션 -x및 를 -e사용할 수 있지만(더 이상 사용되지 않는다고 명시적으로 작성되지는 않았지만) 거기에 있는 모든 예는 위에 제공된 구문에 의해 제공됩니다.


-x나는 다음보다 더 안정적인 작업을 제공하는 옵션을 사용하고 싶습니다 -e.

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • 옵션 -x의 의미--execute - 터미널 내부 명령줄의 나머지 부분.

  • 그리고 우리의 명령은 입니다 bash -c "<commands>". 이는 우리가 새로운 bash쉘을 실행한다는 것을 의미하며, 이는 일부 -c "<commands>".

  • ; == new line세미콜론 으로 구분된 두 개가 있습니다 <commands>.

  • 첫 번째 명령은 <my command or script>우리가 원하는 것을 실행합니다.

  • 두 번째 명령 exec bash에는 의미가 있습니다. 현재 gnome-terminal창을 열어 두십시오. 있다또 다른 가능한 접근법하기 위해서. 현재의 경우 명령은 exec다음과 같습니다.현재 프로세스 이미지를 새 프로세스 이미지로 교체- 즉, 현재 프로세스를 '종료'하고 bash현재 PID 아래에서 새( )를 실행합니다.


이 형식의 추가 사용 예:

답변2

창을 열어두는 또 다른 접근 방식은 xterm을 사용하는 것입니다.

xterm -hold -e cmd

보류 옵션은 창을 열어 둡니다.

답변3

gnome-terminal -e cmd터미널 창을 열고 cmd그 안에서 실행됩니다.

답변4

간단하게 할 수 CTRLALTT있으며 새 터미널이 열립니다.

노력하다gnome-terminal -e "bash -c command;bash"

관련 정보