명령 줄을 사용하여 볼륨을 변경하는 방법은 무엇입니까?


72

프로그래밍 스크립트를 사용하여 볼륨을 제어하려고합니다. Fedora 15, Ubuntu Linux에서 다음을 어떻게 수행 할 수 있습니까?

  1. 음소거 / 음소거 해제
  2. 볼륨 증가 및 볼륨 감소

참고 : 웹 USB 마이크 / 스피커와 아날로그 마이크 / 스피커도 사용합니다. 확실하게 모두에게 적용하고 싶습니다.


1
사람이 퍼팅, 자신의 볼륨 제어 단추를 해결하기 위해 루 분투에서 이곳으로오고 경우 <command>amixer -D pulse sset Master 3%+ unmute</command>관련 keybind에 ~/.config/openbox/lubuntu-rc.xml다음과 실행 openbox --reconfigure나를 위해 그것을 고정
rhombidodecahedron

답변:


80

믹서 를 사용할 수 있습니다 . 그것은에서의 alsa-utils우분투와 데비안에서 패키지로 제공된다.

amixer기본 장치의 컨트롤에 대한 개요를 보려면 매개 변수없이 실행하십시오 .

당신은 또한 사용할 수 있습니다 alsamixer더 시각적 개요를 얻기 위해 (같은 패키지에서) 매개 변수없이. F6을 사용하여 장치를보고 전환하십시오. 일반적으로 PulseAudio와 하드웨어 사운드 카드 중에서 선택할 수 있습니다.

그런 다음 명령 amixer과 함께 사용 set하여 볼륨을 설정하십시오. 예를 들어, 마스터 채널을 50 %로 설정하려면 다음을 수행하십시오.

amixer set Master 50%

Master 컨트롤 이름이며 매개 변수없이 실행할 때 표시되는 이름과 일치해야합니다.

메모 %65536 수준은 0 - 2로 값을 처리합니다없이 기호를.

PulseAudio가 기본 장치가 아닌 경우 -D스위치를 사용할 수 있습니다 .

amixer -D pulse set Master 50%

주석에서 지적한 다른 유용한 명령은 다음과 같습니다.

+/-숫자 다음에 볼륨 사용량을 늘리거나 줄이려면

amixer set Master 10%+
amixer set Master 10%-

음소거 / 음소거 해제 상태를 음소거, 음소거 해제 또는 전환하려면

amixer set Master mute
amixer set Master unmute
amixer set Master toggle

또한 두 개의 서로 다른 비율 척도, 기본 원료가있을 수 있습니다 및 일부 장치에 대한 자연 규모는 데시벨에 따라 도에 의해 사용된다 alsamixer. 사용 -M후자를 사용.

마지막으로, PulseAudio에만 관심이있는 경우 체크 아웃 할 수 있습니다 pactl(다른 답변 중 하나 참조).


4
감사! 이를 수행하는 두 가지 방법이 있습니다. 1. 귀하의 훌륭한 예로서 : amixer set Master mute; 믹서 세트 마스터 음소거 해제; 2. yum -y는 xdotool을 설치합니다; xdotool 키 XF86AudioRaiseVolume; xdotool 키 XF86AudioLowerVolume;
YumYumYum

15
또한 amixer set Master 10%+amixer set Master 10%-
사용자

2
우분투에서는 작동하지 않습니다.
Cerin

2
@Cerin에 동의하지 않습니다. 이것은 현재 Ubuntu LTS 12에서 작동합니다. 점을 유의 M마스터는 대소 문자를 구분 (대문자 여야 함).
ashes999

5
Cerin이 옳습니다. 작동하지 않습니다. 작동 amixer -D pulse sset Master 50%
원리

30

음소거하려면 :

amixer -D pulse sset Master mute

음소거 해제 :

amixer -D pulse sset Master unmute

볼륨을 5 % 높이려면

amixer -D pulse sset Master 5%+

볼륨을 5 % 낮추려면

amixer -D pulse sset Master 5%-


1
당신은 또한 당신이 (편의를 위해) 볼륨을 변경하면 자동으로 음소거를 해제 후자의 명령에 음소거 해제를 추가 할 수 있습니다 :amixer -D pulse sset Master unmute 5%+
로마 Golyshev

16

pactl / pacmd (와 달리 amixer)는 100 % 이상으로 볼륨을 늘릴 수 있습니다 :-).

