오늘 소리가 나지 않습니다. 어떻게 고칠 수 있습니까?


19

이것은 pulseaudio에 문제가있는 것 같습니다. 전화기에서 VNC를 통해 로그인 한 후 비디오 재생을 시작하여 X가 충돌하는 경우가있었습니다. 다시 시작했는데 갑자기 소리가 나지 않습니다.

  • Intel HDA / Realtek ALC889가 있습니다

    00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
    
  • alsamixer 이것을 잘 감지하고 있습니다.
  • PulseAudio는이 alsa 장치를 감지하지 못하므로 auto_null기본 싱크 (아래 로그)로 사용하고 있습니다.
  • PulseAudio를 올바르게 종료하면 (자동 시작하지 말라고) 직접 ALSA와 사운드 카드의 통신이 제대로 작동합니다. speaker-test예를 들어 작동합니다. 따라서 하드웨어 및 ALSA 계층은 훌륭한 IMO입니다.
  • 로그에서 카드가 "통화 중"인 것처럼 보이지만 실제로는 왜 또는 왜 지금인지 알 수 없습니다. 충돌로 인해 ALSA 잠금 파일이 여전히 존재합니까?
  • 방금 달려서 sudo fuser /dev/snd/*이것을 보았습니다.

    oli@bert:~$ sudo fuser /dev/snd/*
    /dev/snd/controlC0:   1884
    /dev/snd/pcmC0D0c:    1884m
    /dev/snd/timer:       1884
    

    프로세스 목록 ( ps aux | grep 1884)을 보면 프로세스 1884가임을 알 수 arecord -c 1 -f S16_LE -r 8000 -t raw있습니다. 이것이 무엇인지 왜 실행 중인지 잘 모릅니다.

  • arecord루트로 시도하고 죽이면 하드웨어에서 다시 생성되고 리 바인드됩니다.

나는 무슨 일이 일어나고 있는지 알지 못하고 알아내는 방법을 모르는 매우 성가신 상황에 처해 있습니다. 이 작업을 다시 수행하기 위해 모든 제안을 할 수 있습니다. 불을 끄십시오.

그리고 PA 자동 로딩을 중단하고 종료 한 다음로 시작하면 얻을 수 있습니다 -vvvv.

oli@bert:~$ pulseaudio -vvvvv
I: main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: core-rtclock.c: Timer slack is set to 50 us.
D: core-util.c: RealtimeKit worked.
I: core-util.c: Successfully gained nice level -11.
I: main.c: This is PulseAudio 0.9.21-63-gd3efa-dirty
D: main.c: Compilation host: x86_64-pc-linux-gnu
D: main.c: Compilation CFLAGS: -g -O2 -g -Wall -O3 -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
D: main.c: Running on host: Linux x86_64 2.6.38-rc3 #1 SMP Tue Feb 1 10:53:04 GMT 2011
D: main.c: Found 8 CPUs.
I: main.c: Page size is 4096 bytes
D: main.c: Compiled with Valgrind support: no
D: main.c: Running in valgrind mode: no
D: main.c: Running in VM: no
D: main.c: Optimised build: yes
D: main.c: All asserts enabled.
I: main.c: Machine ID is 8310740c4729ef474fe5ecec4bbf5a6b.
I: main.c: Session ID is 8310740c4729ef474fe5ecec4bbf5a6b-1297338553.571075-1050119523.
I: main.c: Using runtime directory /home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-runtime.
I: main.c: Using state directory /home/oli/.pulse.
I: main.c: Using modules directory /usr/lib/pulse-0.9.21/modules.
I: main.c: Running in system mode: no
I: main.c: Fresh high-resolution timers available! Enjoy ol' chap!
I: cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 
I: svolume_mmx.c: Initialising MMX optimized functions.
I: remap_mmx.c: Initialising MMX optimized remappers.
I: svolume_sse.c: Initialising SSE2 optimized functions.
I: remap_sse.c: Initialising SSE2 optimized remappers.
I: sconv_sse.c: Initialising SSE2 optimized conversions.
D: memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
D: database-tdb.c: Opened TDB database '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-device-volumes.tdb'
I: module-device-restore.c: Sucessfully opened database file '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-device-volumes'.
I: module.c: Loaded "module-device-restore" (index: #0; argument: "").
D: database-tdb.c: Opened TDB database '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-stream-volumes.tdb'
I: module-stream-restore.c: Sucessfully opened database file '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-stream-volumes'.
I: module.c: Loaded "module-stream-restore" (index: #1; argument: "").
D: database-tdb.c: Opened TDB database '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-card-database.tdb'
I: module-card-restore.c: Sucessfully opened database file '/home/oli/.pulse/8310740c4729ef474fe5ecec4bbf5a6b-card-database'.
I: module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: module.c: Loaded "module-augment-properties" (index: #3; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-udev-detect.so': success
D: module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
D: module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card0 is busy: yes
I: module-udev-detect.c: Found 1 cards.
I: module.c: Loaded "module-udev-detect" (index: #4; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-bluetooth-discover.so': success
D: dbus-util.c: Successfully connected to D-Bus system bus ba7c9a1f90b3d49d930bca2100000015 as :1.62
D: bluetooth-util.c: dbus: interface=org.freedesktop.DBus, path=/org/freedesktop/DBus, member=NameAcquired
D: bluetooth-util.c: Bluetooth daemon is apparently not available.
I: module.c: Loaded "module-bluetooth-discover" (index: #5; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-esound-protocol-unix.so': success
I: module.c: Loaded "module-esound-protocol-unix" (index: #6; argument: "").
I: module.c: Loaded "module-native-protocol-unix" (index: #7; argument: "").
D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-gconf.so': success
I: module.c: Loaded "module-gconf" (index: #8; argument: "").
I: module-default-device-restore.c: Saved default sink 'auto_null' not existant, not restoring default sink setting.
I: module-default-device-restore.c: Saved default source 'auto_null.monitor' not existant, not restoring default source setting.
I: module.c: Loaded "module-default-device-restore" (index: #9; argument: "").
I: module.c: Loaded "module-rescue-streams" (index: #10; argument: "").
D: module-always-sink.c: Autoloading null-sink as no other sinks detected.
I: sink.c: Created sink 0 "auto_null" with sample spec s16le 6ch 44100Hz and channel map front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center
I: sink.c:     device.description = "Dummy Output"
I: sink.c:     device.class = "abstract"
I: sink.c:     device.icon_name = "audio-card"
D: core-subscribe.c: Dropped redundant event due to change event.
I: source.c: Created source 0 "auto_null.monitor" with sample spec s16le 6ch 44100Hz and channel map front-left,front-left-of-center,front-center,front-right,front-right-of-center,rear-center
I: source.c:     device.description = "Monitor of Dummy Output"
I: source.c:     device.class = "monitor"
I: source.c:     device.icon_name = "audio-input-microphone"
D: module-null-sink.c: Thread starting up
I: module.c: Loaded "module-null-sink" (index: #11; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: module.c: Loaded "module-always-sink" (index: #12; argument: "").
I: module.c: Loaded "module-intended-roles" (index: #13; argument: "").
D: module-suspend-on-idle.c: Sink auto_null becomes idle, timeout in 5 seconds.
I: module.c: Loaded "module-suspend-on-idle" (index: #14; argument: "").
I: client.c: Created 0 "ConsoleKit Session /org/freedesktop/ConsoleKit/Session1"
D: module-console-kit.c: Added new session /org/freedesktop/ConsoleKit/Session1
I: module.c: Loaded "module-console-kit" (index: #15; argument: "").
I: module.c: Loaded "module-position-event-sounds" (index: #16; argument: "").
D: dbus-util.c: Successfully connected to D-Bus session bus efbffc6788fad56cfd64d40c00000018 as :1.182
D: main.c: Got org.pulseaudio.Server!
I: main.c: Daemon startup complete.
I: client.c: Created 1 "Native client (UNIX socket client)"
I: client.c: Created 2 "Native client (UNIX socket client)"
D: protocol-native.c: Protocol version: remote 16, local 16
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
D: protocol-native.c: SHM possible: yes
D: protocol-native.c: Negotiated SHM: yes
D: protocol-native.c: Protocol version: remote 16, local 16
I: protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
D: protocol-native.c: SHM possible: yes
D: protocol-native.c: Negotiated SHM: yes
D: module-augment-properties.c: Looking for .desktop file for gnome-volume-control-applet
D: module-augment-properties.c: Looking for .desktop file for gnome-settings-daemon
D: core-subscribe.c: Dropped redundant event due to change event.
I: module-suspend-on-idle.c: Sink auto_null idle for too long, suspending ...
D: sink.c: Suspend cause of sink auto_null is 0x0004, suspending

하드웨어를 찾는 것처럼 보이지만 사용 중이라고 말하는 한 섹션에 유의하십시오 (관련이 있는지 전혀 모름).

D: cli-command.c: Checking for existance of '/usr/lib/pulse-0.9.21/modules/module-udev-detect.so': success
D: module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
D: module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card0 is busy: yes
I: module-udev-detect.c: Found 1 cards.

mv ~ / .pulse를 시도 했습니까?
Takkat

@Takkat 그래, 나는 rm -rf그것을 행운을 빌어 재부팅했다. 나는 밖으로 턴은 운이 오늘 :( 없다
OLI

답변:


10

후자

권리. arecord내가 fuser사운드 파일을 통해 결국 발견 한 피하기 쉬운 요소였습니다 (내 프로세스에 대한 내 질문 참조). 그러나 arecord부팅시 루트로 시작하는 원인 을 찾을 수 없었습니다 . 내가 그렇게 한 방법은 다음과 같습니다.

  1. 운영 pstree | less
  2. 그 과정 /arecord에서 arecord프로세스 를 찾으려면 입력 하고 Enter 키를 누릅니다 .
  3. 한 번 누르면 부모가 표시됩니다. 내 경우에는이었다 randomsound.

사운드 카드를 사용하여 randomsound추가 엔트로피 (재생 용 /dev/random) 를 생성하기 위해 며칠 전에 설치 했습니다 . 나는 그것이 설치되었다는 것을 완전히 잊어 버렸고 이것이 설치 이후 처음으로 다시 시작한 것 같아요.

요컨대 sudo apt-get remove randomsound고정했다. PulseAudio는 이제 사운드 카드를 움켜 쥐고 일하는 동안 쓰레기 유로파를들을 수 있습니다.



f * ck ... 명령을 실행하면 붐이 즉시 작동합니다. 고마워, 나는 이것을 이해하지 못했을 것입니다!
Rob

6

펄스 오디오가 애매 모호한 이유로 바나나를 먹는다는 것을 실험하는 동안 나에게 많은 일이 일어납니다. 문제가 시스템 관련인지 사용자와 관련이 있는지 교차 확인하는 데 사용하는 호스트에 두 번째 사용자를 유지합니다. 첫 번째 경우 두 사용자 모두 문제를 보여줍니다. 문제가 사용자에 따라 다르면 홈 폴더에 문제가있는 것입니다. 펄스 오디오는 다음 ~/.pulse또는 ~/.config/pulse입니다. 예를 들어 _broken과 같이 이름을 바꾸면 사용자가 로그 아웃했다가 다시 로그인하면 pulseaudio가 올바르게 재생성 할 수 있습니다. 대부분 나와 함께 작동합니다.


이것은 나를 위해 일했고 로그 아웃 / 로그인 할 필요가 없었습니다. ~ / .config / pulse 폴더의 이름을 바꾸고 새 폴더가 즉시 생성되었으며 출력 장치를 선택할 수 있으며 이제 100 % 작동합니다.
robm

0

답변을 찾기 위해 온라인으로 시간과 시간을 검색하는 동안 재부팅을 시도했습니다.이 명령을 입력하기 전까지는 아무 효과가 없었습니다.

sudo arecord killall

내 소리를 수정하고 모든 곳 에서이 문제에 대한 해결책을 찾고 있었으므로 해결책을 게시 할 것이라고 생각했습니다. 행운을 빕니다!


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