[RHEL6] 하드웨어 명령어 1탄(alsactl, alsamixer, amixer, aplay, apm)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 하드웨어 명령어 1탄(alsactl, alsamixer, amixer, aplay, apm)

by 찬찬이 아빠 2020. 5. 14.
반응형
  1. alsactl(사운드 카드 설정)

 1) 경로 : /sbin/alsactl

 2) 요약 : 사운드 카드의 설정 정보를 초기화하거나 저장하고 읽음

 3) 사용 방법 : alsactl [옵션] command [카드]

 4) 옵션

 -d, --debug : 디버그 모드. 더 많은 정보를 출력

 -E var=value, --env var=value : 환경 변수를 설정. ALSA_CONFIG_PATH 환경 변수를 덮어씀

 -f file, --f=file : 설정 파일(file)을 지정(기본값은 /etc/asound.state)

 -F, --force : restore와 함게 사용하며 설정을 강제 복원. 기본값

 -g, --ignore: store와 restore를 함께 사용하며 에러를 보여주지 않고 에러 출력 코드를 설정하지 않음

 -i file, --initfile=file : init를 위한 설정 파일을 지정. 설정하지 않으면 /usr/share/alsa/init/00main 파일을 사용

 -p, --pedantic : restore와 함께 사용하며 적절하지 않은 설정을 무시

 -r file, --runstat=file : restore와 init 에러를 지정한 파일에 저장. 새로운 에러는 파일의 맨 뒤에 추가됨(-R을 사용할 경우는 예외)

 -R, --remove : restore와 int를 수행하기 전에 동작 상태에 runstat 파일(-r 옵션에 지정된 파일)을 먼저 지움

 -h, --help : 사용법 출력

 -v, --version : 버전 정보 출력

 

 5) 추가 설명

ALSA(Advanced Linux Sound Architecture)를 사용하는 사운드 카드를 위한 고급 설정 관리자입니다. 드라이버 설정 정보는 설정 파일에 있습니다. 카드 번호, id, 디바이스로 카드를 지정할 수 있습니다. 만일 지정된 카드가 없으면 설치된 모든 카드의 설정을 저장하고 읽어 옵니다. 기본 설정 파일은 /etc/asound.stat 입니다. 

 

관련 명령어는 아래와 같습니다.

명령어 설명
init 모든 사운드 카드의 초기화를 시도
restore 설정 파일로부터 드라이버 정보를 읽어옴
store 현재 드라이버 정보를 설정 파일에 저장

 

alsactl의 -f 옵션을 이용하여 현재 드라이버 정보를 특정 파일에 저장해봅니다. 저장된 파일은 텍스트 에디터나 cat 등의 명령어로 내용을 확인할 수 있습니다. alsa-util을 직접 빌드하여 사용하는 경우, 빌드 후에 alsactl store를 실행해서 설정 파일을 만들어야 합니다.

$ alsactl -f asound.stat.temp store
$ cat asound.state.temp | more

 

 

 

  2. alsamixer(사운드 볼륨 조절)

 1) 경로 : /usr/bin/alsamixer

 2) 요약 : 텍스트 기반의 ncureses 인터페이스를 사용하여 사운드 볼륨을 조절

 3) 사용 방법 : alsamixer [옵션]

 4) 옵션

 -c cardnum : 사용 중인 사운드 카드의 번호 또는 id를 지정. 만약 여러 카드가 있다면 카드 번호는 기본값인 0부터 시작

 -D devicedid : 믹서 디바이스의 id를 지정

 -g : alsamixer의 UI 색을 흑백으로 바꿈. 기본값은 컬러

 -h, --help : 사용법 출력

 -s : alsamixer 윈도우 크기를 최소화. 스크린이 작은 모바일 환경에서 유용

 -V mode : playback, capture, all 등의 뷰 모드를 지정

 

 5) 추가 설명

ALSA 믹서는 텍스트 기반에서 직관적인 UI를 지원하는 ncureses를 사용하여 개발된 볼륨 조절기 입니다. alsamixer는 시스템에 설치된 다양한 드라이버와 사운드 카드를 지원합니다.

 

