PowerShell(やcmd)コンソールで、入力文字が無いのにバックスペースキーを押したときになるポロロン
という音(ビープ音)を消す方法についてです。音楽を聴いたりしているときや集中しているときにこれが鳴ると結構イライラしますよね(;'∀')
PowerShellからssh
でLinuxマシンに接続したときにLinux側でも設定が必要なのでそちらについても記載しています。
Windows(PowerShell)での設定
ログイン時に実行されるプロファイル(Microsoft.PowerShell_profile.ps1
)に設定を追加することで音を消すことができます。Linuxでの~/.bashrc
のようなファイルのようです。
まずはPowerShellを管理者権限で実行します。アイコンを右クリックすると管理者として実行する
というコマンドがあるのでそれを選択します。起動したら以下のコマンドを実行して設定ファイルを作成し、内容を追加します。以下のパスはWindows 10の場合です。
ni C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1 -Value "Set-PSReadlineOption -BellStyle None"
ni
コマンドはPowerShellでのNew-Item
コマンドのエイリアスです。Linuxでのtouch
のようなものです。-Value
オプションで指定した文字列を内容としたファイルを作成できるので今回はそれを使用しています。
Microsoft.PowerShell_profile.ps1
が既に存在している場合にはファイル作成時にエラーとなり上書きされることはありません。(私の環境では存在していませんでした。)
ni : ファイル 'C:\Windows\System32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1' は既に存在します。
これでコンソールを開きなおすとビープ音が消えます。
しかし、ssh
などでLinuxマシンに接続すると再度ビープ音が発生します。PowerShell自体の設定で何とかなるかと思っていたのですが、音の根源から絶たなければならないようです・・・
Linuxでの設定
(Raspberry Pi上で動いているDebian stretchで確認しています。)
コマンドライン上のビープ音
/etc/inputrc
という設定ファイルがあるのでそれを変更します。このファイルの変更にも管理者権限が必要です。
$ sudo vim /etc/inputrc # do not bell on tab-completion set bell-style none # set bell-style visible
内容の20行目あたりにビープ音(ベル音)に関する設定がコメントアウトしてあります。set bell-style none
のほうのコメントアウトを解除します。
保存後マシンを再起動させると、コマンドライン上でのビープ音が消えます。inputrc
だけを再度読み込ませることもできるかもしれません。
vimのビープ音
上記の設定だけでひと段落かと思いきや、どうやらvim
やless
コマンドで発生するビープ音は抑えきれないようです。。。
vimに関してですが~/.vimrc
にset visualbell
追加することで消すことができます。
$ vim ~/.vimrc syntax on " (ほかの設定。。。) set number " ... set visualbell " ビープ音を消す
これで完了です。