AlsaMixerの設定を保存するには?


77

こんにちは私はプログラム「EarCandy」を試してみましたが、今では多くの問題がありました。最初は音が出ませんでしたが、今では音量が非常に小さくなっています。PS Earcandyがハードディスクから削除されました。

ImでAlsamixerを開くとき:

alsamixer

スピーカーの音量がゼロになっています。今、私はそれを最大音量まで押します。しかし、再起動するたびに、alsamixerを再度開き、音量を再度最大に設定する必要があります。alsamixerの設定を保存できますか、または問題を修正する他の方法はありますか? ここに画像の説明を入力してください

回答:


75

実行:

sudo alsactl store

これにより、/etc/asound.stateすべての起動時にロードされるalsamixer設定が保存されます。


14
上記のコマンドを実行した後でも、ラップトップは構成をリセットし続けます。それをに格納していると主張します/var/lib/alsa/asound.state。動作しない他の理由はありますか?
アズミソフ

1
sudo alsactl storeを試してみると、まったく同じ問題があり、まったく同じ動作をします。
JeanSibelius

1
@Azmisov:次のようなシステムをさらに試すことができます:(1)構成の保存(2)alsamixerマスターレベルの開始と変更(2)構成の復元(3)マスターレベルが復元されたことの確認 上記が予想どおりである場合は、システムの起動時に復元が実際にトリガーされることを確認します(chkconfig alsa-utilsが表示されるはずですalsa-utils on
-dma_k

:この答えは私のSPDIFの問題解決askubuntu.com/questions/541847/...
ネベスを

1
実行するsudo alsactl storeと、次のエラーが表示されますalsactl: get_controls:567: snd_ctl_open error: Invalid argument
user2513149

24

ミキサーの設定をカスタムファイルに保存することもできますalsactl

alsactl --file ~/.config/asound.state store

再読み込み:

alsactl --file ~/.config/asound.state restore

2
一番上の答えは私にはうまくいきませんでしたが、これはうまくいきました!configファイルを作成して配置し/etc/asound.state、リロード行をに追加しました/etc/rc.local
ジョン

これは私にとって正しい解決策でした...しかし、.configファイルへの絶対パスを指定する必要がありましたrc.local(ただし、相対ユーザーでも同じユーザーであるため動作するはずですが、そうではありませんでした)。ありがとう、私のヒントが誰かにも役立つことを願っています
-davidhq

12

SeppoErviäläの答えは正しいが、完全ではない。dma_kが既にman alsactl述べたように、最後に明確に述べています、

/var/lib/alsa/asound.state(または-fフラグで指定したファイル)は、サウンドカードの現在の設定を保存するために使用されます。

palacsinitは、設定をファイルに保存できることを適切に指摘しました。

alsactl --file ~/.config/asound.state store

そしてリロード

alsactl --file ~/.config/asound.state restore

これは、復元コマンドである2行目を.desktopファイルに配置することでさらに改善できます。

nano ~/.config/autostart/alsarestore.desktopnanoテキストエディターを開き、~/.config/autostart/alsarestore.desktopファイルを作成するを実行する必要があります。~/.config/autostart/ディレクトリ内のエントリは、スタートアップ/グラフィカルログインで特定のユーザーのプログラムとサービスを自動起動するために使用されます。

.desktopファイルの内容は次のとおりです。

[Desktop Entry]
Type=Application
Terminal=false
Name=alsarestore
Exec=alsactl --file ~/.config/asound.state restore

とりわけ、configをに格納し/etc/asound.stateてにシンボリックリンクすることもできます/var/lib/alsa/asound.stateが、これはテスト済みのソリューションというよりも提案です。


これは、Ubuntu Xenial 16.04
Francisco Costa

1
「store」および「restore」コマンドは、手動制御では正常に機能します。ただし、「復元」コマンドで自動起動ファイルを設定すると、alsamixerのマイク設定がミュートに書き換えられ、結果が静的になります。私が手動で復元コマンドを実行する場合、すべてが正常です。マイク設定が変更され、自動起動によって適切に保存された構成ファイルによって修正されないのはなぜですか?
ブラッドホーン

@BradHornコマンドを上書きしている可能性があります。それは動作しますが、その後何か他のものは、その変更を取り消し
Sergiy Kolodyazhnyy

どんなアイデアがありますか?
ブラッドホーン

1
@BradHornは私の頭の上ではありません。ファイルのExec行をに変更してみてください。これにより5秒の遅延が発生するため、設定を上書きしているものが最初に実行され、その後、復元コマンドが実行されます。それでも設定が上書きされる場合は、値を試してみてください。.desktopExec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore"sleep
セルギーコロディアズニー16年

2

「sudo alsactl store」を機能させるために2か月を費やした後、私はついにそれを行うことができました。最初に端末「alsamixer」を入力して、alsamixer UIを入力します。次に、必要な構成を行います(たとえば、スピーカー/ヘッドフォンのレベルを上げるか、キーボードの「m」を押してミュートを解除します)。今最も重要な部分。alsamixerを終了する前に、新しいターミナルを開いて「sudo su」を実行し、高い特権を取得します(システムを破壊する可能性があるため、「sudo su」モードで使用するコマンドには十分注意してください)。アルサ設定。次に、両方の端末を閉じて、コンピューターを再起動します。これは仕事をします。


これは私にはうまくいきません。
kleinfreund

正確にここではなく、で私のために働くsudo su
ДмитрийПолянин

1

Sergiy Kolodyazhnyyの解決策は私のために働いた。の変更を追加する必要がありましたがExec=bash -c "sleep 5 ...。確かに、これはPulseAudioがALSAを修正しているために起こります。
別の解決策は、起動中にPulseAudioを無効にすることですこちらを参照)。

sudo cp /etc/pulse/client.conf /etc/pulse/client.confbackup
sudo nano /etc/pulse/client.conf

を見つけて; autospawn = yes削除し;、次のように変更します。

autospawn = no

このソリューションは私にとってもうまくいきましたが、Ubuntuは起動時にシステムプログラムエラーを出してくれました。この種のメッセージが嫌いなので、最初のソリューションを使用しました。



0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGatewayは、JSON / REST APIからのサウンドカードセッションの保存/復元をサポートしています

  • セッションのリスト/ jsonapi?request = session-list&cardid = hw:0
  • ストアセッション/ jsonapi?request = session-store&cardid = hw:0&args = MySoundConfig
  • restore / jsonapi?request = session-load&cardid = hw:0&args = MySoundConfig

0

@Sergiy Kolodyazhnyyの答えがうまくいかなかった人のために、alsactlその完全なパス(which alsactl返されたものは何でも)で置き換えてみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.