GNOME 3.14+는 새로운 gnome 터미널을 출시하고 제목을 설정합니다.

GNOME 3.14+는 새로운 gnome 터미널을 출시하고 제목을 설정합니다.

많은 사람들이 실망스럽게도 탭/창 제목을 더 이상 설정할 수 없습니다.--title

나는 배쉬를 사용하고 있습니다. 원격 서버에 연결하는 데 사용하는 몇 가지 별칭이 있습니다.

alias c:prod='gnome-terminal --hide-menubar --profile=Production \
--title="Production Server" -e "ssh <url>" &'

GNOME 3.14+에서 제목을 설정하는 해결 방법을 찾았으며 입력한 후 명령줄에서 제대로 작동합니다..bashrc

function set-title() {
  if [[ -z "$ORIG" ]]; then
    ORIG=$PS1
  fi
  TITLE="\[\e]2;$@\a\]"
  PS1=${ORIG}${TITLE}
}

그러나 이는 원격 서버에서 배치하고 호출할 때만 작동하는 것 같습니다. .bashrc즉, 로그인한 후에만 헤더를 변경할 수 있습니다.

어쨌든 연결하기 전에 새 창의 제목을 변경하려고 하면 아무 효과가 없습니다.

alias c:prod='gnome-terminal --hide-menubar --profile=Production \
-e "bash -c \"source ~/.bashrc;set-title Production;ssh <url>\"" &'

터미널이 내 상자에서 실행 중일 때 리모컨에서 창 제목을 설정하는 것이 잘못된 것처럼 느껴지고 사용자가 이를 넣을 홈 디렉토리가 없는 서버에서 작동하도록 할 수 없습니다 .bashrc.

나무보다 숲이 보이지 않는 곳이 있나요?

답변1

  1. set-title기능을 다음에 연결하십시오 ~/.bashrc.

    function set-title() {
      if [[ -z "$ORIG" ]]; then
        ORIG=$PS1
      fi
      TITLE="\[\e]2;$@\a\]"
      PS1=${ORIG}${TITLE}
    }
    
  2. expect그렇지 않은 경우 다음을 설치하십시오.

    sudo apt-get install expect
    
  3. 콘텐츠로 만들기 ProductionServer.sh:

    #!/usr/bin/env expect
    
    spawn bash
    expect -re $ {send -- "set-title \"Production Server\"\rclear\rssh [email protected]\rclear\r"}
    interact
    exit
    
  4. 매개변수로 실행 gnome-terminal:

    gnome-terminal --hide-menubar -e ~/ProductionServer.sh
    

어쩌면 이 프로세스를 최적화할 수 있지만 문제는 해결되었습니다.

관련 정보