การตั้งค่าใดที่ผู้ใช้ควบคุมการเข้าถึงเสียง


12

วิ่งเป็นประจำอัปเดต 10.04 LTS เรามีปัญหาแปลก ๆ กับการเข้าถึงเสียงด้วย pulseaudio 0.9.22 อุปกรณ์เสียงคือATI Technologies Inc SBx00 Azalia (Intel HDA)

  • เข้าสู่ระบบuser1หลังจากรีบูต: เสียงตกลง
  • เข้าสู่ระบบuser2หลังจากรีบูต: เสียงตกลง
  • ล็อกอินuser1จากนั้นuser2 : sound OK: ทั้งคู่มีเสียง

แต่

  • ล็อกอินuser2จากนั้นuser1 : เฉพาะuser2เท่านั้นที่มีเสียง
  • เข้าสู่ระบบuser2หลังจากบูตแล้วออกจากระบบuser2แล้วลงชื่อเข้าใช้user1 : ไม่มีเสียง

และ

  • เข้าสู่ระบบuser3จากนั้นuser1 : ทั้งหมดดีมาก!

ในสองกรณีหลังuser1ได้รับข้อผิดพลาดซ้ำ ๆ ใน syslog:

protocol-native.c: Denied access to client with invalid authorization data

ข้อผิดพลาดเหล่านี้จะหายไปหลังจาก pulseaudio เริ่มต้นจากuser1ด้วยตนเองในเทอร์มินัล จากนั้นการเข้าถึงเสียงก็ใช้ได้ทั้งคู่ มีข้อผิดพลาดmodule-alsa-card.c: Failed to find a working profileแต่สัญญาณเสียงยังคงใช้ได้


เราทั้งคู่ไม่ได้เป็นสมาชิกของกลุ่มเสียง การลบ~/.pulseจากบัญชีทั้งสองไม่มีผลต่อพฤติกรรมนี้

ปัญหาเริ่มต้นใน 9.10 Karmic และยังคงอยู่ที่นั่นแม้หลังจากอัพเกรดเป็น 10.04 Lucid LTS สิ่งนี้บ่งชี้ว่าการตั้งค่าที่ผิดพลาดบางอย่างรอดชีวิตจากการอัพเกรด

การพึ่งพาลำดับการบูตของผู้ใช้บ่งชี้ว่าอาจมีการตั้งค่าเฉพาะของผู้ใช้อื่น ๆ แต่เราไม่ทราบว่าจะเริ่มค้นหาได้ที่ไหน จากการทดสอบกับผู้ใช้ 3 คนดูเหมือนว่าเฉพาะการตั้งค่าสำหรับ user2 เท่านั้นที่ใช้งานไม่ได้


การโหลดโมดูล pulseaudio module-esound-protocol-unixและmodule-native-protocol-unixด้วยตัวเลือกauth-anonymous=1ใน default.pa และ system.pa ไม่ได้เปลี่ยนพฤติกรรมนี้ ไม่ช่วยลบคุกกี้ pulseaudio ~/.esd_authและ~/.pulse-cookieจากผู้ใช้ทั้งสอง

ที่เพิ่มเข้ามาที่นี่เป็นที่ของเราdefault.paและเราsystem.pa


ข้อเสนอแนะ 1) ถึง 8) จากคำตอบด้านล่างไม่ได้ทำการเปลี่ยนแปลง (ใช้งาน pulseaudio ในโหมดระบบเป็นไปไม่ได้) แต่ถอดปลั๊กลำโพงภายนอกรีบูตเครื่องเสียบปลั๊กลำโพงกลับเข้าไปใหม่และรีบูตอีกครั้งจาก user1 ได้หลอกลวง

ยังไม่ชัดเจนว่าข้อมูลฮาร์ดแวร์นี้ถูกเก็บไว้ที่ใดและทำไมจึงส่งผลกระทบต่อบัญชีผู้ใช้เพียงบัญชีเดียว


