Ubuntu 16.04 เปลี่ยนอุปกรณ์เสียงหลังจากหยุดชั่วคราวจะแก้ไขอย่างไร?


18

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

มันไม่ใช่ปัญหาใหญ่เท่าที่คุณจะจินตนาการได้ แต่มันน่ารำคาญฉันสงสัยว่ามีสคริปต์ที่ฉันสามารถใช้เพื่อบังคับให้เลือก HDMI อีกครั้งหลังจากดำเนินการต่อหรือปิดใช้งานลำโพง inbuilt หรือตั้งเป็นวิธีเริ่มต้น FYI ทั้งลำโพง inbuilt อยู่ใน 'การ์ดเสียง' เดียวกัน แต่เป็นอุปกรณ์สองเครื่องที่แตกต่างกัน

ขอบคุณสำหรับความช่วยเหลือใด ๆ !


การ์ดแสดงผลของคุณคืออะไร คุณใช้ไดรเวอร์ที่เป็นกรรมสิทธิ์หรือไม่?
Marcos Silveira

คำตอบ:


18

หากคุณไม่ต้องการที่จะรีบูตเพียงแค่เริ่มต้น pulseaudio:

pulseaudio --kill; pulseaudio --start

1
สิ่งนี้ไม่ได้ผลสำหรับฉัน
Elliott

1
สิ่งนี้ช่วยได้โดยไม่ต้องมีคำสั่งเริ่มต้นที่สองอยู่แล้ว ผมต้องรอไม่กี่วินาทีและมีการเปิดเสียงเอาท์พุท
ลองจับในที่สุด

คำสั่งแรกนี้ใช้ได้ผล !!!! บูมมันกลับมาแล้ว!
markackerman8-gmail.com

7

ฉันมีปัญหาเดียวกันบน Ubuntu 17.10 หลังจากหยุดพักหรือแม้กระทั่งหลังจากทำให้หน้าจอมืดลงมันจะเปลี่ยนสัญญาณเสียงของฉันจาก Digital Output (ต้องการ) เป็น HDMI แม้ว่าจอแสดงผลของฉันจะไม่มีลำโพงใด ๆ แสดงความคิดเห็นออกบรรทัด

load-module module-switch-on-port-available

ใน/etc/pulse/default.paไม่หลอกลวงตามที่อธิบายในเสียงปิดการใช้งานผ่าน HDMI อย่างถาวร

โปรดทราบว่าการตั้งค่า sink เริ่มต้นตามที่อธิบายไว้ข้างต้นไม่ได้เปลี่ยนพฤติกรรม นอกจากนี้สคริปต์ที่ให้ไว้ข้างต้นเพื่อตั้งค่าโปรไฟล์การ์ดเสียงหลังจากหยุดชั่วคราวนั้นเป็นแบบเฉพาะผู้ใช้


1
ฉันรู้ว่ามันค่อนข้างเก่า แต่การปิดการใช้งานอัตโนมัตินี้เมื่อเสียบหูฟังในระบบของฉัน
AmbientCyan

3

ฉันแก้ไขปัญหานี้โดยการตั้งค่าโพรไฟล์พัลส์คงที่ไปยังเอาต์พุต: hdmi-stereo เมื่อดำเนินการต่อ

pacmd list-cardsที่จะได้รับรายการของโปรไฟล์ชีพจร: ในการเปลี่ยนรูปแบบการเต้นของชีพจรเช่น: pacmd set-card-profile 0 output:hdmi-stereo.

เกี่ยวกับการเรียกใช้สคริปต์หลังจากถูกระงับ: เรียกใช้สคริปต์ใน Wakeup หรือไม่

เกี่ยวกับการเรียกใช้ pacmd as root: [แก้ไข] ควบคุม pulseaudio พร้อม shell script ผ่านฟอรัม pacmd / Newbie Corner / Arch Linux:


2

วิ่ง:

$ pacmd list-cards

