GNU 화면: 새 창 이름이 변경되었습니다.

GNU 화면: 새 창 이름이 변경되었습니다.

Ctrl-a Shift-a를 사용하여 창 이름을 변경할 수 있습니다. 여러 창 이름을 수동으로 편집하는 대신 현재 디렉터리 이름을 따라 자동으로 이름을 지정하는 방법이 있습니까?

답변1

디렉토리를 변경할 때마다 또는 프롬프트를 표시할 때마다 쉘에서 창 제목을 변경하도록 하십시오.

당신을 위한 ~/.bashrc:

if [[ "$TERM" == screen* ]]; then
  screen_set_window_title () {
    local HPWD="$PWD"
    case $HPWD in
      $HOME) HPWD="~";;
      $HOME/*) HPWD="~${HPWD#$HOME}";;
    esac
    printf '\ek%s\e\\' "$HPWD"
  }
  PROMPT_COMMAND="screen_set_window_title; $PROMPT_COMMAND"
fi

또는 귀하 ~/.zshrc(zsh 사용자의 경우):

precmd () {
  local tmp='%~'
  local HPWD=${(%)tmp}
  if [[ $TERM == screen* ]]; then
    printf '\ek%s\e\\' $HPWD
  fi
}

자세한 내용은 다음을 확인하세요.동적 제목화면 매뉴얼 또는 맨 페이지의 "제목(명명된 창)" 아래에 있습니다.

답변2

이것을 .bashrc에 넣고 터미널 이름(창 이름)을 작업 중인 마지막 디렉터리(또는 파일 이름)로 변경할 수 있습니다.

case "$TERM" in xterm*|rxvt*) PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"' ;; *) ;; esac

자세한 설명은 여기에 있습니다: 협회

관련 정보