나는 내 사무실에서 관리하는 메인 서버에 대한 SSH 연결이 미리 열려 있는 스크린 세션을 팝업하는 것을 좋아합니다. 각 창에 매우 짧은 이름(보통 2-4자)을 지정하여 화면 상태 표시줄에 해당 이름으로 표시됩니다. 그러면 다음과 같은 화면 항목이 표시됩니다.
0$ jen1 ...
이제 해당 서버로 전환하여 무엇이든(디렉토리 목록을 얻는 것만큼 간단한 작업이라도) 수행해야 할 때 이름이 갑자기 확장되어 다음과 같이 됩니다.
0$ ghellings@devjenkins01
모든 창에 액세스할 때에도 같은 일이 발생하여 상태 표시줄이 화면의 가로 너비를 빠르게 초과하게 됩니다. 창이 생성될 때 이름을 잠그고 클라이언트 응용 프로그램이 이름을 변경하지 못하도록 하고 싶습니다. 나는 많은 사람들이 요청하는 것과는 달리 어떤 응용 프로그램도 화면 창 제목을 변경할 수 있는 것을 원하지 않습니다. 해당 화면으로 전환하고 어딘가에 디렉토리를 열면 특히 문제가 됩니다. 그러면 화면 제목이
(0*$ ghellings@devjenkins01:/opt/somepackage/software/subdirectory)
활성 상태만 변경하고 싶으므로 항상 읽습니다.
`0$ jen1` or `(0*$ jen1)`
창 이름을 잠그고 변경되는 것을 방지할 수 있는 방법이 있습니까?
답변1
나는 RHEL 7 테스트 초기에 이것을 발견했고 그것은 나를 미치게 만들었습니다. RHEL 7의 변경으로 인해 또는 같은 명령이 실행될 때마다 /etc/bashrc
창 이름이 변경되고 변경된다는 사실을 발견했습니다. 일부 화면에서는*)screen
tmux
cd
ls
if [ -e /etc/sysconfig/bash-prompt-screen ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
else
## RHEL 7
PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
## RHEL 6
PROMPT_COMMAND='printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
fi
따라서 RHEL 7에서는 다음에서 변경 사항이 발생합니다.]0;도착하다케이PROMPT_COMMAND 섹션에 있습니다.
버그를 공개하는 것을 고려해 보았으나 해결하지 못했습니다. 나는 보통 새로 설치할 때 수동으로 변경합니다.
- 업데이트 형식이 변경되었습니다.
답변2
아마도 PROMPT_COMMAND
변수를 다음과 같이 설정했을 것입니다.
printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
CentOS 7 시스템에 이것을 가지고 있습니다. 이것은 screen
창 제목으로 사용할 각 명령 뒤에 xterm 창 제목을 설정합니다 .
설정을 해제하거나 설정하지 않으려면 PROMPT_COMMAND
편집 .bashrc
하세요 ./etc/bashrc
답변3
.bashrc
또는 을 선택하면 또는 과( 와) 관련된 것을 /etc/bashrc
볼 수 있습니다 .if
case
screen
내 경우에는 다음과 같습니다.
if [ -e /etc/sysconfig/bash-prompt-screen ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
else
PROMPT_COMMAND='printf "\033k%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
fi
case $TERM in
파일 아래에 있습니다 /etc/bashrc
.
문제는 해당 파일이 없어서 아래 파일을 /etc/sysconfig/bash-prompt-screen
사용했습니다 .PROMPT_COMMAND
else
방금 빈 파일을 생성했는데 /etc/sysconfig/bash-prompt-screen
화면 창의 제목이 더 이상 동적으로 변경되지 않습니다!