bash에서 볼륨 변경


3

나는 이것을 (에서 .bashrc) 얻었다 :

alias i="amixer -c 0 -- sset Master playback +1dB"
alias d="amixer -c 0 -- sset Master playback -1dB"
alias v4="amixer -c 0 -- sset Master playback 40%"
alias v8="amixer -c 0 -- sset Master playback 80%"

man amixer페이지를 올바르게 읽고 오류 메시지를 생성하지 않으면 처음 두 행이 작동해야 하지만 동작이 신뢰할 수 없습니다. 때로는 큰 변화가 발생하여 아무 일도 일어나지 않습니다.

마지막 두 행이 작동합니다. 나는 당신이 10 개의 별칭을 만들 수 있다고 생각합니다. 여전히 증가 / 감소 기능을 키보드 단축키에 바인딩하고 싶습니다.

amixer잘못된 방법을 사용 하고 있습니까? 아니면 트릭을 수행하는 다른 도구가 있습니까? ( alsamixer이 기능을 CLI 명령으로 사용하지 않는 것 같습니다.)

편집하다

마침내 작동하게 만들었습니다. 이것은 너무 오래 전에 (얼마나 슬프다!), 누가 무엇을 기여했는지 추적하지 못했습니다. 어쨌든 고마워. (아래 : bash 사용자의 경우 .bashrc)

# volume
alias vol="alsamixer"
MASTER="amixer -q -c 0 sset Master playback"
alias i="$MASTER 2dB+"
alias d="$MASTER 2dB-"
alias mute="echo \" Audio muted.\"; $MASTER mute"
alias play="echo \" Audio un-muted.\"; $MASTER unmute"
alias unmute="play"
alias stop="mute"
v () {
  amixer -q sset Master playback $1%
}

바로 가기 키에 대한 바인딩 명령과 관련하여 :이 작업을 수행하는 방법은 창 관리자에만 달려 있습니다.
Daniel Andersson

예, 문제는 명령을 바인딩하는 방법이 아니라 작동시키는 것입니다.
Emanuel Berg

답변:


5

첫 번째 두 개의 별칭의 경우, 나타나는 +/- 가야 값이 상대의 변화로 취급하는 대신에 절대 값으로, (amixer man 페이지) :

alias i="amixer -c 0 -- sset Master playback +1db+"
alias d="amixer -c 0 -- sset Master playback +1db-"

마지막 두 (그리고 8 명의 형제)를 단일 셸 함수로 바꿉니다.

v () {
  amixer -c 0 -- sset Master playback $i%
}

alias d="amixer -c 0 -- sset Master playback 1dB-"작동하고 (더하기 부호 없음) alias i="amixer -c 0 -- sset Master playback 1dB+"작동하지 않습니다 (첫 번째 더하기 부호도 없음). 아주 이상한!
Emanuel Berg

@EmanuelBerg : +기호를 이스케이프 처리하십시오 (앞에 \).
Daniel Andersson

죄송합니다, 같은 옛날. 그러나 : amixer -c 0 -- sset Master playback 2dB+작동합니다. 3과 4를 테스트했는데 효과가 있습니다. 어떤 이유로 든, 그것은 1 씩 감소하지만 1 씩 증가하지는 않습니다. 3 씩 증가하고 2 씩 감소하는 함수를 작성하는 것은 어떻습니까? :)
Emanuel Berg

나는 이전 버전을 알지 못하지만 현재로서는 다음과 같은 명령을 사용할 수 있습니다.amixer -c 0 -- set Master 1dB+
F-3000
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.