Gibt es eine andere Möglichkeit, alsamixer-Einstellungen als alsactl store zu speichern?

9

Das Hauptproblem: Aus irgendeinem Grund deaktiviert (stumm) Ubuntu 14.04 beim Booten den S / PDIF-Ausgang auf meiner Soundkarte.

Diese Frage und ihre Antworten zeigen an, dass sudo alsactl storedie alsamixer-Einstellungen gespeichert werden, sobald ich die Stummschaltung der S / PDIF-Ausgabe aufgehoben habe. Beim Booten wird die S / PDIF-Ausgabe jedoch wieder stummgeschaltet.

In /var/lib/alsa/asound.state( Pastebin ) gibt es einen PDIF-Eintrag, den ich auf "true" gesetzt und gespeichert habe. Dies hat dazu geführt, dass die automatische Stummschaltung für meinen "Phantom Jack" gelöst wurde, aber es gibt keinen anderen Eintrag für das "wahre" S / PDIF in asound.state, den ich manuell anpassen kann.

Es gibt auch eine leere /var/lib/alsa/asound.state.lockDatei (11 Bytes, leer in gedit) im /alsa/Verzeichnis. Ist das etwas, mit dem ich mich befassen sollte?

JeanSibelius
quelle

Antworten:

9

Ich habe das gleiche Problem auf meinem PC:
Es scheint, dass alsa den SPDIF-Status "nicht stummgeschaltet" während des Startvorgangs effektiv wiederherstellt, aber pulseaudio schaltet ihn dann stumm, wenn die Benutzersitzung beginnt.
Um zu überprüfen, ob eine Wiederherstellung in Ordnung ist, führen Sie sie einfach sudo alsactl restorein einem Terminal aus und prüfen Sie, ob die Stummschaltung von SPDIF aufgehoben wird.
Um zu überprüfen, ob pulseaudio das Problem ist, führen Sie einfach pulseaudio -keinen Neustart von pulseaudio aus: Sie sollten sehen, dass SPDIF stummgeschaltet ist.

Da ich nicht weiß, wie ich pulseaudio so einstellen soll, dass es nicht stummgeschaltet wird, ist dies eine von dort inspirierte Problemumgehung :

  • Versuchen Sie, ob dieser Befehl die Stummschaltung des SPDIF-Kanals aufhebt:
    amixer set IEC958 unmute
  • Wenn ja, erstellen Sie eine versteckte .unmute-Datei: Fügen Sie
    gedit .unmute
    4 Zeilen ein:

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

speichern und schließen.
Bearbeiten Sie nun die .profileDatei:
gedit .profile
Fügen Sie diese Zeile am Ende hinzu:

bash .unmute &

speichern und schließen.

Testen Sie nun die Wiedereröffnung der Sitzung oder den Neustart.

Hinweis : Im obigen Link von Mageia wird /etc/rc.local verwendet, um alsactl restorebeim Booten ausgeführt zu werden. Dies ist auch in Ordnung. Mit .profileund Amixer müssen Sie jedoch nicht "sudo" und die Stummschaltung wird bei jedem Sitzungsstart für Ihre Anmeldung aufgehoben.

laugeo
quelle
1

Ich habe die Antwort von @ laugeo angepasst , um das Problem mit meinen Kopfhörern zu beheben.

Das Problem war, dass der Kopfhörer auf Stummschaltung eingestellt war, aber auf 00 laut war.

Ich wollte, dass es 100 ist, also fügte ich Folgendes hinzu: /usr/bin/amixer -c 0 set Headphone playback 100% unmute

Und das .unmuteSkript sieht aus wie:

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

Wenn Sie die Stummschaltung aufheben und die Lautstärke auf 100% einstellen möchten, ändern Sie einfach den Kanal. Zum Beispiel für den Masterkanal:

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

Wenn ich starte sudo alsactl store, erhalte ich den folgenden Fehler

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

Ich musste die Stummschaltung des Master-Kanals mit aufheben

amixer set Master 100 unmute

und es funktionierte perfekt für die aktuell ausgewählte Soundkarte. Der Master-Kanal wurde jedoch nach dem Start immer wieder stummgeschaltet. Daher habe ich ein Skript mit dem Namen erstellt unmute.shund festgelegt, chmod 700damit andere Benutzer es nicht ausführen können. Ich habe das Skript mit folgendem Inhalt gefüllt:

#!/bin/bash
amixer set Master 100 unmute

und speicherte es im ~/.kde/AutostartVerzeichnis. Wenn Sie Kubuntu oder eine andere Distribution mit KDE haben, werden alle Skripte in diesem Verzeichnis beim Booten automatisch ausgeführt.

Wenn Sie kein KDE haben, können Sie versuchen, den amixerBefehl zur ~/.profileDatei hinzuzufügen .

user2513149
quelle