ฉันจะดีบักปัญหาเกี่ยวกับ Pulse Audio ได้อย่างไร


13

ฉันติดตั้ง Ubuntu 11.10 ไว้ในเครื่องแล้ว ฉันลงชื่อเข้าใช้ด้วยชื่อ USER_A อุปกรณ์เสียงภายนอกของฉันคือชุดหูฟังและฉันสามารถได้ยินเสียงได้อย่างถูกต้อง

ฉันต้องเข้าร่วมเครื่อง Ubuntu กับโดเมนของหน้าต่าง (เซิร์ฟเวอร์สำนักงานของฉัน) ฉันทำตามขั้นตอนที่อธิบายไว้ในhttp://www.ghacks.net/2010/04/21/join-a-ubuntu-machine-to-a-windows-domain/และประสบความสำเร็จในการเข้าร่วมเครื่อง ubuntu ของฉันกับโดเมน windows .

sudo apt-get install likewise-open5
sudo domainjoin-cli join DOMAIN USER_B

ตอนนี้เมื่อฉันเข้าสู่ระบบในชื่อ USER_B ไม่มีเสียงสำหรับผู้ใช้รายนี้ในเครื่องเดียวกัน

ฉันข้ามการตรวจสอบกับบัญชีผู้ใช้ของฉัน ไม่มีปัญหาเกี่ยวกับเสียงสำหรับ User_A เฉพาะ User_B เท่านั้นไม่มีเสียง

เมื่อฉันตรวจสอบการตั้งค่าเสียงของ User_B จะไม่มีอุปกรณ์อยู่ในฮาร์ดแวร์อินพุตและเอาต์พุต ในขณะที่สำหรับผู้ใช้ A ชุดหูฟังของฉันจะแสดงอยู่ในอินพุตและเอาต์พุต

ทุกคนได้โปรดช่วยฉันในเรื่องนี้ ทำไมไม่มีเสียงสำหรับ User_B

คุณช่วยเล่าสั้น ๆ เพิ่มเติมเกี่ยวกับวิธีการ 'ตรวจสอบว่ามีการเพิ่มผู้ใช้หรือไม่ในกลุ่มเสียง'

และเมื่อฉันพยายามเรียกใช้ pulseaudio -k ใน terminal (จาก User_B)

E: [pulseaudio] main.c: Failed to kill daemon: No such process

และฉันก็พบสิ่งนี้ในบันทึกเสียงชีพจร เมื่อฉันวิ่ง:

pulseaudio --log-level=4 --log-target=stderr

ฉันพบบรรทัดข้อผิดพลาดต่อไปนี้ในบันทึกของฉัน:

E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen() failed: org.freedesktop.DBus.Error.BadAddress: Abstract socket name too long
E: [pulseaudio] module-dbus-protocol.c: Starting the local D-Bus server failed.
E: [pulseaudio] module.c: Failed to load module "module-dbus-protocol" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.

ขอบคุณสำหรับคำตอบ ล็อก B เท่านั้นที่เข้าสู่ระบบของฉัน เขาไม่มีเสียง ฉันออกจากระบบ B และกลับเข้าสู่ระบบในฐานะ A. ตอนนี้ A มีเสียง โดยทั่วไป A มีเสียงอยู่เสมอในขณะที่ B ไม่มีเสียงในระบบเดียวกัน และแม้หลังจากรีบูต B ไม่มีเสียง
Senthil Kumaran

อย่างที่ฉันพูดไว้ก่อนหน้านี้สำหรับ B ชุดหูฟังไม่ได้อยู่ในอุปกรณ์เสียง ในขณะที่ A ชุดหูฟังจะแสดงรายการ
Senthil Kumaran

คุณช่วยเล่าสั้น ๆ เพิ่มเติมเกี่ยวกับวิธีการ 'ตรวจสอบว่ามีการเพิ่มผู้ใช้หรือไม่ในกลุ่มเสียง' และเมื่อฉันพยายามเรียกใช้ pulseaudio -k ใน terminal (จาก User_B) E: [pulseaudio] main.c: ไม่สามารถฆ่าภูตได้: ไม่มีขั้นตอนดังกล่าว
Senthil Kumaran

และฉันก็พบสิ่งนี้ในบันทึกเสียงชีพจร เมื่อฉันรัน: pulseaudio --log-level = 4 --log-target = stderrฉันพบบรรทัดข้อผิดพลาดต่อไปนี้ในบันทึกของฉัน: E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen () ล้มเหลว: org.freedesktop .DBus.Error.BadAddress: ชื่อซ็อกเก็ตบทคัดย่อยาวเกินไป E: [pulseaudio] module-dbus-protocol.c: การเริ่มต้นเซิร์ฟเวอร์ D-Bus ในระบบล้มเหลว E: [pulseaudio] module.c: ไม่สามารถโหลดโมดูล "module-dbus-protocol" (อาร์กิวเมนต์: ""): การเริ่มต้นล้มเหลว E: [pulseaudio] main.c: การโหลดโมดูลล้มเหลว E: [pulseaudio] main.c: การเริ่มต้น daemon ล้มเหลว
Senthil Kumaran

1
สรุปความคิดเห็นในคำตอบ
Takkat

คำตอบ:


16

คำตอบเบื้องต้นนี้สรุปขั้นตอนที่เกี่ยวข้องกับการแก้ปัญหาเสียงที่มีให้สำหรับผู้ใช้รายเดียวในสภาพแวดล้อมที่มีการเข้าร่วมโดเมนสำหรับผู้ใช้รายนี้ อาจต้องขยายเพิ่มเติมในภายหลัง

