web-dev-qa-db-ja.com

alsactlストア以外のalsamixer設定を保存する方法はありますか?

根本的な問題:何らかの理由で、起動時にUbuntu 14.04がサウンドカードのS/PDIF出力を無効(ミュート)にします。

この質問とその回答 は、S/PDIF出力のミュートを解除すると、Sudo alsactl storeがalsamixer設定を保存することを示しますが、ブート時に、S/PDIF出力は再びミュートされます。

/var/lib/alsa/asound.statePastebin )にはPDIFエントリが1つあり、これを「true」に設定して保存しました。これにより、私の「Phantom Jack」の自動ミュートが解決されましたが、手動で調整できるasound.stateの「true」S/PDIFの他のエントリはありません。

/var/lib/alsa/asound.state.lockディレクトリには、空の/alsa/ファイル(11バイト、geditでは空白)もあります。これは私が対処すべきものですか?

9
JeanSibelius

私のPCでも同じ問題があります:
alsaは、起動時にSPDIFの「ミュート解除」状態を効果的に復元しますが、ユーザーセッションの開始時にpulseaudioがミュートします。
alsaの復元が正常であることを確認するには、ターミナルでSudo alsactl restoreを実行し、SPDIFのミュートを解除するかどうかを確認します。
pulseaudioが問題であることを確認するには、pulseaudio -kを実行してpulseaudioを再起動します。SPDIFがミュートされていることがわかります。

ミュートしないようにpulseaudioを設定する方法がわからないので、これは there からヒントを得た回避策です:

  • このコマンドがSPDIFチャネルのミュートを解除する場合に試してください。
    amixer set IEC958 unmute
  • はいの場合、.unmute隠しファイルを作成します。
    gedit .unmute
    4行を貼り付けます:

    #!/bin/bash
    sleep 10 
    /usr/bin/amixer set IEC958 unmute 
    exit
    

保存して閉じます。
次に、.profileファイルを編集します。
gedit .profile
この行を最後に追加します:

bash .unmute &

保存して閉じます。

次に、セッションの再開または再起動をテストします。

:Mageiaからの上記のリンクでは、起動時に/etc/rc.localを使用してalsactl restoreを実行します。 。ただし、.profileとミキサーを使用すると、「Sudo」を使用する必要はなく、ログインのセッション開始ごとにミュートが解除されます。

9
laugeo

@ laugeo's answer を修正して、ヘッドフォンの問題を解決しました。

問題は、ヘッドフォンがミュートを解除するように設定されていたが、00音量であったことでした。

100にしたかったので、これを追加しました:/usr/bin/amixer -c 0 set Headphone playback 100% unmute

.unmuteスクリプトは次のようになります。

#!/bin/bash
sleep 10 
/usr/bin/amixer -c 0 set Headphone playback 100% unmute
exit

ミュートを解除してボリュームを100%に設定する場合は、チャンネルを変更します。マスターチャンネルの例:

#!/bin/bash
sleep 10 
/usr/bin/amixer -c 0 set Master playback 100% unmute
exit
1
Germán Acosta

Sudo alsactl storeを実行すると、次のエラーが表示されます

alsactl: get_controls:567: snd_ctl_open error: Invalid argument.

マスターチャンネルのミュートを解除する必要がありました

amixer set Master 100 unmute

また、現在選択されているサウンドカードで完全に機能しました。しかし、マスターチャネルはブート後に常にミュートされていたため、unmute.shという名前のスクリプトを作成し、chmod 700を設定して、他のユーザーが実行できないようにしました。スクリプトに次の内容を入力しました。

#!/bin/bash
amixer set Master 100 unmute

~/.kde/Autostartディレクトリに保存しました。 Kubuntuまたは他のKDEディストリビューションがある場合、そのディレクトリ内のすべてのスクリプトはブート時に自動的に実行されます。

KDEがない場合は、amixerコマンドを~/.profileファイルに追加してみてください。

0
user2513149