ビープ音を消す

Firefox のページ検索で、検索した単語が見つからなかったときなどに鳴るビープ音は耳障りなことがある。以下ではビープ音が出ないようにする方法について扱う。

結論から言えば、 xset コマンドを使えばよい。

b オプションはベルの音量、音程、持続時間を制御する。このオプションには 3 つまでの数値パラメータを指定するか、ハイフン(-)を前に付けるか、'on/off' のフラグを指定できる。パラメータが指定されない場合や 'on' フラグが使用されるとシステムのデフォルト値が使用される。ハイフンまたは 'off' が指定されるとベルが切られる。数値パラメータを1つだけ与えると、ベルの音量が設定される。この値は最大値に対するパーセント値として指定する。同様に、2番目の数値パラメータにはベルの音程をヘルツで指定し、3番目の数値パラメータには持続時間をミリ秒で指定する。全てのハードウェアでベルの特性を変更できるとは限らない点に注意すること。X サーバはユーザの指定にできるだけ近い設定を行う。

http://xjman.dsl.gr.jp/man/man1/xset.1x.html

つまり、コンソールから

$ xset -b

とすれば、ビープ音が出なくなる。しかし、これではログインする度にコマンドを実行することになる。

一々コマンドを実行しないで済むようにするには、以下の内容のデスクトップエントリファイルを作成する。つまり、テキストエディタを開き、以下の内容をコピペして、例えば xset.desktop といったファイル名で保存すればよい。保存先は[id:mnogu:20090523]に書いた通りである。

[Desktop Entry]
Type=Application
Name=xset
Exec=xset -b
StartupNotify=false

起動してもパネルに表示されないようにするため、StartupNotify を false にしている。

他にも、ログインする際、自動的に実行するようにする方法としては ~/.xinitrc や ~/.xprofile に上記コマンド行を追加することも考えられる。ただ、この方法は X のバージョンによってはうまくいかないことがある。

Ubuntu Linux では

$ sudo rmmod pcspkr

とすればよいが、他のディストリビューションで使えないことがある。更に、この方法だと root 権限がないと使えない。また、全ユーザでビープ音が出なくなってしまう。