Làm cách nào để lưu cài đặt AlsaMixer?


77

Xin chào, tôi đã thử chương trình "EarCandy", bây giờ tôi đã có / có rất nhiều vấn đề. Lúc đầu tôi không nhận được bất kỳ âm thanh nào và bây giờ nó có âm lượng rất thấp. PS Earcandy hiện đã bị xóa khỏi ổ cứng của tôi.

Khi tôi mở Alsamixer với:

alsamixer

Tôi thấy rằng âm lượng cho loa bằng không. Bây giờ tôi đẩy nó đến âm lượng tối đa. Nhưng sau mỗi lần khởi động lại, tôi phải mở lại alsamixer và phải đặt lại âm lượng tối đa. Tôi có thể lưu cài đặt cho alsamixer không hoặc có cách nào khác để khắc phục sự cố không? nhập mô tả hình ảnh ở đây

Câu trả lời:


75

Thi hành, hành hình:

sudo alsactl store

Điều này sẽ lưu cấu hình alsamixer /etc/asound.stateđược tải mỗi khi khởi động.


14
Máy tính xách tay của tôi tiếp tục thiết lập lại cấu hình của tôi, ngay cả sau khi chạy lệnh trên. Nó tuyên bố sẽ được lưu trữ nó để /var/lib/alsa/asound.state. Có bất kỳ lý do khác cho nó không hoạt động?
Azmisov

1
Tôi có cùng một vấn đề, và chính xác cùng một hành vi khi tôi thử cửa hàng sudo alsactl.
JeanSibelius

1
@Azmisov: Bạn có thể thử nghiệm thêm với hệ thống như sau: (1) lưu cấu hình (2) bắt đầu alsamixervà thay đổi cấp độ chính (2) khôi phục cấu hình (3) kiểm tra xem mức chính đã được khôi phục. Nếu ở trên là như mong đợi, hãy kiểm tra xem khôi phục có thực sự được kích hoạt khi khởi động hệ thống ( chkconfig alsa-utilsnên hiển thị alsa-utils on).
dma_k

Câu trả lời này đã giải quyết vấn đề SPDIF của tôi: askubfox.com/questions/541847/ từ
neves

1
Khi tôi chạy sudo alsactl storenó cho tôi lỗi sau alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
dùng2513149

24

Bạn cũng có thể lưu cài đặt bộ trộn vào một tệp tùy chỉnh với alsactl:

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

Đang tải lại:

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

2
Câu trả lời hàng đầu không làm việc cho tôi nhưng điều này đã làm! Tôi đã tạo một tập tin cấu hình và đặt nó vào /etc/asound.statevà thêm dòng tải lại vào /etc/rc.local.
Giăng

Đây là giải pháp phù hợp với tôi ... nhưng tôi phải chỉ định đường dẫn tuyệt đối đến tệp .config bên trong rc.local(mặc dù nó hoạt động ngay cả với người thân vì nó là cùng một người dùng .. nhưng không phải vậy). cảm ơn bạn và tôi hy vọng gợi ý của tôi cũng giúp được ai đó
davidhq

12

Câu trả lời của Seppo Erviälä là đúng nhưng chưa đầy đủ. Như dma_k đã lưu ý, ghi man alsactlrõ vào cuối,

/var/lib/alsa/asound.state (hoặc bất kỳ tệp nào bạn chỉ định bằng cờ -f) được sử dụng để lưu trữ cài đặt hiện tại cho soundcard của bạn.

palacsinit lưu ý thích hợp rằng bạn có thể lưu cấu hình vào tệp của mình với

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

và tải lại với

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

Điều này có thể được cải thiện hơn nữa bằng cách đặt dòng thứ hai, lệnh khôi phục vào tệp .desktop.

Bạn sẽ cần chạy nano ~/.config/autostart/alsarestore.desktop, nó sẽ mở trình soạn thảo văn bản nano và tạo ~/.config/autostart/alsarestore.desktoptập tin. Các mục trong ~/.config/autostart/thư mục được sử dụng để tự khởi động chương trình và dịch vụ cho người dùng cụ thể khi đăng nhập khởi động / đồ họa.

Nội dung của tệp .desktop phải như sau:

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

