beep は PC スピーカーで鳴らしたい

あるときから beep が鳴らなくなってしまった。このときはパッケージ alsa-base のバージョンを上げたときで、/etc/modprobe.d/alsa-base-blacklist.confblacklist pcspkr と書かれるようになったからで、これをコメントアウトしてカーネルのモジュール pcspkr をロードするようにして復活した。

別の事情のためにカーネルのバージョンを 2.6.30 にしたら、またまた beep が鳴らなくなってしまった。というか、PC スピーカーからではなく ALSA のほうに行ってしまい、そちらに外部スピーカーを接続して alsamixer の beep コントロールを適切に設定すればそちらから音が出るようになった。

しかし、ここでは外部スピーカー(ヘッドホン)は音楽を聴くときなど限られたときしか使っていない。そのため警告音として役に立たない。

検索の結果、Anyone know what happened with PC speaker in 2.6.30? の中ほどを見ると、カーネルの config で、SND_HDA_INPUT_BEEPoff にすればいいようだ。このためだけに Debian パッケージのカーネルを使えずにカーネルの再構築をしなければならないとはひどく面倒だ。

まとめると、Debian で beep を PC スピーカーで鳴らすには、

  1. SND_HDA_INPUT_BEEPoff にしてカーネルを再構築する
  2. カーネルのモジュール pcspkr はロードする
  3. alsamixer の beep はミュートする (そうしないと ALSA から「も」beep が鳴る)

検索してみても、いかに beep を消すかというばかりが見つかり、逆に beep を PC スピーカーで鳴らしたいというのはほとんど見つからない。時代遅れなのだろうか。

1件のコメント

カテゴリー: Debian

beep は PC スピーカーで鳴らしたい への1件のコメント

  1. tomoa

     こんばんは。お邪魔いたします。
     大変参考になりました。ありがとうございました。
     時代なんでしょうかねぇ…
     PCサーバを作っている自分としては何も繋がない筐体のPCスピーカーから警告音が出るのは当たり前の様に感じていたのですが…
     半角カナがデフォルトで使えたり、sambaが殆ど無修正でインストール出来たりと便利にはなったのですが、サーバとしてより何でも使える準サーバのクライアントとしてのOSになりつつあるんでしょうかね~
     失礼いたしました。これからも、ご活躍くださいね。^^

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>