터미널 응용 프로그램의 실행기를 사용하면 프로그램이 완료된 후 터미널을 어떻게 열어 둘 수 있습니까?


24

응용 프로그램 실행기에서 실행하는 터미널 명령이 있습니다. 이것은 훌륭하게 작동하지만 때로는 명령이 실패하므로 터미널을 열어두고 결과를 볼 수 있기를 바랍니다. 어떻게해야합니까?

답변:


23

명령이이라고 가정하면 mycommand실행기를 변경하여 다음을 실행합니다.

gnome-terminal -e "mycommand|less"

보다 영구적이고 더 깨끗한 솔루션을 원한다면 gnome-terminal을 열고 편집, 프로파일 환경 설정으로 이동 한 다음 제목 및 명령 탭을 클릭하십시오. "명령이 종료 될 때"옵션을 "터미널을 열린 상태로 유지"로 변경하십시오.

명령을 실행할 때 이제 무언가가 실행될 때 터미널을 열어 두어야합니다.

편집 : 터미널에 관심이 없다면 xterm의 hold 플래그를 사용할 수 있습니다.

xterm -e "mycommand" hold

7
기본 터미널 '명령 종료시'작업을 유지하려면 새 터미널 프로파일을 작성하고 명령 종료 후 열린 상태로 유지하도록 설정하고 gnome-terminal --tab-with-profile=PROFILENAME옵션을 전달하는 것이 좋습니다. 당신은 다른 bahaviours이 방법 :-) 많은 프로파일을 가질 수 있습니다
반전

1
xterm -hold -e mycommand

8

런처가 스크립트를 제대로 실행하고 있습니까?

스크립트의 끝에 추가

read -p "Press any key to exit > " -n1 junk
echo 

그런 다음 스크립트는 종료하기로 선택할 때까지 기다립니다.


1
+1, 명령이 실패한 경우에만 프롬프트를 표시하려면 (0이 아닌 종료 코드를 반환)command || read -n1 -p "Command failed. Press any key to exit..."
Jukka Matilainen

8

.desktop 단축키에서 이것을 사용하십시오

Exec=gnome-terminal -x bash -c "YOUR_SCRIPT; exec $SHELL"

스크립트가 완료되면 Bash 프로세스가 자체적으로 새로운 호출로 바뀝니다.

인용 된 인수를 스크립트에 전달해야하는 경우 따옴표를 이스케이프해야합니다.

Exec=gnome-terminal -x bash -c "YOUR_SCRIPT \"arg with spaces\"; exec $SHELL"

3

다른 답변과 약간 다른 접근법 : 명령을 실행하고 실패하면 셸을 생성하십시오. 이런 식으로 터미널을 열린 상태로 유지할 필요가 없으며 (명령 성공과 실패를 구분하지 않음) 특히 쉘이 실패에 유용하다는 것을 알 수 있습니다. 닫으려면 Ctrl-D (EOF), "종료", Alt-F4 (또는 창 관리자가 창을 닫는 데 사용하는 것) 등을 사용하십시오.

성공 또는 껍질

#!/bin/sh
[ $# -eq 0 ] && {
  echo "$(basename $0): no command" >&2
  exit 1
}
"$@" || {
  echo "failed: $?"
  exec $SHELL
}

파일 을 ~ / bin과 같은 곳에 놓고 런처에서 "success-or-shell your original command"를 사용하십시오.


0

이 답변 은 지금까지 내가 원하는 것을 수행하는 데 가장 적합한 답변을 제공합니다. --init-file 매개 변수와 함께 스크립트를 실행하고 사용하는 명령을 사용하여 스크립트를 작성하는 것이 좋습니다 (bash 전용이지만 csh / tcsh / zsh 등에서도 동일하게 수행 할 수 있음).

#!/bin/bash --init-file
commands to run

... 그리고 다음과 같이 실행하십시오.

xterm -e /path/to/script
# or
gnome-terminal -e /path/to/script
# or
the-terminal -e bash --init-file /path/to/script/with/no/shebang

0

watch명령을 사용하십시오 .

형식 : watch -n60 myCommand또는watch -n60 "my command string"

  • -n호출 사이에 대기 시간 (초)을 지정 myCommand ; 예 : 위 명령은 60 초마다 myCommand를 영원히 호출 합니다.
  • 명령이 여러 단어이면 큰 따옴표 안에 넣으십시오 "my command string".

디스크 사용량을 표시하고 독자가 볼 수 있도록 열려있는 실행기를 원한다고 가정 해 보겠습니다. Launcher : 내에서이 명령을 사용하면됩니다.이 명령은 60 초마다
watch -n60 "df -h"호출 df -h됩니다.

gnome-terminal -e "mycommand|less"기본적으로 다른 터미널을 사용하는 Xubuntu를 실행하고 있기 때문에 허용 된 답변보다 이것을 좋아합니다 .


0

실행기를 마우스 오른쪽 버튼으로 클릭하고 속성을 입력하십시오.

터미널 창을 열어 둘 수있는 옵션이 있어야합니다 여기에 이미지 설명을 입력하십시오

.desktop 파일에 항목이 있어야합니다 X-KeepTerminal=true

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.