키보드의 좌우 방향키(←, →)를 이용하여 조절을 원하는 항목으로 이동할 수 있습니다. 키보드의 상하 방향키를 이용하여 볼륨을 조절할 수 있습니다. 스피커의 좌우 볼륨을 따로 저절하고 싶다면 다음 표를 참고합니다.

  좌측 전체  우측
볼륨을 높게 Q W E
볼륨을 낮게 Z X C

 

 

 

 

  3. amixer(사운드 볼륨 조절)

 1) 경로 : /usr/bin/amixer

 2) 요약 : 텍스트 기반에서 사운드 볼륨 조절

 3) 사용 방법 : amixer [옵션] command

 4) 옵션

 -c n : 조절을 원하는 사운드 카드의 번호를 지정. 0부터 시작

 -D devicename : 디바이스의 이름을 지정

 -h : 사용법 출력

 -q : 변경될 결과를 출력하지 않음

 -s, --stdin : 표준 입력으로 읽어 차례대로 수행

 

 5) 추가 설명

텍스트 기반의 사운드 볼륨 조절 명령어입니다. 그래픽 인터페이스를 원한다면 alsamixer를 사용합니다. amixer를 이용하면 설치된 사운드 카드와 드라이버의 믹서 설정을 출력하거나 변경할 수 있습니다. 아무런 옵션이나 명령 없이 amixer를 실행하면 모든 믹서 설정 내용을 출력합니다. 지원하는 명령어는 다음과 같습니다.

명령어 설명
contents 카드 컨트롤 내용을 출력
controls 카드 커ㄴ트롤 목록을 출력. cset 명령어로 설정을 변경 가능
cget [control] 지정된 카드 컨트롤의 내용을 출력
cset [control] 파라미터 카드 컨트롤을 지정된 파라미터 값으로 설정.
파라미터 값은 일반적으로 숫자나 퍼센트
get, sget [control] 지정된 믹서 컨트롤의 현재값을 출력
help 도움말 출력
info 현재 설치된 사운드 카드에 대한 정보 출력
-c 옵션을 같이 사용하면 특정 카드를 지정할 수 있음
scontents 심플 믹서 컨트롤 내용을 출력
scontrols 심플 믹서 컨트롤 목록을 출력
set 또는 sset을 사용하여 믹서 컨트롤을 설정 가능
set, sset [control] 파라미터 scontrols의 컨트롤 목록 중 하나를 설정
파라미터 값에 0%~100%까지 넣어 볼륨을 조절 가능
숫자를 입력하여 변경할 수 있음
추가로 파라미터에 cap, nocap, mute, unmute, toggle 등을 넣어 설정 가능

 

심플 믹서 컨트롤을 이용하여 마이크 볼륨을 조절해 봅니다. 마이크의 컨트롤 이름이 무엇인지 모를 경우 scontrols 명령어를 이용하여 목록을 출력합니다.

# amixer -c 0 scontrols
Simple mixer control 'Master',0
Simple mixer control 'PCM',0
Simple mixer control 'Line',0
Simple mixer control 'CD',0
Simple mixer control 'Mic',0
Simple mixer control 'Mic Boost (+20dB)',0
Simple mixer control 'Video',0
Simple mixer control 'Phone',0
Simple mixer control 'IEC958',0
Simple mixer control 'Aux',0
Simple mixer control 'Capture',0
Simple mixer control 'Mix',0
Simple mixer control 'Mix Mono',0

 

사운드 카드가 여러 개 있는 경우 -c 옵션으로 카드를 지정할 수 있습니다. 카드 번호는 0부터 시작합니다. 아래 명령을 보면 볼륨 조절을 위해 sset 명령어와 마이크의 컨트롤 이름인 Mic를 사용했습니다. 볼륨을 70%로 설정하고 음소거 기능을 껐습니다.

# amixer -c 0 sset Mic 70% unmute
Simple mixer control 'Mic',0
  Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: Playback 0 - 63
  Front Left: Playback 45 [71%] [33.00dB] [on] Capture [on]
  Front Right: Playback 45 [71%] [33.dB] [on] Capture [on]

 

카드 컨트롤을 통해서 설정된 내용을 출력합니다. 먼저 마이크의 unmid를 확인합니다.

