원격 Debian 8 시스템의 SSH 세션에서 gnome-terminal 탭의 제목을 변경할 수 없습니다

원격 Debian 8 시스템의 SSH 세션에서 gnome-terminal 탭의 제목을 변경할 수 없습니다

서버 에 연결되어 있으면 탭 제목을 debian 8변경할 수 없습니다 . 직접 확인해 보세요.gnome-terminal

$ ssh deb6-server
$ echo -en '\e]0;test\a'
# title changes
$ echo $TERM
xterm-256color
$ cat /etc/issue
Debian GNU/Linux 6.0 \n \l

$ exit
$ ssh deb8-server
# here the title changes to USER@HOST: CWD
$ echo -en '\e]0;test\a'
# title doesn't change
$ echo $PROMPT_COMMAND

$ echo -en '\e[0;34mtest\e[0m\n'
test   # written in blue
$ echo $TERM
xterm-256color
$ cat /etc/issue
Debian GNU/Linux jessie/sid \n \l

정말 다른 곳을 봐야할지 모르겠습니다. 어떤 아이디어가 있나요?

답변1

ESC ] 0로컬에서 사용할 때 이스케이프 시퀀스가 ​​터미널 제목을 변경하는 경우 SSH를 통해서도 작동합니다. SSH는 애플리케이션과 터미널 간의 트래픽을 변경하지 않습니다.

스크린 멀티플렉서(예: screen 또는 tmux)에서 애플리케이션을 실행하면 이스케이프 시퀀스 자체를 해석하고 다른 시퀀스를 터미널로 보냅니다. 이는 SSH와 아무 관련이 없지만 로컬 시스템보다는 원격 시스템에서 screen을 사용하는 것이 더 나을 수도 있습니다.

원격 시스템의 셸은 명령을 시작하거나 새 프롬프트를 표시할 때 원격 헤더를 설정하도록 훌륭하게 구성할 수 있습니다. 이는 일반적으로 프롬프트의 일부로 제목 변경 이스케이프 시퀀스를 인쇄하여 수행되므로 변수의 내용을 확인하십시오 PS1.

printf '%s\n' "$PS1" | cat -v

원격 쉘이 bash인 경우에도 확인 PROMPT_COMMAND하고DEBUG:

echo "$PROMPT_COMMAND"
trap -p DEBUG

원격 셸이 zsh인 경우 , PS1( RPS1드물게) 및 precmdpreexec기능을 확인하세요.

인쇄 -rl $PS1 $RPS1 $functions[precmd] $functions[preexec]

관련 정보