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 format
및 Remote tab title format
설정 으로 이동하여 제목 설정을 무시할 수 있습니다 .
또한 다음 사항도 확인해 보세요.
- 이것"xterm 제목을 변경하는 방법" FAQ다른 껍질의 경우
- 이것"즉시 마법" 팁Bash에서 작동하는 이스케이프 시퀀스에 대한 좋은 참고 자료입니다.
- 이것Bash 프롬프트 HOWTOANSI 색상 이스케이프 시퀀스에 대한 참조입니다.
답변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";
}