# amixer controls
numid=1,iface=MIXER,name='Master Playback Switch'
numid=5,iface=MIXER,name="Mic Playback Switch'
numid=6,iface=MIXER,name="Mic Playback Volume'
... 생략 ...

 

마이크 볼륨의 numid는 6이므로 아래의 명령어로 설정을 내용을 갖고 와서, values 가 45인 것을 확인할 수 있습니다.

# amixer cget numid=6
numid=6,iface=MIXER,name='Mic Playback Volume'
  ; type=INTEGER,access=rw---R--,vaalues=2,min=0,max=63,step=0
  : values=45,45
| dBscale-min=-34.50dB,step=1.50dB,mute=0

 

 

  4. aplay(사운드 재생)

 1) 경로 : /usr/bin/aplay

 2) 요약 : 텍스트 기반의 사운드 재생

 3) 사용 방법 : aplay [옵션] 파일

 4) 옵션

 -c, --channels=n : 모노는 1, 스테레오는 2로 지정

 -d, --duration=n : 사운드 재생이 시작되고 n초 후에 종료

 -D, --device=devicename : PCM 디바이스를 선택

 -f, --format=format : 심플 포멧을 지정. 하드웨어 장치인 CD로 지정하고 싶으면 cd, DAT는 dat로 작성

 -h, --help : 사용법 출력

 -l(엘), --list-pcms : 정의된 모든 PCM(pulse-coded modulation이나 digital audio)을 출력. 보통 .asoundrc 파일에 정의

 -q, --quiet : 메시지 없이 실행

 -r, --rate=n : 주파수 값을 설정. 기본값은 8000Hz

 -t, --file-type=type : voc, wav, raw, au 등으로 파일 타입 이름을 지정

 --version : 버전 정보 출력

 

 5) 추가 설명

텍스트 환경에서 사운드 파일을 ALSA 사운드 시스템을 이용하여 재생합니다. 디바이스에 ALSA 사운드 시스템의 동작을 검증할 때 주로 사용됩니다.

 

test.wav 파일을 모노, wav 타입으로 재생하는 명령어는 다음과 같습니다.

# aplay -c 1 -t wav test.was
Playing WAVE 'test.wav'' : Unsigned 8 bit, Rate 16000 Hz, Mono

 

 

 

  5. apm(노트북 전원관리)

 1) 경로 : /usr/bin/apm

 2) 요약 : 노트북 등 이동식 장치에서 배터리 잔여량을 보여주고, 상태에 따라 시스템을 대기/종료 시킴

 3) 사용 방법 : apm [옵션]

 4) 옵션

 -V, --version : 버전 정보 출력

 -v, --verbose : 자세한 APM 바이오스의 버전과 전원 상태 정보를 출력

 -m, --minutes : 배터리의 남은 시간을 출력(분 단위)

 -M, --monitor : 배터리 상태 정보를 계속해서 모니터하고, 업데이트 함

 -s, --suspend : 시스템을 서스펜드 상태로 만듦

 -S, --standby : 시스템을 스탠바이 상태로 만듦

 -d, --debug : 디버깅에 유용하도록 세부적인 APM 상태 정보를 출력

 

 5) 추가 설명

노트북 사용자의 경우 배터리 관리는 아주 중요한 문제입니다. apm은 APM(Advanced Power Management) BIOS의 정보가 있는 /proc/apm 파일을 읽어 시스템의 전원 상태를 출력합니다. 이 명령어로 배터리의 현재 잔여량을 알 수 있으며 시스템을 정지 상태나 대기 상태로 만들 수 있습니다. 노트북에서 리눅스를 사용할 때 꼭 필요한 명령어입니다. 그러면 다음과 같이 배터리의 남은 시간을 확인해 봅니다.

# apm -m
5

 

여기서 5는 현재 상태에서 전원 연결 없이 배터리로 사용할 수 있는 시간을 분 단위로 나타낸 것입니다. 만약에 데스크탑 환경이나 전원이 연결된 노트북에서 이 명령어를 실행하면 다음과 같은 메시지를 출력합니다.

# apm -m
apm 19AC on-line, no system battery
반응형

댓글