AlsaMixer ayarları nasıl kaydedilir?


77

Merhaba, "EarCandy" programını denedim, şimdi çok fazla sorun yaşadım / yaşadım. İlk başta hiç ses alamadım ve şimdi çok düşük ses seviyesine sahip. PS Earcandy artık harddiskimden silindi.

Alsamixer'ı şu şekilde açarken:

alsamixer

Hoparlörlerin ses seviyesinin sıfır olduğunu görüyorum. Şimdi onu maksimum ses seviyesine itiyorum. Ancak her yeniden başlatmadan sonra tekrar alsamixer açmalı ve ses seviyesini tekrar maks. Alsamixer için ayarları kaydedebilir miyim ya da sorunu çözmenin başka bir yolu var mı? görüntü tanımını buraya girin

Yanıtlar:


75

Gerçekleştirmek, yerine getirmek, idam etmek:

sudo alsactl store

Bu, /etc/asound.stateher başlangıçta yüklenecek alsamixer yapılandırmalarını kaydetmelidir .


14
Dizüstü bilgisayar, yukarıdaki komutu çalıştırdıktan sonra bile yapılandırmamı sıfırlamaya devam ediyor. Sakladığını iddia ediyor /var/lib/alsa/asound.state. Çalışmamasının başka bir nedeni var mı?
Azmisov

1
Ben sudo alsactl deposunu denediğimde tamamen aynı problemi ve aynı davranışı sahibim.
JeanSibelius

1
@Azmisov: Aşağıdaki gibi sistemle daha ileri deneyler yapabilirsiniz: (1) yapılandırmayı (2) başlat alsamixerve ana seviyeyi değiştir (2) yapılandırmayı geri yükle (3) ana seviyenin geri yüklendiğini kontrol et. Yukarıda beklendiği gibi, sistem önyüklemesinde geri yükleme işleminin gerçekte tetiklendiğini kontrol edin ( chkconfig alsa-utilsgörüntülenmelidir alsa-utils on).
dma_k

Bu cevap benim SPDIF sorunu çözüldü askubuntu.com/questions/541847/...
Neves

1
Çalıştırdığımda sudo alsactl storebana aşağıdaki hatayı veriyor alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
user2513149

24

Mikser ayarlarını aşağıdakilerle birlikte özel bir dosyaya da kaydedebilirsiniz alsactl:

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

Yeniden Yükleme:

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

2
En iyi cevap benim için işe yaramadı ama bu yaptı! Bir config dosyası yarattım ve yerleştirdim /etc/asound.stateve yeniden yükleme satırını benimkine ekledi /etc/rc.local.
John,

Bu benim için doğru çözümdü ... ama içinde .config dosyasının mutlak yolunu belirtmek zorunda kaldım rc.local(her ne kadar göreceli olarak çalışmalıdır, çünkü aynı kullanıcı .. ama olmadı). teşekkür ederim ve umarım
ipucum

12

Seppo Erviälä'ın cevabı doğru ama tamamlanmadı. Dma_k'nin daha önce belirttiği gibi, man alsactlsonunda açıkça belirtildiği gibi:

/var/lib/alsa/asound.state (veya -f bayrağıyla belirttiğiniz dosya) ses kartlarınız için geçerli ayarları saklamak için kullanılır.

palacsinit uygun bir şekilde config dosyasını dosyanıza saklayabileceğinizi belirtti.

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

ve ile yeniden yükle

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

Bu, ikinci satırı, restore komutunu bir .desktop dosyasına yerleştirerek daha da geliştirilebilir.

nano ~/.config/autostart/alsarestore.desktopNano metin editörünü açıp ~/.config/autostart/alsarestore.desktopdosya oluşturacak şekilde çalıştırmanız gerekecek . ~/.config/autostart/Dizindeki girişler , başlangıç ​​/ grafik oturum açma sırasında belirli kullanıcı için programları ve hizmetleri otomatik olarak başlatmak için kullanılır.

.Desktop dosyasının içeriği şöyle olmalıdır:

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

