LocalCommand가 대화형으로 사용될 때만 화면 창 제목을 설정하도록 하시겠습니까?

LocalCommand가 대화형으로 사용될 때만 화면 창 제목을 설정하도록 하시겠습니까?

설정

로컬 컴퓨터에서 screen을 실행하고 다른 화면 창을 사용하여 다른 호스트에 연결합니다. SSH 프로세스 중에 창 이름을 호스트 이름으로 자동으로 변경하면 좋을 것입니다.

구혼

나는 아래의 두 가지 접근 방식을 다양하게 변형해 보았습니다.

1) LocalComandSSH 구성 파일에서 사용:

Host *
PermitLocalCommand yes
LocalCommand '[ "${TERM:0:6}" == "screen" ] && printf "\ek@%h\e\\"

2) 사용자 정의 bash 함수 만들기:

# function to set screen name based on host and reset on exit
function ssh() {
  echo -e '\033k'@$1'\033\\'
  /usr/bin/env ssh -Y "$@"
  echo -e '\033k'local'\033\\'
}

문제

이 두 접근 방식은 모두 작동하지만 자동 완성과 같은 기능을 방해하는 것 같습니다.

$ scp user@host:~/.s<tab>
...o^[\\\\   ...cal^[\\\\

질문

호스트에 연결할 때만 (또는 함수) $TERM == screen실행을 허용 하고 자동 완성에 사용될 때는 실행을 허용하지 않는 ( if 확인 외에) 사용할 수 있는 몇 가지 조건이 있습니까 ?LocalCommandssh()

관련 정보