SSH를 통해 시스템 경고음 비활성화

SSH를 통해 시스템 경고음 비활성화

set bell-style none로컬 파일에 추가하여 로컬에서 시스템 경고음을 비활성화했습니다 .inputrc. 그러나 시스템에 원격으로 SSH를 연결할 때 자주 발생하는 TAB을 사용하여 자동 완성에 대한 시스템 경고음이 계속 발생합니다. 원격 컴퓨터의 .inputrc파일이나 원격 계정 .bashrc파일을 수정할 수 있지만 그렇게 하면 내 소유가 아닌 컴퓨터에 침입할 수 있다는 것을 알고 있습니다 . 이 문제를 로컬에서 해결할 수 있는 방법이 있습니까?

저는 Windows 10 Ubuntu Bash를 사용하고 있습니다.

경고음이 점점 느려지고 있어 나를 미치게 만듭니다.

답변1

이 명령을 사용하면 파일을 bind읽지 않고도 언제든지 readline 변수를 설정할 수 있습니다 . .inputrc예를 들어 로그인 후 다음을 입력합니다.

bind 'set bell-style none'

명령은 단일 문자열이어야 합니다. 매번 자동으로 이 작업을 수행하려면 expect원격 호스트 이름을 매개변수로 사용하는 간단한 스크립트를 사용할 수 있습니다.

#!/usr/bin/expect -f
spawn ssh [lindex $argv 0]
expect {$ }
send "bind 'set bell-style none'\n"
expect {$ }
interact

답변2

.inputrc.mine해결 방법은 다음과 같습니다. 먼저 다음 명령을 사용하여 원격 사용자의 홈 디렉터리에 파일을 만듭니다.

set bell-style none

그런 다음 다음을 사용하여 서버에 로그인하십시오.

ssh -t user@server 'export INPUTRC=~/.inputrc.mine; /bin/bash'

그렇지 않으면 -tbash가 작동하지 않습니다(입력/출력이 이전 명령으로 리디렉션됨).

관련 정보