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 スピーカーで鳴らしたいというのはほとんど見つからない。時代遅れなのだろうか。

“beep は PC スピーカーで鳴らしたい” への 1 件のフィードバック

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

    返信

コメントをどうぞ