터미널 탭 제목 설정 막혔습니다. 따라서 다음 요구

그놈 터미널에서 터미널 탭을 몇 개 열려고 노력했지만 지금까지 무언가 를 수행 했지만 지금 막혔습니다.

따라서 다음 요구 사항이 있습니다.

  • “X”및 “Y”라는 제목의 열린 탭
  • 몇 가지 명령을 실행
  • 탭을 열어두고 나중에 사용할 수 있도록 준비하십시오. 제목을 유지하십시오.

지금까지 나는 일부 요구 사항을 충족시킬 수 있었지만 모든 요구 사항을 충족하지는 못했습니다.

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

두 개의 탭이 열립니다 :

  1. “X”(제목을 기본 제목으로 변경)
  2. “Y”이지만 종료하자마자 탭이 닫힙니다 top.

탭을 열고을 시작 bash하지만 제목을 변경 하지 않는 방법이 있습니까? 나는 구글을 시도했지만 포기했다.

편집 : 명령이 필요하지 않습니다.



답변

다른 답변 에서 볼 수 있듯이 탭의 제목은 프롬프트가 출력 될 때마다 쉘에 의해 변경됩니다. 그리고 top탭 을 실행 한 후에 명령을 실행하라는 명령이 완료되어 종료됩니다 …

나는 다음을 할 것이다 :

1 단계 : 쉘로 터미널을 호출하고 다음과 같은 환경 변수를 추가하십시오.

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash"

2 단계 : .bashrc다음 코드 끝에 추가하십시오 .

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y
                top
        ;;
esac

… 나는 이해하기 쉽다고 생각하고 필요한 명령 / 조정으로 수정할 수 있습니다. 테스트되고 작동합니다. top탭 을 종료 한 후에도 계속 사용하라는 메시지와 탭이 표시됩니다.

스크린 샷 (에서 “q”를 누른 후 top) :


답변

탭 제목을 유지하려면 다음 줄을 주석 처리해야합니다 .bashrc.

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

그런 다음 gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"예상대로 작동합니다.


답변

나는 그것이 명령이 될 필요가 없다고 가정하고 이것을 수행하는 완전히 그래픽적인 방법을 제공합니다.

그놈 터미널을 시작한 후 ‘파일’메뉴를 사용하면 지정된 제목이 지정된 새 탭을 열 수 있습니다. ‘터미널’메뉴 또는 탭을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 수행하여 변경할 수 있습니다.

그런 다음 맨 위와 원하는 다른 명령을 열 수 있습니다. 모두 터미널에서 모든 다른 터미널에서 실행되는 일반적인 바인딩되지 않은 프로세스로 실행됩니다. 데스크톱 환경만이 끝난 후에는 죽지 않습니다. 하기로되어있다.


답변

놀면서, 나는 그것이 명령이 아니라는 것을 알았습니다. 그것은 프로필입니다.

이동 :

Edit | Profiles | (Default) | Edit | Title and Command

목록 맨 아래에서 “터미널이 자체 제목을 설정할 때”옵션을 “초기 제목 유지”로 변경하십시오. 이제 제목이 포함 된 명령을 실행할 때 명령이 제대로 작동하므로 명령이 올바르게 작동합니다.