ในกรณีที่เรามีเสียงสำหรับผู้ใช้คนเดียวเราอาจมีการกำหนดค่าที่ไม่ดีในการตั้งค่าบัญชีผู้ใช้นี้ เราจำเป็นต้องทำตามขั้นตอนต่อไปนี้จากบัญชีผู้ใช้ที่ได้รับผลกระทบเพื่อรับข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับปัญหา

  1. pulseaudio ทำงานอยู่หรือเปล่า?
    โดยปกติแล้วคุณจะเห็นว่าจากการเข้าถึงเมนูเสียงในแถบด้านบน หรือเราสามารถออกคำสั่งต่อไปนี้ในเทอร์มินัล:

    pulseaudio -k
    

    จะมีข้อผิดพลาดในกรณีที่ pulseaudio ไม่ทำงาน นอกจากนี้คำสั่งนี้จะดูแลการหยุดและการตอบสนอง pulseaudio ในกรณีที่มันแฮงค์

  2. มีการตั้งค่าผู้ใช้ผิดพลาดสำหรับ pulseaudio daemon หรือไม่?
    ในการทดสอบนี้เราต้องเปลี่ยนชื่อไดเรกทอรีการตั้งค่าในหน้าแรกของผู้ใช้ที่ได้รับผลกระทบแล้วตามด้วยการเริ่มต้นใหม่ของ pulseaudio (ดู1. ):

    mv ~/.pulse ~/.pulse.bad
    

    หรือ

    mv ~/.config/pulse ~/.config/pulse.bad  ## for newer releases
    
  3. แชแนลถูกปิดการใช้งานจาก ALSA หรือไม่
    เราอาจเปิด alsamixer ในเทอร์มินัลเพื่อปรับระดับเสียงของช่องและเพื่อเปิดเสียงช่องในกรณีที่มันถูกปิดเสียงโดยไม่ตั้งใจ:

    alsamixer
    
  4. ตรวจสอบให้แน่ใจว่าผู้ใช้ไม่ได้อยู่ในกลุ่ม 'เสียง'
    ผู้ใช้ในaudioกลุ่มมีสิทธิ์เข้าถึงเซิร์ฟเวอร์ pulseaudio ผู้ใช้รายอื่นไม่สามารถเข้าถึงได้ในขณะที่ผู้ใช้รายนี้ใช้งาน ดังนั้นผู้ใช้ไม่ควรอยู่ในaudioกลุ่ม

  5. เริ่ม Pulseaudio ด้วยตนเอง
    ในกรณีที่ pulseaudio ไม่ได้ทำงานเราสามารถเริ่ม daemon จาก command line ด้วย

    pulseaudio -D
    

    Pulseaudio จะใช้การตั้งค่าเริ่มต้นและเริ่มเป็น daemon นอกจากนี้เรายังสามารถใช้คำสั่งนี้กับแอปพลิเคชัน Autostart เพื่อเอาชนะกรณีที่ pulseaudio ไม่สามารถเรียกใช้ก่อนที่จะโหลดเดสก์ท็อป

  6. เรียกดูไฟล์บันทึก
    Pulseaudio จะถูกโหลดเมื่อระบบเริ่มทำงานและในการเข้าสู่ระบบของผู้ใช้ ดังนั้นข้อผิดพลาดสามารถอ่านได้จากบันทึกที่สร้างเมื่อเริ่มต้น pulseaudio ดูคู่มือฉบับนี้เกี่ยวกับวิธีการสร้างสคริปต์บันทึก pulsaudio ในระยะสั้นเราต้องดูแล pulseaudio ไม่ตอบสนองเราอาจเรียกใช้ในโหมด verbose:

    pulseaudio -vvvv <options>
    

จะแล้วเสร็จ


ในกรณีที่ระบุในคำถามเราจะเห็นว่า pulseaudio ไม่สามารถทำงานได้เพราะไม่สามารถเริ่มบริการ D-Bus ได้ สิ่งนี้อาจเกิดจากเส้นทางที่เสียหรือยาวเกินไปไปที่หน้าแรกของผู้ใช้ ( ดูข้อผิดพลาด # 872992 ) เพื่อเป็นการแก้ปัญหาเราอาจออก pulseaudio โดยไม่มีการควบคุม D-Bus โดยการแสดงความคิดเห็นในบรรทัดต่อไป/etc/pulse/default.paนี้:

# load-module module-dbus-protocol

อย่างไรก็ตามเรา (และแอปพลิเคชันของเรา) จะไม่สามารถควบคุม pulseaudio โดยใช้ D-Bus ได้


Ubuntu 17.10 ยังเป็นกระบวนการจริง มันช่วยฉัน
hariprasad

ฉันไม่แน่ใจว่าสิ่งใดที่ทำการแก้ไข นี่คือสิ่งที่ฉันพยายาม สร้างโฟลเดอร์.pulseในโฮมโฟลเดอร์ .configสัญลักษณ์ที่เชื่อมโยงกับ ln -s /home/<user>/.pulse /home/<user>/.config/pulse. ขณะที่ฉันใช้ i3 เพิ่มexec /usr/bin/pulseaudio --start --log-target=syslogเพื่อเริ่ม pulseaudio เมื่อเริ่มต้น (Ubuntu 18.04)
Hari KT

2

ในระบบ Debian ของฉันฉันสามารถทำงานนี้ได้ตามคำแนะนำของใครบางคนที่ฉลาดกว่าฉันคัดลอก (ตามรูท) ไฟล์ $ HOME / .pulse / folder และ $ HOME / .pulse-cookie จาก $ USER_A ถึง $ USER_B รวมเข้าด้วยchownกันอย่างเหมาะสม


ขอขอบคุณ! ที่แก้ไขปัญหาของฉันตามที่ระบุไว้ที่นี่: askubuntu.com/questions/752574/…
Joshua Fox
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.