เพื่อแสดงดัชนีของการ์ดของคุณ ยกตัวอย่างเช่นการ์ดเสียง PCI ของฉันอยู่ที่ดัชนี 2. รายละเอียดเสียงสำหรับการส่งออกอนาล็อก (อีกครั้งเป็นตัวอย่าง) output:analog-stereoจะเรียกว่า

แล้ว:

$ pacmd set-card-profile 2 output:analog-stereo

การตั้งค่านี้เป็นผลลัพธ์ (ลองดู) หากต้องการทำให้ถาวรให้แก้ไข/etc/pulse/default.paและเพิ่ม:

set-card-profile 2  output:analog-stereo
set-default-sink 2

รีสตาร์ท pulseaudio หรือรีบูตเพื่อตรวจสอบการคงอยู่


เสียง HDMI นั้นคงอยู่ตลอดเวลาตามค่าเริ่มต้นเมื่อรีบูต แต่จะเปลี่ยนเป็นลำโพงในตัวหลังจากทำงานต่อจากโหมดสลีป การทำในสิ่งที่คุณพูดไม่ทำให้ hdmi เปลี่ยนเป็นลำโพงในตัวหลังจากตื่นนอน มีวิธีเรียกใช้คำสั่ง set-card-profile หรือไม่เมื่อระบบกลับมาทำงานจากโหมดสลีป
MattJC

2

ปัญหานี้อาจจะเกี่ยวข้องกับปัญหากับ PulseAudio รุ่น 8 ที่ระบุไว้ในนี้ (ยาว) ด้ายข้อผิดพลาดใน freedesktop.org

โดยทั่วไป Pulseaudio จะเปลี่ยนเส้นทางเสียงเมื่อขาดการติดต่อกับ HDMI และจะไม่ส่งคืนหลังจากเชื่อมต่อ HDMI ใหม่ มันได้รับการแก้ไขในรุ่น 9

ในการส่งคืนเวอร์ชัน 8 ไปเป็นพฤติกรรมของเวอร์ชันก่อนหน้าให้ทำตามคำแนะนำเหล่านี้และรีบูต

