내가 연결하는 모든 호스트에 대해 Gnome 터미널 제목을 "user@host"로 설정할 수 있습니까?

내가 연결하는 모든 호스트에 대해 Gnome 터미널 제목을 "user@host"로 설정할 수 있습니까?

user@host창 제목을 통해 어느 컴퓨터에 연결되어 있는지 쉽게 알 수 있도록 터미널 제목을 로 설정하고 싶습니다 . SSH 또는 GNOME 터미널에서 이 작업을 수행할 수 있는 방법이 있습니까?

답변1

예. 다음은 배포 독립적이어야 하는 PS1을 사용하는 bash 예제입니다.

특히 이스케이프 시퀀스가 \[\e]0; __SOME_STUFF_HERE__ \a\]​​중요합니다. 더 명확하게 하기 위해 이것을 별도의 변수로 편집했습니다.

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
        # We have color support; assume it's compliant with Ecma-48
        # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
        # a case would tend to support setf rather than setaf.)
        color_prompt=yes
    else
        color_prompt=
    fi
fi

TITLEBAR='\[\e]0;\u@\h\a\]'
# Same thing.. but with octal ASCII escape chars
#TITLEBAR='\[\033]2;\u@\h\007\]'

if [ "$color_prompt" = yes ]; then
    PS1="${TITLEBAR}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ "
else
    PS1="${TITLEBAR}\u@\h:\W\$ "
fi
unset color_prompt force_color_prompt

또한 사용 중인 터미널 프로그램과 셸에 따라 xterm 헤더를 설정하는 여러 가지 방법이 있습니다. 예를 들어 KDE의 Konsole을 사용하는 경우 Settings-> Configure Profiles-> Edit Profile-> Tabs설정 Tab title formatRemote tab title format설정 으로 이동하여 제목 설정을 무시할 수 있습니다 .

Konsole 제목 표시줄 설정 대화 상자

또한 다음 사항도 확인해 보세요.

답변2

다음은 원격 서버를 변경하지 않고 원격 서버의 제목과 명령 프롬프트를 설정하는 데 사용하는 SSH bash 스크립트 버전입니다.

my_ssh.sh:

#!/bin/bash
SETTP='MY_PROMPT="$HOSTNAME:$PWD\$ "'
SETTP="$SETTP;"'MY_TITLE="\[\e]0;$HOSTNAME:$PWD\a\]"'
SETTP="$SETTP;"'PS1="$MY_TITLE$MY_PROMPT"'
ssh -t $1@$2 "export PROMPT_COMMAND='eval '\\''$SETTP'\\'; bash --login"

./my_ssh.sh 사용자 이름 호스트 이름을 호출하여 호출할 수 있습니다.

답변3

다음은 나에게 효과적이었습니다 (아마 gnome 터미널에서만 가능).

comp@home$ cat /usr/bin/ssh
#!/bin/bash    
echo -ne "\033]0;${1}\007"
ssh_bkup "$@"

ssh_bkup 명령이 기본 "ssh"이지만 이름이 변경된 경우 echo 명령이 현재 터미널의 제목을 변경한 직후에 호출됩니다.

답변4

를 사용하는 경우 파일 zsh에 다음을 추가합니다 ..zshrc

export DISABLE_AUTO_TITLE="true"

precmd() {
    printf "\033];$(whoami)@$(hostname):${PWD/#$HOME/~}\007";
}

관련 정보