2018年9月23日日曜日

Linuxでヘッドフォンから音が出なくなった時の対処法

アップデート後にヘッドフォンから音が出なくなった
先日、Arch Linuxのパッケージをアップデートしたら、ヘッドフォンから音が出なくなっていた。最近、Arch Linuxを起動するたびに音声がミュートになっていることが多く、何か変な感じがしていた。GNOMEのバージョンを、3.30にアップデートしたタイミングで出なくなったのだろうか…

ヘッドフォンは、マザーボード(ASUS P8Z77-M PRO)のオンボードのサウンドカード(マザーボードのバックパネルI/Oのステレオピンジャック)につなげて使っていた。

音声の設定をいじった結果、ALSAのAuto-Muteの設定を無効にすることで、ヘッドフォンから音が出るようになることが分かった。その内容を記事にまとめておく。


ヘッドフォンから音が出なくなった時の対処法(コマンドライン使用)
まず、コマンドラインを使った方法から紹介する。

ALSAの設定をするため、alsa-utilsをインストールする。
# pacman -S alsa-utils

aplayから、使用しているサウンドカードの番号を調べる。行の先頭のcard 0: ...からカードの番号が分かる。自分の環境では、オンボードのサウンドカードしか使用していないので、「card 0」のみと分かる。
$ aplay --list-devices

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

次に、card 0のAuto-Muteの設定を、amixerから調べる。Item0がEnabledになっているので、Auto-Muteが有効になっている。
$ amixer -c 0 sget "Auto-Mute Mode"

Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Enabled'

以下のコマンドで、Auto-Muteを無効にできる。
$ amixer -c 0 sset "Auto-Mute Mode" Disabled

Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'

コマンドの最後は、Disableではなく、Disable"d"なので注意。ちなみに、Disableとすると「amixer: Invalid command!」のエラーがでる。
$ amixer -c 0 set "Auto-Mute Mode" Disable

amixer: Invalid command!

Auto-Muteの設定を保存するために、最後に管理者権限で設定を保存する。設定を保存しないと、再起動後にAuto-Muteの設定が再度有効になってしまう。
# alsactl store

ヘッドフォンから音が出なくなった時の対処法(AlsaMixer使用)
コマンドではなく、GUIツールのAlasaMixerを使ってもALSAのAuto-Muteの設定は変更できる。

ALSAの設定をするため、alsa-utilsをインストールする。
# pacman -S alsa-utils

ALSAの設定を変更できるGUIツールの、AlsaMixerを起動する。
$ alsamixer

AlsaMixerが起動したら、F6キーを押して、サウンドカードの選択ウィンドウを立ち上げる。


サウンドカードの選択ウィンドウのが立ち上がったら、使用しているサウンドカードを↑↓キーで選択して、エンター。自分の環境では、「0 HDA Intel PCH」だった。


サウンドカードの設定画面に切り替わるので、→←キーを使って、「Auto-Mute」の項目を表示させる。


「Auto-Mute」の項目を選択して、Enalbedになっていたら、↓キーでDisabledに変更する。


「Auto-Mute」の設定を、Disabledに変更できたらEscキーを押してAlsaMixerを終了する。


AlsaMixerのAuto-Muteの設定を保存するために、最後に管理者権限で設定を保存する。設定を保存しないと、再起動後にAuto-Muteの設定が再度有効になってしまう。
# alsactl store



参考:
[1]Advanced Linux Sound Architecture - ArchWiki

スポンサーリンク

スポンサーリンク


関連コンテンツ


この記事をシェアする

0 件のコメント:

コメントを投稿