우분투에서 소리 문제 해결 방법

우분투 오디오 알사 볼륨

우분투를 설치하거나 새 버전으로 업그레이드한 후 우분투 사용자들이 자주 겪는 문제는 소리 문제, 즉 “소리가 나지 않는“ 문제입니다. 이는 여러 가지 이유로 발생할 수 있습니다. 때때로 스피커 설정의 잘못된 구성과 관련이 있거나, 하드웨어가 제대로 지원되지 않을 수도 있습니다.

대부분의 경우, 이는 해결하기 쉬운 문제입니다. 이는 대부분의 문제들이 시스템에서 실행 중인 서비스와 관련이 있기 때문입니다. 이 기사에서는 시도해 볼 수 있는 몇 가지 간단한 해결 방법을 설명합니다. 모든 방법을 시도할 필요는 없습니다. 목록의 맨 위에서 시작하여 아래로 내려가면 됩니다.

목차

  • PulseAudio용 볼륨 컨트롤 설치
  • 스피커 설정 확인
  • ALSA 믹서 확인
  • ALSA 다시 로드
  • ALSA 및 PulseAudio 재설치
  • 고급 문제 해결
  • 자주 묻는 질문

또한 읽기: 리눅스에서 파일을 쉽게 이름 바꾸는 방법

PulseAudio용 볼륨 컨트롤 설치

PulseAudio는 우분투의 기본 사운드 서비스이자 몇 가지 다른 서비스의 기본 사운드 서비스입니다. 이는 오픈 소스이며 일반적으로 신뢰할 수 있으며, ALSA 및 OSS 드라이버와 함께 작동하여 시스템에서 생성된 사운드 신호가 스피커로 전달되도록 합니다.

우분투 소리 작동 안 함 Pavucontrol

그러나 애플리케이션과 데스크탑 환경은 PulseAudio에 대한 자체 볼륨 컨트롤을 제공하지만, 이는 그렇게 세밀하지 않으며 각 재생 스트림을 개별적으로 제어할 수 없습니다. Pavucontrol은 PC의 각 오디오 장치에 대한 더 많은 제어를 제공하므로, 슬라이더를 조정하여 스피커나 헤드폰 볼륨이 적절하게 설정되었는지 확인할 수 있습니다.

pavucontrol을 설치하려면 터미널을 열고 다음 명령어를 입력하세요:

pulseaudio --start  
sudo apt install pavucontrol

그 후, 터미널에서 pavucontrol을 실행하거나 데스크탑 환경의 시작 메뉴에서 “PulseAudio Volume Control”을 검색하여 실행하세요. “출력 장치“ 탭으로 이동하여 기본 스피커가 선택되어 있는지 확인하세요.

스피커 설정 확인

우분투 머신에서 소리 문제를 경험할 때, 먼저 헤드폰과 스피커의 연결 문제를 확인해야 합니다. 오디오 케이블이 잘못된 포트에 연결되어 있거나 아예 연결되지 않았을 수 있습니다.

블루투스 장치를 사용 중이라면, 올바르게 페어링되었는지 확인하세요. 장치의 볼륨 컨트롤을 확인하여 적절한 수준인지 확인하는 것도 잊지 마세요. 컴퓨터에서 출력 볼륨이 음소거되지 않았는지, 올바른 출력 장치가 선택되었는지도 확인해야 합니다.

우분투 소리 문제 1

또한 읽기: 터미널에서 리눅스 오디오를 관리하기 위한 ALSA 유틸리티 사용 방법

ALSA 믹서 확인

PulseAudio는 ALSA를 사용하여 사운드 장치를 직접 제어하는 커널 모듈입니다. ALSA 수준의 볼륨을 더 세밀하게 제어해야 하는 경우, 아래 단계를 따르세요:

  1. 터미널을 엽니다.
  2. alsamixer를 입력하고 Enter 키를 누릅니다. 터미널에서 다음과 같은 출력이 표시됩니다.

우분투 소리 문제 2

  1. F6 키를 눌러 올바른 사운드 카드를 선택합니다. 저에게는 기본값이 잘 작동하지만, 작동하지 않는 경우 다른 옵션을 시도해 보세요.
  2. 왼쪽 화살표 및 오른쪽 화살표 키를 사용하여 볼륨 컨트롤을 선택합니다. 현재 선택된 항목은 하단에 빨간색으로 표시됩니다.
  3. 위쪽 화살표 및 아래쪽 화살표 키를 사용하여 각 컨트롤의 볼륨 수준을 증가 및 감소시킵니다.
  4. 믹서 컨트롤이 음소거되면 볼륨 바 아래에 “MM”이 표시됩니다. 바가 100% 가득 차 있어도 여전히 음소거될 수 있으므로 확인하세요. m 키를 눌러 컨트롤의 음소거를 해제할 수 있습니다. 이 경우 “MM”이 “OO”로 변경됩니다.
  5. alsamixer를 종료하려면 Esc 키를 누릅니다.