pactl set-sink-mute 0 toggle  # toggle mute
pactl set-sink-volume 0 0     # mute (force)
pactl set-sink-volume 0 100%  # max
pactl set-sink-volume 0 +5%   # +5% (up)
pactl set-sink-volume 0 -5%   # -5% (down)

pavucontrol(와 달리 alsamixer) 100 % 이상의 수동 설정이 가능합니다 .

참고 : 싱크가 다른 여러 호스트에서 동일한 명령을 공유하려는 경우 @DEFAULT_SINK@숫자 대신 싱크로 사용할 수 있습니다 0.

pactl set-sink-volume @DEFAULT_SINK@ +5%

기본 싱크를 pactl set-default-sink my-sink-name( 와 함께 목록 이름 pactl list short sinks) 으로 설정하십시오 .

업데이트 : 추가되었습니다 toggle mute(Don Joe에게 감사드립니다).

출처 : askubuntu.com , wiki.archlinux.org .


5

더 높은 볼륨 :

amixer set Master 3%+

낮은 볼륨 :

amixer set Master 3%-

음소거 토글 :

amixer set Master toggle

i3/의 키 바인딩 예제 sway는 다음과 exec같습니다.

bindsym XF86AudioRaiseVolume exec amixer set Master 3%+
bindsym XF86AudioLowerVolume exec amixer set Master 3%-
bindsym XF86AudioMute exec amixer set Master toggle
bindsym Ctrl+$alt+Up  exec amixer set Master 3%+
bindsym Ctrl+$alt+Down exec amixer set Master 3%-

4

사용자가 기기를 음소거 한 경우 '음소거 해제'해야합니다. 그렇지 않으면 백분율을 설정해도 작동하지만 소리는 여전히 꺼져 있습니다

amixer set 'Master' 100% unmute
/usr/bin/amixer set 'PCM' 100% unmute

3

pevik 의 답변은 PulseAudio에 거의 맞으며 두 가지 언급 할 것이 있습니다.

  • 음의 볼륨 변경 명령은 마이너스 부분이 별도의 (인식되지 않은) 옵션으로 해석되기 때문에 오류를 생성합니다. 음수 앞의 어딘가에 이중 마이너스로 옵션 구문 분석을 해제해야합니다 (예 : "--5 %")

  • 진정한 음소거 상태는 동일한 키로 토글 할 수 있어야하는 것입니다. 볼륨을 고정 값 0으로 설정하면 작동하지 않으므로 올바른 명령은 다음과 같습니다.

pactl set-sink-mute @DEFAULT_SINK@ toggle

LE : 첫 번째 힌트 적용 여부는 실행중인 PulseAudio의 버전 또는 배포판의 다른 요소에 따라 달라질 수 있습니다. 우분투 16에서는 "-"없이 작동하며 "-"를 추가하면 실패합니다. 마이너스 백분율 앞에.


우리가 창 관리자에게 더 나은 게임 FPS의 비행에 많이 변경하면 아주 좋은 들으, 즉 완벽하게, 내가 사용 xbindkeys-config하고 난 (웃음 미소가 ... 웃기 권자 구성 없음) : X를 다시 시작해야 해달라고
물병 자리 전원

2

amixer는 나를 위해 일했지만 키보드의 볼륨 높이기 버튼을 누를 때 얻을 수있는 멋진 애니메이션을 얻지 못했습니다.

xte커맨드 라인에서 해당 키를 직접 누르기 로 결정했습니다 .

볼륨 업: xte 'key 0x1008ff13'

볼륨 작게 : xte 'key 0x1008ff11'

묵자: xte 'key 0x1008ff12'

를 사용하여 키심 (16 진수)을 알아 냈습니다 xev.

sudo apt-get install xbindkeys xautomation
xev

키보드의 볼륨 높이기 버튼을 눌러 키 심을 얻습니다. 핵심 sym은 시스템마다 다를 수 있으므로 xev에서 찾는 것이 가장 신뢰할 수있는 방법입니다.

결과는 다음과 같습니다.

KeyRelease 이벤트, 시리얼 37, 합성 NO, 윈도우 0x2c00001, 루트 0xef, subw 0x0, 시간 6660080, (566,573), 루트 : (664,651), 상태 0x0, 키 코드 123 (키 기호 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XLookupString은 0 바이트를 제공합니다 : XFilterEvent가 다음을 리턴합니다. False

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.