PC スピーカーのビープ音の無効化
目次
イントロダクション
こちらの思惑とは関係なく、コンピュータはいろいろな場面でビープ音を頻繁に鳴らします。設定によって、ビープ音を鳴らすか、鳴らすならいつ鳴らすかを設定することができます。
さらに、コンピュータが発する音にはケース内のスピーカーによるものと、サウンドカードに接続されたスピーカーによるものがあります (その場合、急にうるさくなることがあります)。この記事では主として前者について記述しています。
ビープ音は BIOS (Basic Input/Output System) や、OS (オペレーティングシステム)、DE (デスクトップ環境) など様々なプログラムから生じます。BIOS の場合は特に扱いが難しくなります。BIOS はマザボードの EPROM チップの中にあるので、ユーザーが BIOS に対して直接行える操作はオンオフだけだからです。BIOS のセットアップに望む設定があるか、チップをリプログラムしない限り、BIOS の設定を変えることは全く出来ません。BIOS によるビープ音はここでは触れませんが、あなたのコンピュータのケーススピーカーを抜いてしまえば音はしないでしょう(自己責任で行なって下さい)。
しかし、それ以外の全てのビープ音は以下の設定によって消すことが可能です。
音声自体をオフにしないで、特定のサウンドだけをオフにするには、そのサウンドが使用している環境のどの部分から生まれているのか認識する必要があります。カスタマイズできるサウンドの選択範囲はいろいろあるため、他のユーザーにとっても有益であるような設定の組み合わせ例を見つけた時はこの wiki ページに追加していただけると幸いです。
グローバル環境
PC スピーカーは pcspkr
モジュールをアンロードすることで無効化できます:
# rmmod pcspkr
起動時から無効にするには pcspkr
モジュールをブラックリスト入りさせて udev にロードさせないようにします:
# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
カーネルコマンドラインを使ってブラックリストに入れることも可能です。ブートローダーの kernel 行に modprobe.blacklist=pcspkr
を追加するだけです。
ローカル環境
X で
$ xset -b
xprofile などのスタートアップファイルにこのコマンドを加えることで、設定を永続的にすることができます。
コンソールで
このコマンドを /etc/profile
や /etc/profile.d/disable-beep.sh
のようなファイル(実行可能にする必要があります)に加えてください:
setterm -blength 0
他にも /etc/inputrc
や ~/.inputrc
に以下の行を加える、もしくはアンコメントする方法もあります:
set bell-style none
ALSA を使う
PC スピーカーをミュートします:
$ amixer set 'PC Speaker' 0% mute
特定のサウンドカードだけをミュートするには、PC ビープです:
$ amixer set 'PC Beep' 0% mute
もしくはただ Beep をミュートします:
$ amixer set 'Beep' 0% mute
コンソール GUI である alsamixer を使ってもかまいません
$ alsamixer
PC ビープにスクロールし 'M' を押してミュートします。alsa 設定を保存するには:
# alsactl store
GNOME
GSettings で audible-bell
を false
に設定します:
$ gsettings set org.gnome.desktop.wm.preferences audible-bell false
Cinnamon
Cinnamon では"水滴"サウンドが流れますが、これを無効にするには、dconf を使って:
$ dconf write /org/cinnamon/desktop/wm/preferences/audible-bell false
GTK+
~/.gtkrc-2.0
と $XDG_CONFIG_HOME/gtk-3.0/settings.ini
の [Settings] セクションに次の行を追加します:
gtk-error-bell = 0
上記の設定は Gnome Developer Handbook に載っています。
参照
- 詳しい情報はそれぞれの
man
ページを見て下さい:xset(1)
,setterm(1)
,readline(3)
. - カーネルモジュール