Trong số những thứ khác, bạn có thể lưu cấu hình của mình vào /etc/asound.statevà liên kết nó với nó /var/lib/alsa/asound.state, nhưng đây là một gợi ý hơn là giải pháp đã được thử nghiệm


Đây là cách duy nhất tôi làm việc cho tôi trên Ubuntu Xenial 16.04
Francisco Costa

1
Lệnh "store" và "restore" hoạt động tốt để điều khiển thủ công. Tuy nhiên, khi tôi thiết lập tệp tự khởi động bằng lệnh "khôi phục", tôi thấy cài đặt mic trong alsamixer đang được viết lại để tắt tiếng và kết quả là tĩnh. Nếu tôi tự làm lệnh khôi phục, tất cả đều ổn. Tại sao cài đặt mic thay đổi và không được sửa bởi tệp cấu hình được lưu trữ thích hợp bằng tự động khởi động ???
Brad Horn

@BradHorn có thể bạn có một cái gì đó khác ghi đè lệnh của bạn. Nó chạy, nhưng sau đó một cái gì đó khác hoàn tác những thay đổi của nó
Sergiy Kolodyazhnyy

bất kỳ ý tưởng đó có thể là gì?
Brad Horn

1
@BradHorn không phải là đỉnh đầu của tôi, không. Hãy thử thay đổi Execdòng trong .desktoptệp để được Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore". Điều đó sẽ giới thiệu độ trễ 5 giây, do đó, bất cứ điều gì ghi đè cài đặt của bạn sẽ chạy trước, và sau đó lệnh khôi phục của bạn sẽ chạy sau đó. Hãy thử chơi với các sleepgiá trị nếu điều đó vẫn ghi đè cài đặt của bạn.
Sergiy Kolodyazhnyy

2

Sau 2 tháng cố gắng làm cho "cửa hàng sudo alsactl" hoạt động, cuối cùng tôi cũng đã làm được. Trước tiên, nhập thiết bị đầu cuối "alsamixer" để vào giao diện người dùng alsamixer. Sau đó thực hiện các cấu hình bạn cần (ví dụ: tăng mức loa / tai nghe hoặc bật tiếng một cái gì đó nhấn "m" trên bàn phím). Bây giờ là phần quan trọng nhất. Trước khi thoát khỏi alsamixer, hãy mở một thiết bị đầu cuối mới và thực hiện: "sudo su" để có được các đặc quyền cao (Hãy cẩn thận với các lệnh bạn sử dụng trong chế độ "sudo su" vì bạn có thể phá hủy hệ thống của mình) và sau đó thực hiện "lưu trữ alsactl" để lưu cài đặt alsa. Sau đó đóng cả hai thiết bị đầu cuối và khởi động lại máy tính của bạn. Điều này sẽ làm công việc.


Điều này không làm việc cho tôi.
kleinfreund

Làm việc cho tôi, không phải làm thế nào ở đây, nhưng với sudo su.
Làm việc

1

Giải pháp của Sergiy Kolodyazhnyy làm việc cho tôi. Mặc dù tôi đã phải thêm các sửa đổi Exec=bash -c "sleep 5 .... Quả thực điều này xảy ra vì PulseAudio đang sửa đổi ALSA.
Một giải pháp khác là vô hiệu hóa PulseAudio trong khi khởi động (xem tại đây ):

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

Tìm ; autospawn = yes, xóa ;và thay đổi nó thành:

autospawn = no

Giải pháp này cũng hiệu quả với tôi, mặc dù Ubuntu đã gây ra lỗi chương trình hệ thống khi bắt đầu. Vì tôi ghét loại tin nhắn này, tôi đã sử dụng giải pháp đầu tiên.



0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway hỗ trợ lưu trữ / khôi phục các phiên card âm thanh từ API JSON / REST

  • danh sách phiên / jsonapi? request = session-list & cardid = hw: 0
  • lưu trữ phiên / jsonapi? request = session-store & cardid = hw: 0 & args = MySoundConfig
  • khôi phục / jsonapi? request = session-load & cardid = hw: 0 & args = MySoundConfig

0

Đối với những người mà câu trả lời của @Sergiy Kolodyazhnyy không hoạt động, hãy thử thay thế alsactlbằng đường dẫn hoàn chỉnh của nó (bất cứ điều gì which alsactltrả lại cho bạn).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.