Có cách nào để lưu cài đặt alsamixer ngoài cửa hàng alsactl không?


9

Vấn đề gốc: vì một số lý do, khi khởi động, Ubuntu 14.04 vô hiệu hóa (tắt tiếng) đầu ra S / PDIF trên card âm thanh của tôi.

Câu hỏi này và câu trả lời của nó chỉ ra rằng sudo alsactl storesẽ lưu trữ cài đặt alsamixer sau khi tôi tắt tiếng đầu ra S / PDIF, nhưng khi khởi động, đầu ra S / PDIF lại bị tắt tiếng.

Trong /var/lib/alsa/asound.state( pastebin ) có một mục PDIF mà tôi đã đặt thành "true" và được lưu; điều này đã dẫn đến việc giải quyết tự động tắt tiếng cho "Phantom Jack" của tôi nhưng không có mục nào khác cho S / PDIF "thật" trong asound.state mà tôi có thể điều chỉnh thủ công.

Ngoài ra còn có một /var/lib/alsa/asound.state.locktệp trống (11 byte, trống trong gedit) trong /alsa/thư mục. Đây có phải là một cái gì đó tôi nên được giải quyết?

Câu trả lời:


9

Tôi có cùng một vấn đề trên máy tính của mình:
Có vẻ như alsa khôi phục trạng thái "không bật" SPDIF một cách hiệu quả trong khi khởi động, nhưng sau đó pulseaudio tắt tiếng khi phiên người dùng bắt đầu.
Để xác minh rằng khôi phục alsa là ổn, chỉ cần chạy sudo alsactl restoretrong một thiết bị đầu cuối và xem nếu nó bật tiếng SPDIF.
Để xác minh rằng pulseaudio là vấn đề, chỉ cần chạy pulseaudio -kđể khởi chạy lại pulseaudio: bạn sẽ thấy SPDIF bị tắt tiếng.

Vì tôi không biết cách đặt pulseaudio để không tắt tiếng, đây là một cách giải quyết được lấy cảm hứng từ đó :

  • Hãy thử nếu lệnh này tắt tiếng kênh SPDIF:
    amixer set IEC958 unmute
  • Nếu có, hãy tạo tập tin ẩn .unmute:
    gedit .unmute
    dán 4 dòng vào đó:

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

lưu và đóng
Bây giờ, chỉnh sửa .profiletệp:
gedit .profile
thêm dòng này vào cuối:

bash .unmute &

lưu và đóng

Bây giờ kiểm tra mở lại phiên hoặc khởi động lại.

Lưu ý : trong liên kết trên từ Mageia, họ sử dụng /etc/rc.local để chạy alsactl restorelúc khởi động, nó cũng ổn. Nhưng sử dụng .profilevà trộn, không cần "sudo" và nó sẽ bật tiếng ở mỗi phiên bắt đầu để đăng nhập của bạn.


1

Tôi đã điều chỉnh câu trả lời của @ laugeo để khắc phục sự cố với tai nghe của mình.

Vấn đề là tai nghe đã được đặt để bật tiếng nhưng nó ở mức âm lượng 00.

Tôi muốn nó là 100, vì vậy tôi đã thêm điều này: /usr/bin/amixer -c 0 set Headphone playback 100% unmute

.unmutekịch bản trông như sau:

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

Nếu bạn muốn bật tiếng và đặt âm lượng thành 100%, chỉ cần thay đổi kênh. Ví dụ cho kênh chính:

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

0

Khi tôi chạy, sudo alsactl storenó báo lỗi sau

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

Tôi cần bật tiếng kênh Master bằng cách sử dụng

amixer set Master 100 unmute

và nó hoạt động hoàn hảo cho card âm thanh hiện được chọn. Nhưng kênh Master luôn bị tắt tiếng sau khi khởi động, vì vậy tôi đã tạo một tập lệnh có tên unmute.shvà đặt chmod 700để người dùng khác không thể chạy nó. Tôi điền vào kịch bản với nội dung sau:

#!/bin/bash
amixer set Master 100 unmute

và lưu nó vào ~/.kde/Autostartthư mục. Nếu bạn có Kubfox hoặc bản phân phối khác với KDE, tất cả các tập lệnh trong thư mục đó sẽ được chạy tự động.

Nếu bạn không có KDE, bạn có thể thử thêm amixerlệnh vào ~/.profiletệp.

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.