명령줄에서 시스템 볼륨 설정

명령줄에서 시스템 볼륨 설정

비슷한 질문이에요터미널에서 볼륨 설정하지만 Fedora를 처음 설치할 때 시스템 볼륨(libcanbera 시스템 사운드)을 0으로 설정하고 싶습니다(Xubuntu에서도 동일).

명령줄에서 100으로 설정할 수 있습니까? 출력은 다음과 같습니다 amixer scontrols.

Simple mixer control 'Master',0
Simple mixer control 'Capture',0

시스템 없음

답변1

ALSA만 해당, 펄스 오디오 없음: "시스템 볼륨"이 없습니다. 사용자가 할 수 있는 일은 모든 사운드에 적용되는 하드웨어 볼륨을 설정하는 것뿐입니다. 먼저 올바른 카드를 찾으세요 aplay -l. 카드 2를 사용한다고 가정합니다. 그 다음에,

amixer -c2 set Master 100%

마스터 하드웨어 볼륨을 100%로 설정합니다. 또한 다음과 같이 늘리거나 줄일 수도 있습니다.

amixer -c2 set Master 2%+
amixer -c2 set Master 2%+

Pulseaudio를 실행 중인 경우(대부분 "시스템 사운드"가 있음): "수신기"(일부 스피커 그룹의 볼륨에 해당, ALSA 마스터 볼륨과 거의 동일) 또는 응용 프로그램의 볼륨을 설정할 수 있습니다( 혼란스럽게도 이러한 입력은 볼륨 제어를 위한 "수신기 입력"으로 설명됩니다.

그러나 시스템 사운드는 매우 짧기 때문에 이러한 사운드의 기본 볼륨은 내 Debian 시스템에 sink-input-by-media-role:event있는 스트림 데이터베이스에서 호출되는 데이터베이스 항목 에서 나옵니다. 이는 Samba를 사용하여 명령줄에서 조작할 수 있는 ~/.pulse/*-stream.tdb"간단한 데이터베이스" 형식입니다 . tdbtool그런데 핵심 내용이 바이너리(18바이트)이기 때문에 다음 단계는 형식을 알아내는 것( pavucontrol소스 코드 추측 또는 읽기)이지만 그렇게 하지 않았습니다. 그런 다음 다음과 같은 것을 사용할 수 있습니다.

tdbtool ~/.pulse/*-stream.tdb store sink-input-by-media-role:event binary_data

변경하세요.

관련 정보