참고: 컨트롤을 음소거하거나 음소거 해제할 때, pulseaudio가 이를 감지하여 다른 컨트롤도 음소거 및 음소거 해제할 수 있습니다. 종료하기 전에 관련 컨트롤과 마스터 컨트롤이 모두 음소거 해제되었는지 확인하세요.

ALSA 다시 로드

소리 문제가 지속되는 경우 시도할 수 있는 또 다른 방법은 ALSA를 다시 로드하는 것입니다. 이를 위해 터미널에서 다음 명령어를 사용하세요:

sudo alsa force-reload

출력은 다음 이미지와 비슷하게 보입니다.

우분투 소리 문제 3

작업이 완료되면, 여전히 소리가 나지 않는 경우 다음을 시도하세요:

pulseaudio -k&& pulseaudio -D

ALSA를 다시 로드한 후 pulseaudio가 모듈이 다시 로드되었다고 인식하지 못할 수 있습니다.

여전히 오디오가 나오지 않는 경우, 다음 단일 ALSA 명령어를 직접 시도하세요:

alsactl restore

또한 읽기: 리눅스에서 서브우퍼가 작동하지 않나요? 이러한 요령을 시도해 보세요!

ALSA 및 PulseAudio 재설치

위 방법으로 문제가 해결되지 않았다면, ALSA 및 PulseAudio를 다음과 같은 방법으로 재설치해 보세요. 터미널을 열고 다음 명령어를 입력하세요:

sudo apt remove --purge alsa-base pulseaudio  
sudo apt install alsa-base pulseaudio

ALSA를 다시 로드하고 컴퓨터를 재부팅하세요.

또한 읽기: 우분투에서 상단 바와 사이드 패널 숨기기

고급 문제 해결

모든 방법이 실패한 후 오디오 문제를 제대로 해결하려면, 좀 더 복잡한 문제 해결을 진행해야 합니다:

출력이 ALSA를 트리거할 수 있지만 PulseAudio는 아닙니다

궁극적으로, PulseAudio가 출력을 음소거하면 ALSA가 뭐라고 하든 상관 없습니다. 장치로 나오는 소리는 ALSA를 통해 처리되지만 PulseAudio를 통해 제공되지 않습니다.

이를 해결하기 위해, 마스터 볼륨이 변경될 때 ALSA가 PulseAudio와 통신하도록 강제해야 합니다.

amixer -D pulse sset Master toggle

이상한 이유로 볼륨이 ALSA와만 상호작용할 수 있는 장치도 PulseAudio와 상호작용할 수 있습니다.

단지 하나의 애플리케이션이 문제인지 확실합니까?

문제가 있는 애플리케이션은 당신이 생각하는 것보다 더 많은 문제를 일으킬 수 있으며, 당신을 놀라게 할 수 있습니다. 심지어 당신이 열지 않은 애플리케이션일 수도 있습니다!

오디오 컨트롤을 사용하는 모든 것을 보려면 다음을 입력하세요:

pacmd list-sink-inputs

더 세밀하게 살펴보려면 다음을 입력하세요:

pacmd list-sink-inputs |grep application.name

제 경우에는 이미지와 같이 Firefox만 듣고 있습니다. 터미널에서 출력을 좁히기 위해 grep을 사용했다면, 원래 명령어를 다시 사용하고 “muted:”, “index:” 및 “volume:” 값을 주의 깊게 살펴보세요.

애플리케이션에서 볼륨이 있었지만 여전히 음소거되었거나 볼륨이 0일 수 있습니다!

음소거된 애플리케이션을 수정하려면 (“index:”에서 찾은 인덱스 번호로 application_index를 교체하세요):

pacmd set-sink-input-mute application_index false

비정상적으로 낮은 볼륨의 애플리케이션을 수정하려면 다음을 입력하세요:

pacmd set-sink-input-volume application_index 0x10000

일시 중지/수면 후 복귀 시 오디오 없음

때때로 PulseAudio는 컴퓨터의 나머지 부분과 함께 깨어나고 싶지 않을 수 있습니다. 이 경우,

pasuspender /bin/true

를 실행하면 오디오가 다시 살아나지만, 너무 흥분하지 마세요. 이는 다음 재부팅이나 일시 중지/수면 후에도 지속되지 않습니다. 이 문제를 영구적으로 해결하기 위해 이 미니 가이드를 주의 깊게 따르세요:

  1. 터미널에 다음을 입력하세요:
