SSH 세션 종료 시 화면이 지워지는 것을 방지

SSH 세션 종료 시 화면이 지워지는 것을 방지

SSH를 통해 연결해야 하는 모든 원격 시스템에 일부 도트 파일을 푸시하도록 rdist를 설정했습니다. 또한 이 모든 시스템의 기본 쉘로 zsh가 있습니다.

컴퓨터에 SSH로 접속한 후 종료하면 화면이 지워집니다. 나는 이 행동이 짜증스럽다고 생각한다. 이 동작을 멈추기 위해 내가 하려는 일은 /usr/bin/clear내 파일의 행을 주석 처리하는 것입니다 .logout. 그런 다음 이 업데이트된 파일을 모든 원격 컴퓨터에 배포합니다.

문제는 이것이 작동하지 않는다는 것입니다. 나는 이것에 대해 확신하지 못하지만 .logout그것이 csh를 위한 것이라고 생각했는데 그것은 나에게 없는 .zlogout(또는 .bash_logout둘 다) 없습니다. 다른 포인트 파일(예: , ) .zshrc에는 .zshenv화면이 지워지는 현상이 나타나지 않습니다. "새" 쉘 세션을 얻기 위해 원격 시스템에 SSH로 접속하면 exec zshSSH 세션을 종료할 때 터미널이 지워지지 않습니다. 하지만 그 외에는 문제가 남아 있습니다. 연결한 모든 컴퓨터에서 종료 시 화면이 지워집니다.

어쨌든 원격 컴퓨터의 기본 셸을 bash로 설정해도 동일한 문제가 발생하지 않는 것 같습니다. 그래서 문제는 zsh에 있다고 생각합니다.

나는 도트 파일이 올바르게 할당되었는지 확인하기 위해 도트 파일을 검사했습니다. 그 외에도 아이디어가 부족합니다... SSH를 종료할 때 터미널이 계속 지워지는 이유는 무엇입니까?

편집: 문제의 원인을 찾았습니다. /etc/zlogout많은 원격 컴퓨터에 파일이 있습니다. 저는 이러한 컴퓨터 중 다수에 대해 sudo 권한이 없으며 전 세계적으로 사용자에게 영향을 미치고 싶지 않습니다. 의 기능을 재정의할 수 있는 방법이 있습니까 /etc/zlogout? 파일 을 만드는 것만으로는 $HOME/.zlogout작동하지 않는 것 같습니다.

답변1

RHEL 7의 Zsh는 동일한 방식으로 작동합니다. 즉, ssh 로그아웃 중에 터미널이 지워집니다.

(터미널에 따라 마지막 터미널 출력이 손실되거나 단순히 스크롤되어 보이지 않게 됩니다.)

/etc/zlogout이는 다음을 포함하는 zsh 패키지의 일부이기 때문입니다 .

clear

(다른 명령은 포함하지 않음)

로그아웃 중에 읽기를 완전히 비활성화하여 .zlogout자신의 파일에서 이 정리를 무시할 수 있습니다./etc/zlogout

$ cat ~/.zlogout
setopt norcs

rcs 옵션 비활성화특정 실행 제어 파일의 소싱을 비활성화합니다. 따라서 이름은 다음과 같습니다. 실행 제어 소싱 없음

관련 정보