แก้ไข/etc/pulse/default.paเพื่อใส่ความคิดเห็น (เพิ่ม#ในส่วนเริ่มต้น) บรรทัด:

#load-module module-switch-on-port-available

จากนั้นตั้งค่าเสียงออกในการตั้งค่าเสียงและตรวจสอบว่ามันยังคงอยู่โดยระงับ / ดำเนินการต่อหรือทำให้หน้าจอว่างเปล่า มันใช้งานได้สำหรับฉัน


@PaulH , @Toilal คุณแก้ไข/etc/pulse/default.paไฟล์อย่างไร? sudo geditไม่ได้ผลสำหรับฉัน
Py-ser

ใช้gksu gedit /etc/pulse/default.pa
rubo77

มันถูกคอมเม้นท์แล้ว - SNIF! แต่คำสั่ง .... pulseaudio --kill ..... ทำงานได้ดี!
markackerman8-gmail.com

1

เกิดขึ้นกับฉันเหมือนกัน แต่เฉพาะในกรณีที่จอภาพ HDMI ไม่ "ตื่น" เมื่อระบบปฏิบัติการเริ่มต้นหรือทำงานต่อ: รายการอุปกรณ์ในการตั้งค่า> เสียงไม่แสดงแม้แต่HMDI / DisplayPort - ระบบเสียงในตัวอีกต่อไป

การแก้ไขสำหรับฉันคือการระงับเซสชันตรวจสอบให้แน่ใจว่าเปิดจอภาพ HDMI แล้วเปิดเซสชันต่อ

การหยุดชั่วคราวใน Ubuntu 18.04 LTS ค่อนข้างซ่อนเร้นอยู่หลังปุ่ม PowerOff ในเมนูแบบเลื่อนลง: กดเมาส์ค้างไว้หรือกดAltเพื่อแปลงปุ่ม PowerOff เป็น Suspend พูดคุยเกี่ยวกับการนำทางที่ซ่อนอยู่!


+1 และขอขอบคุณที่อธิบายวิธีค้นหาการหยุดชั่วคราวที่ซ่อนอยู่! บางคน (ที่เกิดขึ้นมีเทอร์มินัลเปิดบางที) อาจต้องการเรียกใช้คำสั่งsystemctl suspendแทน!
Zanna

ขออภัยผู้คนฉันต้องโหวตความคิดเห็นของตัวเองเนื่องจากดูเหมือนว่าจะสุ่มอย่างสมบูรณ์: ไม่ว่า HDMI Audio จะปรากฏในรายการอุปกรณ์เสียงหรือไม่ :(
mr0

1

แก้ไข PulseAudio เพื่อปิดเสียง HDMI บน Suspend

ฟีเจอร์ "undocumented" นี้ปรากฏขึ้นกับ Ubuntu 16.04 และ PulseAudio 8 เวอร์ชันใหม่

สร้างไฟล์ใหม่/lib/systemd/system-sleep/tv-soundและคัดลอกใน:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    sleep 1
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` 
    # if no post suspend action required
    sleep 2
    export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
    sudo -u rick -E pacmd set-card-profile 0 output:hdmi-stereo
    ;;
esac

หมายเหตุ:แทนที่ชื่อผู้ใช้rick(บรรทัดที่สามจากด้านล่าง) ด้วยชื่อผู้ใช้ของคุณ

จากนั้นทำเครื่องหมายคำสั่งด้วยคำสั่ง:

sudo chmod +x /lib/systemd/system-sleep/tv-sound

อาจจำเป็นต้องมีขั้นตอนเพิ่มเติมหากoutput:hdmi-stereo(อุปกรณ์สำหรับคนส่วนใหญ่) แตกต่างจากระบบของคุณ


ขออภัยไม่สามารถแก้ไขได้ ฉันต้องทำมากกว่านี้ไหม? รีสตาร์ทอะไร? (ผมไม่ต้องการที่จะรีบูตเพราะการแก้ไขที่ปัญหาในระบบของฉันอยู่แล้ว)
rubo77

@ rubo77 คุณเปลี่ยน ID ผู้ใช้เป็น ID ผู้ใช้rickของคุณเองหรือ
WinEunuuchs2Unix

แน่ใจ อย่างที่คุณพูด😃
rubo77

0

ฉันมีปัญหานี้ตั้งแต่ Ubuntu 9.04 มันไม่เคยทำงานและตอนนี้เด็ก ๆ ที่เพิ่งได้รับ HDMI หรือเพิ่งได้รับ Ubuntu คิดว่าปัญหาเป็นสิ่งใหม่ดังนั้นผู้คนที่พยายามดูการเปลี่ยนแปลงล่าสุดในการตั้งค่ากำลังถูกเข้าใจผิด ดังนั้นให้ฉันทำให้ชัดเจน: ปัญหานี้ได้รับรอบและไม่มีใครทำงานกับมัน ฉันใช้เวลาอย่างน้อย 20 ชั่วโมงเพื่อค้นคว้าปัญหานี้ ดังนั้นสิ่งที่ฉันได้ทำในอดีต:

  1. Reboot
  2. ในขณะที่เปิดทีวี (เป้าหมาย HDMI) หากฉันขยับเมาส์ในเวลาที่เหมาะสมมันจะกู้เสียงได้ 50% ของเวลา นี่เป็นปัญหาเกี่ยวกับเวลา / การจับมือกัน
  3. ใน Ubuntu 14 ฉันจะเปลี่ยนความละเอียดหน้าจอเป็นสิ่งที่แตกต่างจากนั้นกลับมาอีกครั้ง ดูเหมือนจะใช้งานไม่ได้กับ Ubuntu 16
  4. อย่าปล่อยให้มันจำศีล อีกทางเลือกหนึ่งคือทำการปิดระบบตามกำหนดเวลา หลังจากนั้นคุณเพียงแค่บูตคอมพิวเตอร์แทนที่จะบูตอีกครั้ง โปรดจำไว้ว่านี่เป็นปัญหาการตั้งเวลาดังนั้นฉันคิดว่าความคิดใด ๆ ที่นี่สามารถทำงานได้ถ้าเวลาเกิดขึ้นกับระบบของคุณอย่างถูกต้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.