ฉันมีปัญหาที่คล้ายกันเมื่อฉันอยู่ใน 10.04 เมื่อฉันย้ายไปที่ 10.10 มันก็แก้ไข ตัวอย่างเช่นฉันจะเข้าสู่ระบบด้วยผู้ใช้ปกติของฉัน แต่ฉันเคยไปและเข้าสู่ระบบครั้งแรกกับบัญชีอื่นของฉันแล้วกับผู้ใช้ปกติของฉันหลายโปรแกรมและแม้กระทั่งเสียงการเข้าสู่ระบบจะไม่เล่น ทางออกเดียวคือการรีเซ็ต ฉันค่อนข้างมั่นใจว่าการอัปเดต ALSA บางอย่างได้แก้ไขสิ่งนี้แล้ว
Luis Alvarado

@CYREX: ฉันกำลังคิดที่จะอัพเกรดแม้ว่าฉันจะติด LTS บนเครื่องนั้น ก่อนที่จะทำเช่นนั้นฉันต้องแน่ใจว่าไม่ใช่การตั้งค่าผู้ใช้จาก $ HOME ที่จะทำให้การอัปเกรดทั้งหมดเสีย คุณอัพเกรดหรือติดตั้งใหม่หรือไม่?
Takkat

ขออภัย Takkat ติดตั้งใหม่ ไม่ได้คิดถึง $ HOME ในขณะนั้น
Luis Alvarado

คำตอบ:


16

1)คุณกรุณาลองใช้กับ user1:

sudo gpasswd -a การเข้าถึงชีพจร user1
sudo gpasswd -a user1 pulse-rt
sudo gpasswd -a pulse audio

2)คุณลองแล้วหรือยัง

"แก้ไข /usr/local/etc/pulse/system.pa และเพิ่ม:

load-module module-native-protocol-unix auth-anonymous=1

การอ้างอิง: https://tango.0pointer.de/pipermail/pulseaudio-discuss/2009-January/002942.html


3)ลองเรียกใช้ pulseaudio ในโหมดระบบ

การอ้างอิง: https://bugzilla.redhat.com/attachment.cgi?id=262541


4)ตรวจสอบให้แน่ใจว่า user2 ไม่ได้รัน pulseaudio เป็น root


5)ลบแอปพลิเคชันออกจาก user2 ที่อาจไม่ปล่อยเสียง (เช่นความขี้ขลาด)


6)ผ่าน~/.asoundrcและ/etc/asound.confถ้ามี


7)ตรวจสอบว่ามีการติดตั้ง " ไลบรารี libflashsupport ที่ชั่วร้าย " หรือไม่ วิธีถอนการติดตั้ง:

 sudo aptitude purge libflashsupport flashplugin-nonfree-extrasound  

8)เริ่มการทำงานของระบบ pulseaudio daemon:

gksu gedit /etc/default/pulseaudio  

และเปลี่ยน "PULSEAUDIO_SYSTEM_START = 0" สำหรับ "PULSEAUDIO_SYSTEM_START = 1"

9)ลองถอดปลั๊กฮาร์ดแวร์เสียงเช่นลำโพงภายนอกและรีบูต



แก้ไขคำตอบของคุณเพื่อยอมรับ;) ทั้งหมดนี้มีเสถียรภาพ คำตอบเล็กน้อยเป็นวิธีที่ดีมากในการแก้ไขปัญหาเสียง หวังว่ามันจะมี upvotes มากมาย :)
Takkat

! น่ากลัว ส่วน "sudo gpasswd -a user1 pulse-access" ได้ทำการหลอกลวงที่นี่หลังจากอัปเกรดจาก 12.04 เป็น 13.10 และมีเซิร์ฟเวอร์ PulseAudio (โหมดระบบ) ของฉันปฏิเสธที่จะเล่นอะไร :) ตอนนี้เพื่อหาวิธีที่จะทำให้ XBMC ใช้ pulseaudio จริง ๆ ! ขอขอบคุณ!
DanielSmedegaardBuus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.