sudotouch/etc/systemd/system/[email protected]

systemd 서비스 관리자 파일을 생성합니다.

  1. 파일을 편집하기 위해 엽니다:
sudonano/etc/systemd/system/pulseaudio-sleep-fix.service

다음 내용을 붙여넣습니다 (터미널에서 붙여넣으려면 Ctrl + Shift + V 사용):

[Unit]  
Description=Fix PulseAudio after resume from suspend  
After=suspend.target  
  
[Service]  
User=%I  
Type=oneshot  
Environment="XDG_RUNTIME_DIR=/run/user/%U"  
ExecStart=/usr/bin/pasuspender /bin/true  
  
[Install]  
WantedBy=suspend.target
  1. Ctrl + X를 눌러 종료하고, 수정된 버퍼를 저장할 것인지 묻는 프롬프트에서 Y를 누릅니다.
  2. 다음을 입력하여 이를 systemd 서비스로 등록합니다.
sudo systemctl enable pulseaudio-sleep-fix@your_username.service

your_username를 적절한 값으로 교체하는 것을 잊지 마세요.

Timidity를 실행하고 있습니까?

우분투에서 timidity 패키지를 실행하는 경우 (적절한 항목 끝에 [installed]가 있는지 확인하려면 apt search timidity를 실행하여 확인), 오디오 처리를 처리하는 방식 때문에 PulseAudio와 함께 실행하는 데 문제가 있을 수 있습니다.

timidity가 제대로 실행되도록 하려면, 이를 자동 시작에 추가하고 (GNOME과 같은 데스크탑 환경에서 “시작 애플리케이션“이라고도 함) 애플리케이션을 실행하는 명령을 다음과 같이 수정하세요:

timidity -iA-Os

조금 더 나아가, 다음을 입력하여 root를 pulse-access 그룹에 추가하세요:

sudo usermod -a-G pulse-access root

재부팅 후 오디오가 잘 작동해야 합니다. 여전히 실패하면, 우분투에서 timidity를 제거하는 것이 유일한 다른 해결책입니다.

이제 일시 중지 후 복귀할 때만 실행되도록 설계된 서비스가 있어, 작업이 완료되면 즉시 종료되어 불필요한 부하를 피할 수 있습니다.

자주 묻는 질문

1. ALSA를 제거하고 PulseAudio를 유지할 수 있나요?

여기서는 매우 조심해야 합니다! PulseAudio는 작동하기 위해 커널 수준의 오디오 모듈이 필요합니다. ALSA를 커널에서 작동하는 다른 것으로 교체할 계획이라면 (예: Open Sound System), 그렇게 하세요. 이 과정은 Realtek 커널 모듈을 네트워킹을 위해 교체하는 것보다 복잡하므로, 문제를 해결하는 데 오랜 시간이 걸릴 수 있음을 인지하세요.

2. PulseAudio의 대안이 있나요?

네! PulseAudio의 가장 인기 있는 (그리고 데스크탑을 사용할 계획이라면 가장 실행 가능한) 대안은 PipeWire입니다. 이는 블루투스 장치에 대한 더 나은 통합 지원을 포함하고, PulseAudio의 불안정한 샘플링 및 후처리 방식을 개선합니다. 많은 배포판이 이제 공식 저장소에서 이를 제공하며, 최근 몇 년 동안 안정성이 크게 향상되었습니다.

그러나 오디오에 대해 더 전문적인 설정을 원한다면 JACK과 같은 것을 선택할 수 있습니다.

3. PulseAudio를 다른 서비스와 함께 실행할 수 있나요?

일부 서비스는 PulseAudio와 함께 작동하도록 라이브러리 및 설정 옵션을 갖추고 있지만, 시스템에서 한 번에 하나의 서비스만 사용하는 것이 강력히 권장됩니다. 대부분의 서비스는 PulseAudio와 시스템의 애플리케이션을 놓고 경쟁하게 되며, 이는 예측할 수 없는 동작을 초래할 수 있습니다. 다른 서비스는 PulseAudio를 완전히 제거하지 않으면 전혀 작동하지 않을 것입니다. (PipeWire는 pulseaudio를 대체하는 pipewire-pulse 서비스를 사용합니다.)

희망적으로, 여기서 제공한 조언이 우분투에서 소리를 다시 작동하게 하여 운영 체제를 다시 즐길 수 있도록 도와주었기를 바랍니다. 리눅스에서 웹사이트를 앱으로 변환하고 안드로이드 폰의 화면을 리눅스로 전송해 본 적이 있나요?