回答:
実行:
sudo alsactl store
これにより、/etc/asound.state
すべての起動時にロードされるalsamixer設定が保存されます。
alsamixer
マスターレベルの開始と変更(2)構成の復元(3)マスターレベルが復元されたことの確認 上記が予想どおりである場合は、システムの起動時に復元が実際にトリガーされることを確認します(chkconfig alsa-utils
が表示されるはずですalsa-utils on
)
sudo alsactl store
と、次のエラーが表示されますalsactl: get_controls:567: snd_ctl_open error: Invalid argument
。
ミキサーの設定をカスタムファイルに保存することもできますalsactl
:
alsactl --file ~/.config/asound.state store
再読み込み:
alsactl --file ~/.config/asound.state restore
/etc/asound.state
、リロード行をに追加しました/etc/rc.local
。
rc.local
(ただし、相対ユーザーでも同じユーザーであるため動作するはずですが、そうではありませんでした)。ありがとう、私のヒントが誰かにも役立つことを願っています
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.desktop
nanoテキストエディターを開き、~/.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
が、これはテスト済みのソリューションというよりも提案です。
Exec
行をに変更してみてください。これにより5秒の遅延が発生するため、設定を上書きしているものが最初に実行され、その後、復元コマンドが実行されます。それでも設定が上書きされる場合は、値を試してみてください。.desktop
Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore"
sleep
「sudo alsactl store」を機能させるために2か月を費やした後、私はついにそれを行うことができました。最初に端末「alsamixer」を入力して、alsamixer UIを入力します。次に、必要な構成を行います(たとえば、スピーカー/ヘッドフォンのレベルを上げるか、キーボードの「m」を押してミュートを解除します)。今最も重要な部分。alsamixerを終了する前に、新しいターミナルを開いて「sudo su」を実行し、高い特権を取得します(システムを破壊する可能性があるため、「sudo su」モードで使用するコマンドには十分注意してください)。アルサ設定。次に、両方の端末を閉じて、コンピューターを再起動します。これは仕事をします。
sudo su
。
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は起動時にシステムプログラムエラーを出してくれました。この種のメッセージが嫌いなので、最初のソリューションを使用しました。
Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGatewayは、JSON / REST APIからのサウンドカードセッションの保存/復元をサポートしています
/var/lib/alsa/asound.state
。動作しない他の理由はありますか?