Wie speichere ich AlsaMixer Einstellungen?


77

Hallo, ich habe das Programm "EarCandy" ausprobiert, jetzt hatte / habe ich viele Probleme. Zuerst habe ich keinen Ton bekommen und jetzt ist die Lautstärke sehr niedrig. PS Earcandy ist jetzt von meiner Festplatte gelöscht.

Wenn ich den Alsamixer öffne mit:

alsamixer

Ich sehe, dass die Lautstärke für die Lautsprecher Null ist. Jetzt schiebe ich es auf die maximale Lautstärke. Aber nach jedem Neustart muss ich alsamixer wieder öffnen und die Lautstärke wieder auf max stellen. Kann ich die Einstellungen für alsamixer speichern oder gibt es eine andere Möglichkeit, das Problem zu beheben? Bildbeschreibung hier eingeben

Antworten:


75

Ausführen:

sudo alsactl store

Dies sollte alsamixer-Konfigurationen speichern, auf /etc/asound.statedie bei jedem Start geladen wird.


14
Mein Laptop setzt die Konfiguration auch nach Ausführung des obigen Befehls fort. Es behauptet, es zu speichern /var/lib/alsa/asound.state. Gibt es einen anderen Grund dafür, dass es nicht funktioniert?
Azmisov

1
Ich habe genau das gleiche Problem und genau das gleiche Verhalten, wenn ich sudo alsactl store versuche.
JeanSibelius

1
@Azmisov: Sie können mit dem System wie folgt weiter experimentieren: (1) Speichern der Konfiguration (2) Starten alsamixerund Ändern der Master-Ebene (2) Wiederherstellen der Konfiguration (3) Überprüfen Sie, ob die Master-Ebene wiederhergestellt wurde. Wenn dies wie erwartet der Fall ist, prüfen Sie, ob die Wiederherstellung beim Systemstart tatsächlich ausgelöst wird ( chkconfig alsa-utilssollte angezeigt werden alsa-utils on).
dma_k

Diese Antwort hat mein SPDIF-Problem gelöst: askubuntu.com/questions/541847/…
neves

1
Wenn ich es laufen sudo alsactl storelasse, gibt es mir den folgenden Fehler alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
user2513149

24

Sie können die Mixer-Einstellungen auch in einer benutzerdefinierten Datei speichern alsactl:

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

Neuladen:

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

2
Die beste Antwort hat bei mir nicht geklappt, aber das hat geklappt! Ich habe eine Konfigurationsdatei erstellt und diese unter platziert /etc/asound.stateund die Reload-Zeile zu meiner hinzugefügt /etc/rc.local.
John

Dies war die richtige Lösung für mich ... aber ich musste den absoluten Pfad zur .config-Datei in der angeben rc.local(obwohl es auch mit relativen funktionieren sollte, weil es derselbe Benutzer ist ... aber nicht). danke und ich hoffe mein
hinweis

12

Die Antwort von Seppo Erviälä ist richtig, aber nicht vollständig. Wie dma_k bereits angemerkt hat, man alsactlheißt es am Ende klar, dass

/var/lib/alsa/asound.state (oder eine beliebige Datei, die Sie mit dem Flag -f angeben) wird zum Speichern der aktuellen Einstellungen für Ihre Soundkarten verwendet.

palacsinit hat entsprechend darauf hingewiesen, dass Sie config mit in Ihre Datei speichern können

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

und neu laden mit

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

Dies kann durch Platzieren der zweiten Zeile, des Wiederherstellungsbefehls, in einer .desktop-Datei weiter verbessert werden.

Sie müssen ausführen nano ~/.config/autostart/alsarestore.desktop, um den Nano-Texteditor zu öffnen und eine ~/.config/autostart/alsarestore.desktopDatei zu erstellen . Einträge im ~/.config/autostart/Verzeichnis werden verwendet, um Programme und Dienste für einen bestimmten Benutzer beim Starten / grafischen Anmelden automatisch zu starten.

Der Inhalt der .desktop-Datei sollte folgendermaßen aussehen:

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