Diğer şeylerin yanı sıra, onu config içinde saklayabilir /etc/asound.stateve işaretleyebilirsiniz /var/lib/alsa/asound.state, ancak bu test edilmiş bir çözümden çok bir öneridir.


Bu benim Ubuntu Xenial 16.04 benim için çalıştı tek yoluydu
Francisco Costa

1
"Store" ve "restore" komutu, manuel kontrol için iyi çalışır. Ancak, autostart dosyasını "restore" komutuyla kurduğumda, alsamixer'deki mikrofon ayarının susturulması için yeniden yazıldığını ve sonucun statik olduğunu görüyorum. Geri yükleme komutunu el ile yaparsam her şey yolunda. Mikrofon ayarı neden değişiyor ve autostart tarafından uygun bir şekilde saklanmış bir yapılandırma dosyası tarafından düzeltilmiyor?
Brad Horn,

@BradHorn emrinizde başka bir şey olabilir. Çalışıyor, ama sonra başka bir şey değişikliklerini geri alıyor
Sergiy Kolodyazhnyy

ne olabileceği hakkında bir fikrin var mı?
Brad Horn,

1
@BradHorn başımın tepesinden değil, hayır. Dosyadaki Execsatırı değiştirmeyi deneyin . Bu 5 saniyelik bir gecikme getirecektir, bu nedenle ayarlarınızın üzerine yazılan her şey önce çalışır ve ardından geri yükleme komutunuz bundan sonra çalışır. Ayarlarınızı hala geçersiz kılıyorsa , değerlerle oynamayı deneyin . .desktopExec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore"sleep
Sergiy Kolodyazhnyy

2

Çalışmak için "sudo alsactl store" yapmayı denedikten 2 ay sonra nihayet yapmayı başardım. Öncelikle alsamixer UI'ye girmek için "alsamixer" terminalini yazın. Ardından ihtiyacınız olan konfigürasyonları yapın (örn. Hoparlörler / kulaklık seviyesini yükseltin veya klavyedeki "m" tuşuna basarak bir şeyin sesini açın). Şimdi en önemli kısım. Alsamixer'den çıkmadan önce yeni bir terminal açın ve şunları yapın: yüksek ayrıcalıklara sahip olmak için "sudo su" (sisteminizi yok edebileceğiniz için "sudo su" modunda kullandığınız komutlara çok dikkat edin) ve sonra kaydetmek için "alsactl store" yapın alsa ayarları. Sonra her iki terminali kapatın ve bilgisayarınızı yeniden başlatın. Bu işi yapacak.


Bu benim için çalışmıyor.
kleinfreund

Benim için çalışıyor, tam olarak burada değil, ama sudo su.
Дмитрий Полянин

1

Sergiy Kolodyazhnyy'nin çözümü benim için çalıştı. Buna rağmen değişikliğini de eklemek zorunda kaldım Exec=bash -c "sleep 5 .... Aslında bu olur, çünkü PulseAudio ALSA'yı değiştiriyor.
Başka bir çözüm, açılış sırasında PulseAudio'yu devre dışı bırakmaktır ( buraya bakın ):

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

Bulun ; autospawn = yes, kaldırın ;ve değiştirin:

autospawn = no

Bu çözüm aynı zamanda benim için çalıştı, Ubuntu başlangıçta bir sistem programı hatası verdi. Bu tür mesajlardan nefret ederken ilk çözümü kullandım.



0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway , JSON / REST API’sinden ses kartı oturumlarını saklamayı / geri yüklemeyi destekler

  • liste oturumları / jsonapi? request = oturum listesi & hırka = saat: 0
  • depo oturumu / jsonapi? request = oturum depo & cardid = saat: 0 & args = MySoundConfig
  • restore / jsonapi? request = oturum yükü & cardid = hw: 0 & args = MySoundConfig

0

@Sergiy Kolodyazhnyy'nin cevabı işe yaramayanlar için, alsactltam yolunu (size ne olursa olsun) değiştirmeyi deneyin which alsactl.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.