web-dev-qa-db-ja.com

SSH経由のシステムビープ音を無効にする

ローカルのset bell-style noneファイルに.inputrcを追加して、システムビープ音をローカルで無効にしました。ただし、マシンにリモートsshを実行しても、オートコンプリートにTABを使用するとシステムビープ音が鳴りますが、これはよく行います。リモートマシンの.inputrcファイルまたはリモートアカウント.bashrcファイルを変更できることはわかっていますが、私が所有していないマシンでは煩わしいものです。これをローカルで修正する方法はありますか?.

Windows 10 Ubuntu Bashを使用しています。

ビープ音が遅くなって、気が狂ってしまいます。

5
Liam Kelly

回避策は次のとおりです。まず、リモートユーザーのホームディレクトリに.inputrc.mineファイルを次の行で作成します

set bell-style none

次に、サーバーにログインします

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

-tがないと、bashは機能しません(前のコマンドにリダイレクトされた入出力)。

.inputrcファイルを読み取ることなく、bindコマンドを使用していつでもreadline変数を設定できます。たとえば、ログインした後

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
4
meuh