Unter anderem könnten Sie Ihre Konfiguration in speichern /etc/asound.stateund mit ihr verknüpfen /var/lib/alsa/asound.state, aber dies ist eher ein Vorschlag als eine getestete Lösung


Dies war der einzige Weg, wie ich für mich an Ubuntu Xenial 16.04
Francisco Costa

1
Die Befehle "store" und "restore" eignen sich gut für die manuelle Steuerung. Wenn ich jedoch die Autostart-Datei mit dem Befehl "restore" einrichte, wird die Mikrofoneinstellung in alsamixer auf stumm geschaltet und das Ergebnis ist statisch. Wenn ich den Wiederherstellungsbefehl manuell mache, ist alles in Ordnung. Warum ändert sich die Mikrofoneinstellung und wird nicht durch eine entsprechend gespeicherte Konfigurationsdatei per Autostart korrigiert?
Brad Horn

@BradHorn Es ist möglich, dass etwas anderes Ihren Befehl überschreibt. Es läuft, aber dann macht etwas anderes seine Änderungen rückgängig
Sergiy Kolodyazhnyy

irgendwelche ideen was das sein könnte?
Brad Horn

1
@BradHorn nicht von oben, nein. Versuchen Sie, die ExecZeile in der .desktopDatei zu ändern Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore". Das führt zu einer Verzögerung von 5 Sekunden. Was auch immer Ihre Einstellungen überschreibt, wird zuerst ausgeführt und anschließend wird Ihr Wiederherstellungsbefehl ausgeführt. Versuchen Sie, mit den sleepWerten zu spielen, wenn dies Ihre Einstellungen überschreibt.
Sergiy Kolodyazhnyy

2

Nachdem ich 2 Monate lang versucht hatte, "sudo alsactl store" zum Laufen zu bringen, schaffte ich es endlich. Geben Sie zunächst das Terminal "alsamixer" ein, um die Benutzeroberfläche von alsamixer aufzurufen. Nehmen Sie dann die gewünschten Konfigurationen vor (z. B. Erhöhen Sie den Lautsprecher- / Kopfhörerpegel oder schalten Sie die Stummschaltung durch Drücken von "m" auf der Tastatur ein). Nun zum wichtigsten Teil. Bevor Sie alsamixer beenden, öffnen Sie ein neues Terminal und gehen Sie wie folgt vor: "sudo su", um hohe Berechtigungen zu erhalten (Seien Sie sehr vorsichtig mit Befehlen, die Sie im "sudo su" -Modus verwenden, da Sie möglicherweise Ihr System zerstören) und speichern Sie dann "alsactl store" alsa Einstellungen. Schließen Sie dann beide Terminals und starten Sie Ihren Computer neu. Das erledigt die Arbeit.


Das funktioniert bei mir nicht.
kleinfreund

Funktioniert bei mir nicht genau wie hier, sondern mit sudo su.
Дмитрий Полянин

1

Die Lösung von Sergiy Kolodyazhnyy hat für mich funktioniert. Obwohl ich die Modifikation von hinzufügen musste Exec=bash -c "sleep 5 .... In der Tat geschieht dies, weil PulseAudio ALSA modifiziert.
Eine andere Lösung besteht darin, PulseAudio während des Startvorgangs zu deaktivieren (siehe hier ):

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

Suchen ; autospawn = yes, entfernen ;und ändern in:

autospawn = no

Diese Lösung hat auch bei mir funktioniert, obwohl mir Ubuntu beim Start einen Systemprogrammfehler gemeldet hat. Da ich diese Art von Nachrichten hasse, habe ich die erste Lösung verwendet.



0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway unterstützt das Speichern / Wiederherstellen von Soundkartensitzungen über die JSON / REST-API

  • Sitzungen auflisten / jsonapi? request = Sitzungsliste & cardid = hw: 0
  • store session / jsonapi? request = sitzungsspeicher & cardid = hw: 0 & args = MySoundConfig
  • restore / jsonapi? request = Sitzungslast & cardid = hw: 0 & args = MySoundConfig

0

Versuchen Sie, die Antwort von @Sergiy Kolodyazhnyy alsactldurch den vollständigen Pfad zu ersetzen (unabhängig davon, was which alsactlan Sie zurückgegeben wurde).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.