Come salvare le impostazioni di AlsaMixer?


77

Ciao, ho provato il programma "EarCandy", ora ho avuto / ho molti problemi. All'inizio non ho ricevuto alcun suono e ora ha un volume molto basso. PS Earcandy è ora cancellato dal mio hard disk.

Quando apro Alsamixer con:

alsamixer

Vedo che il volume degli altoparlanti è zero. Ora lo spingo al massimo volume. Ma dopo ogni riavvio, devo aprire di nuovo alsamixer e impostare nuovamente il volume al massimo. Posso salvare le impostazioni per alsamixer o esiste un altro modo per risolvere il problema? inserisci qui la descrizione dell'immagine

Risposte:


75

Eseguire:

sudo alsactl store

Questo dovrebbe salvare le configurazioni di alsamixer su /etc/asound.statecui viene caricato ogni avvio.


14
Il mio laptop continua a ripristinare la mia configurazione, anche dopo aver eseguito il comando sopra. Sostiene di averlo memorizzato in /var/lib/alsa/asound.state. C'è qualche altro motivo per cui non funziona?
Azmisov,

1
Ho esattamente lo stesso problema e lo stesso comportamento quando provo sudo alsactl store.
Jean Sibelius,

1
@Azmisov: si può ulteriormente esperimento con il sistema come segue: (1) memorizzare la configurazione (2) avviare alsamixere il livello di cambiamento master (2) ripristinare la configurazione (3) verificare che livello master è stato ripristinato. Se quanto sopra è come previsto, verificare che il ripristino sia effettivamente attivato all'avvio del sistema ( chkconfig alsa-utilsdovrebbe essere visualizzato alsa-utils on).
dma_k,

Questa risposta ha risolto il mio problema SPDIF: askubuntu.com/questions/541847/…
neves

1
Quando corro sudo alsactl storemi dà il seguente errore alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
user2513149

24

Puoi anche salvare le impostazioni del mixer in un file personalizzato con alsactl:

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

Ricaricamento:

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

2
La risposta migliore non ha funzionato per me ma questo ha funzionato! Ho creato un file di configurazione e l'ho inserito in /etc/asound.statee ho aggiunto la linea di ricarica al mio /etc/rc.local.
Giovanni,

Questa è stata la soluzione giusta per me ... ma ho dovuto specificare il percorso assoluto del file .config all'interno del rc.local(anche se dovrebbe funzionare anche con relativo perché è lo stesso utente .. ma non lo ha fatto). grazie e spero che il mio suggerimento aiuti anche qualcuno
davidhq

12

La risposta di Seppo Erviälä è giusta ma non completa. Come già notato da dma_k, man alsactlalla fine afferma chiaramente che,

/var/lib/alsa/asound.state (o qualsiasi altro file specificato con il flag -f) viene utilizzato per memorizzare le impostazioni correnti per le schede audio.

palacsinit ha opportunamente notato che è possibile memorizzare la configurazione nel file con

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

e ricaricare con

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

Questo può essere ulteriormente migliorato inserendo la seconda riga, il comando di ripristino in un file .desktop.

Dovrai eseguire nano ~/.config/autostart/alsarestore.desktop, che aprirà l'editor di testo nano e creerà il ~/.config/autostart/alsarestore.desktopfile. Le voci nella ~/.config/autostart/directory vengono utilizzate per avviare automaticamente programmi e servizi per utenti specifici all'avvio / accesso grafico.

Il contenuto del file .desktop dovrebbe essere il seguente:

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

Tra le altre cose, potresti archiviare la tua configurazione /etc/asound.statee collegarla a symlink /var/lib/alsa/asound.state, ma questa è più un suggerimento piuttosto che una soluzione testata


Questo è stato l'unico modo in cui ho lavorato per me su Ubuntu Xenial 16.04
Francisco Costa

1
Il comando "store" e "restore" funzionano correttamente per il controllo manuale. Tuttavia, quando imposto il file di avvio automatico con il comando "restore", vedo che l'impostazione del microfono in alsamixer viene riscritta in modalità mute e il risultato è statico. Se eseguo manualmente il comando di ripristino, va tutto bene. Perché l'impostazione del microfono sta cambiando e non viene corretta da un file di configurazione memorizzato in modo appropriato dall'avvio automatico ???
Brad Horn,

@BradHorn è possibile che tu abbia qualcos'altro che sovrascrive il tuo comando. Funziona, ma poi qualcos'altro annulla i suoi cambiamenti
Sergiy Kolodyazhnyy

qualche idea di cosa potrebbe essere?
Brad Horn,

1
@BradHorn non della cima della mia testa, no. Prova a cambiare la Execlinea nel .desktopfile Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore". Ciò introdurrà un ritardo di 5 secondi, quindi qualsiasi cosa sovrascriverà le tue impostazioni verrà eseguita per prima, quindi il tuo comando di ripristino verrà eseguito successivamente. Prova a giocare con i sleepvalori se questo ha ancora la precedenza sulle tue impostazioni.
Sergiy Kolodyazhnyy,

2

Dopo 2 mesi di tentativi di far funzionare "sudo alsactl store", sono finalmente riuscito a farlo. Digitare innanzitutto il terminale "alsamixer" per accedere all'interfaccia utente di alsamixer. Quindi effettuare le configurazioni necessarie (ad esempio aumentare il livello degli altoparlanti / cuffie o riattivare l'audio premendo "m" sulla tastiera). Ora la parte più importante. Prima di uscire da alsamixer, apri un nuovo terminale ed esegui: "sudo su" per ottenere privilegi elevati (fai molta attenzione ai comandi che utilizzi in modalità "sudo su" perché potresti distruggere il tuo sistema) e quindi fai "alsactl store" per salvare impostazioni alsa. Quindi chiudere entrambi i terminali e riavviare il computer. Questo farà il lavoro.


Questo non funziona per me.
Kleinfreund,

Funziona per me, non esattamente come qui, ma con sudo su.
Дмитрий Полянин

1

La soluzione di Sergiy Kolodyazhnyy ha funzionato per me. Anche se ho dovuto aggiungere la modifica di Exec=bash -c "sleep 5 .... In effetti ciò accade perché PulseAudio sta modificando ALSA.
Un'altra soluzione è disabilitare PulseAudio durante l'avvio (vedi qui ):

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

Trova ; autospawn = yes, rimuovi ;e modificalo in:

autospawn = no

Questa soluzione ha funzionato anche per me, sebbene Ubuntu mi abbia dato un errore del programma di sistema all'avvio. Dato che odio questo tipo di messaggi, ho usato la prima soluzione.



0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway supporta l'archiviazione / il ripristino delle sessioni della scheda audio dall'API JSON / REST

  • list session / jsonapi? request = session-list & cardid = hw: 0
  • store session / jsonapi? request = session-store & cardid = hw: 0 & args = MySoundConfig
  • restore / jsonapi? request = session-load & cardid = hw: 0 & args = MySoundConfig

0

Per coloro a cui la risposta di @Sergiy Kolodyazhnyy non ha funzionato, prova a sostituirlo alsactlcon il suo percorso completo (qualunque sia il tuo which alsactlreso).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.