alsactl store 이외의 alsamixer 설정을 저장하는 방법이 있습니까? / PDIF

근본적인 문제 : 어떤 이유로 부팅 할 때 Ubuntu 14.04가 사운드 카드에서 S / PDIF 출력을 비활성화 (음소거)합니다.

이 질문과 답변sudo alsactl storeS / PDIF 출력을 음소거 해제하면 alsamixer 설정을 저장하지만 부팅시 S / PDIF 출력은 다시 음소거됩니다.

에서 /var/lib/alsa/asound.state( 페이스트 빈 ) 나는 “true”로 구원에 설정 한 하나 PDIF 항목이있다; 이로 인해 “팬텀 잭”에 대한 자동 음소거가 해결되었지만 asound.state의 “true”S / PDIF에 대한 다른 항목은 수동으로 조정할 수 없습니다.

디렉토리에 빈 /var/lib/alsa/asound.state.lock파일 (11 바이트, gedit에서 비어 있음)이 /alsa/있습니다. 이것이 내가 다루어야 할 것입니까?



답변

내 PC에서 같은 문제가 있습니다.
부팅하는 동안 효과적으로 alsa가 SPDIF “음소거 해제”상태를 복원하는 것처럼 보이지만 사용자 세션이 시작되면 pulseaudio가 음소거합니다.
alsa 복원이 정상인지 확인하려면 sudo alsactl restore터미널에서 실행 하여 SPDIF의 음소거를 해제하십시오.
pulseaudio가 문제인지 확인하려면 pulseaudio pulseaudio -k를 다시 시작하기 위해 실행 하십시오. SPDIF가 음소거되어 있는지 확인해야합니다.

뮤팅하지 않도록 펄스 오디오를 설정하는 방법을 모르기 때문에 여기 에서 영감을 얻은 해결 방법입니다 .

  • 이 명령으로 SPDIF 채널의 음소거를 해제하십시오.
    amixer set IEC958 unmute
  • 그렇다면 .unmute 숨김 파일을 만드십시오 :
    gedit .unmute
    4 줄을 붙여 넣으십시오.

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

저장하고 닫습니다.
이제 .profile파일 편집 :
gedit .profile
끝에 다음 줄을 추가하십시오.

bash .unmute &

저장하고 닫습니다.

이제 세션 다시 열기 또는 재부팅을 테스트하십시오.

참고 : Mageia의 위 링크에서 /etc/rc.local을 사용 alsactl restore하여 부팅 할 때 실행 하면 괜찮습니다. 그러나 .profile믹서를 사용 하면 “스도”할 필요가 없으며 로그인을 시작할 때마다 세션이 음소거 해제됩니다.


답변

나는 적응 laugeo의 대답 @ 내 헤드폰 문제를 해결하기 위해.

문제는 헤드폰이 음소거 해제로 설정되었지만 00 볼륨에 있다는 것입니다.

나는 그것이 100이되기를 원했기 때문에 이것을 추가했다. /usr/bin/amixer -c 0 set Headphone playback 100% unmute

그리고 .unmute스크립트는 다음과 같습니다

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

음소거를 해제하고 볼륨을 100 %로 설정하려면 채널을 변경하십시오. 예를 들어 마스터 채널의 경우 :

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

답변

실행할 때 sudo alsactl store다음과 같은 오류가 발생합니다.

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

사용하여 마스터 채널을 음소거 해제해야했습니다.

amixer set Master 100 unmute

현재 선택된 사운드 카드에 완벽하게 작동했습니다. 나는라는 이름의 스크립트를 만들 수 있도록하지만 마스터 채널은 항상 부팅 후 다시 음소거 된 unmute.sh설정하고 chmod 700다른 사용자가 실행되지 않을 수 있도록합니다. 다음 내용으로 스크립트를 채웠습니다.

#!/bin/bash
amixer set Master 100 unmute

~/.kde/Autostart디렉토리에 저장했습니다 . Kubuntu 또는 KDE와 함께 다른 배포판이있는 경우 해당 디렉토리의 모든 스크립트가 부팅시 자동으로 실행됩니다.

KDE가없는 경우 파일에 amixer명령을 추가 할 수 있습니다 ~/.profile.