ตรวจพบหูฟัง 18.04, 16.04 แต่ไม่เปิดโดยอัตโนมัติหลังจากเริ่มทำงาน


26

แก้ไข: ปัญหาดูเหมือนว่าจะมีผลกับ 18.04

ฉันมีปัญหาตั้งแต่ 15.10 แต่มันเริ่มที่จะบดเกียร์ของฉันหลังจากทำการอัพเกรดเป็น 16.04

สมมติว่าฉันมีหูฟังเสียบอยู่ฉันรีบูต \ relog บน \ boot เป็น ubuntu และเล่นเพลง มันออกมาจากลำโพงในตัวแทนของหูฟัง

ฉันเห็นว่าหูฟังถูกตรวจพบภายในเมนูการตั้งค่าเสียงแต่หลังจากที่ฉันเปลี่ยนอุปกรณ์หรือหูฟังของฉันพวกเขาทำงาน

สิ่งนี้ง่ายต่อการเพิกเฉยใน 15.10 เพราะย้อนกลับไปหลังจากการเริ่มต้นทุกอย่างถูกปิดเสียง หูฟังและลำโพงหากมีหูฟังอยู่ก่อนเริ่มต้นดังกล่าว

ฉันจะเพิ่มบันทึกลงในคำถาม แต่ฉันไม่ทราบว่าจริงหรือวิธีการรับพวกเขา (ฉันเปิดให้คำแนะนำ) ปัญหาเกิดขึ้นกับแล็ปท็อป Dell Inspiron 3537แต่ก็มีการ์ดเสียง Realtek อยู่ภายใน

มีแจ็คเอาต์พุตหนึ่งช่องที่ด้านข้างซึ่งทำหน้าที่เป็นทั้งอินพุตและเอาต์พุต


ผลผลิตของ pacmd listcards

2 card(s) available.
    index: 0
    name: <alsa_card.pci-0000_00_03.0>
    driver: <module-alsa-card.c>
    owner module: 6
    properties:
        alsa.card = "0"
        alsa.card_name = "HDA Intel HDMI"
        alsa.long_card_name = "HDA Intel HDMI at 0xc0810000 irq 49"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:03.0"
        sysfs.path = "/devices/pci0000:00/0000:00:03.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "0a0c"
        device.product.name = "Haswell-ULT HD Audio Controller"
        device.form_factor = "internal"
        device.string = "0"
        device.description = "Wbudowany dźwięk"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        output:hdmi-stereo: Wyjście Digital Stereo (HDMI) (priority 5400, available: unknown)
        output:hdmi-surround: Wyjście Digital Surround 5.1 (HDMI) (priority 300, available: unknown)
        output:hdmi-surround71: Wyjście Digital Surround 7.1 (HDMI) (priority 300, available: unknown)
        output:hdmi-stereo-extra1: Wyjście Digital Stereo (HDMI 2) (priority 5200, available: unknown)
        output:hdmi-surround-extra1: Wyjście Digital Surround 5.1 (HDMI 2) (priority 100, available: unknown)
        output:hdmi-surround71-extra1: Wyjście Digital Surround 7.1 (HDMI 2) (priority 100, available: unknown)
        output:hdmi-stereo-extra2: Wyjście Digital Stereo (HDMI 3) (priority 5200, available: unknown)
        output:hdmi-surround-extra2: Wyjście Digital Surround 5.1 (HDMI 3) (priority 100, available: unknown)
        output:hdmi-surround71-extra2: Wyjście Digital Surround 7.1 (HDMI 3) (priority 100, available: unknown)
        off: Wyłączone (priority 0, available: unknown)
    active profile: <output:hdmi-stereo>
    sinks:
        alsa_output.pci-0000_00_03.0.hdmi-stereo/#0: Wbudowany dźwięk Digital Stereo (HDMI)
    sources:
        alsa_output.pci-0000_00_03.0.hdmi-stereo.monitor/#0: Monitor of Wbudowany dźwięk Digital Stereo (HDMI)
    ports:
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
        hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
    index: 1
    name: <alsa_card.pci-0000_00_1b.0>
    driver: <module-alsa-card.c>
    owner module: 7
    properties:
        alsa.card = "1"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xc0814000 irq 48"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1b.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card1"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "9c20"
        device.product.name = "8 Series HD Audio Controller"
        device.form_factor = "internal"
        device.string = "1"
        device.description = "Wbudowany dźwięk"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    profiles:
        input:analog-stereo: Wejście Analogowe stereo (priority 60, available: unknown)
        output:analog-stereo: Wyjście Analogowe stereo (priority 6000, available: unknown)
        output:analog-stereo+input:analog-stereo: Analogowy dupleks stereo (priority 6060, available: unknown)
        off: Wyłączone (priority 0, available: unknown)
    active profile: <output:analog-stereo+input:analog-stereo>
    sinks:
        alsa_output.pci-0000_00_1b.0.analog-stereo/#1: Wbudowany dźwięk Analogowe stereo
    sources:
        alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#1: Monitor of Wbudowany dźwięk Analogowe stereo
        alsa_input.pci-0000_00_1b.0.analog-stereo/#2: Wbudowany dźwięk Analogowe stereo
    ports:
        analog-input-internal-mic: Wewnętrzny mikrofon (priority 8900, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-headphone-mic: Mikrofon (priority 8700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-input-headset-mic: Mikrofon na słuchawkach (priority 8700, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-input-microphone"
        analog-output-speaker: Głośniki (priority 10000, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Słuchawki (priority 9000, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-headphones"

1
ดูเหมือนว่าผิด (ในแง่ของ PulseAudio ที่ทำให้ตกใจ) - คุณควรเลือกหูฟังที่ต่อกับหูฟังแม้ในครั้งแรกที่ลองใช้ ทำrm -rf ~/.pulse ~/.config/pulseก่อนอื่นทั้งหมด สิ่งนี้ทำให้ PA ใช้การตั้งค่าเริ่มต้น ปัญหายังคงอยู่หรือไม่?
emk2203

ใช่แล้ว. ทุกอย่างเป็นเหมือนเดิมหูฟังยังคงตรวจจับ ฉันแน่ใจว่าสองเท่าที่ rm ทำงาน - ไม่มีไดเรกทอรีด้านบนใด ๆ ปรากฏอยู่ หลังจากนั้นฉันก็ทำการรีบูท
Błażej Michalik

คุณช่วยโพสต์ได้pacmd list-cardsไหม
emk2203

@ emk2203 เรียบร้อยแล้ว คำหลักบางคำอยู่ในโปแลนด์ดังนั้น: "wyjście" == "เอาต์พุต", "wejście" == "อินพุต", "wewnętrzny mikrofon" == "ไมโครโฟนภายใน"
Błażej Michalik

เครื่องเล่นเพลงอะไรที่คุณใช้อยู่?
ลึก

คำตอบ:


7

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

บน Ubuntu ไปที่เทอร์มินัลและพิมพ์สิ่งต่อไปนี้ซึ่งคุณจะรวบรวมเฉพาะหมายเลขดัชนี:

สำหรับอุปกรณ์ส่งออกของคุณ:

pacmd list-sinks - จะมีข้อมูลจำนวนมาก แต่มองหาหมายเลขดัชนีและอุปกรณ์ที่เกี่ยวข้องซึ่งจะเป็นอุปกรณ์ส่งออกเริ่มต้นใหม่ของคุณ

สำหรับอุปกรณ์อินพุตของคุณ:

pacmd list-sink-inputsหรือpacmd list-samples- จะมีข้อมูลจำนวนมาก แต่มองหาหมายเลขดัชนีและอุปกรณ์ที่เกี่ยวข้องซึ่งจะเป็นอุปกรณ์ป้อนข้อมูลเริ่มต้นใหม่ของคุณ ใช้ list-samples ในกรณีใน list-sink-input ที่ไม่แสดง

จนถึงจุดนี้บน Ubuntu ที่เชื่อมต่อหูฟังของคุณคุณควรมีหมายเลขดัชนี 2 ตัว หนึ่งสำหรับอินพุตและเอาต์พุตของคุณ ตอนนี้เราจะไปแก้ไขการตั้งค่าเริ่มต้น pulseaudio ของคุณ:

sudo nano /etc/pulse/default.pa

ไปที่บรรทัดสุดท้ายและเพิ่มรายการต่อไปนี้:

set-default-sink 1 - สอดคล้องกับการนี้ขาออกมาpacmd list-sinksหลังจากที่กำลังมองหาที่ดัชนีของ 1 คือดัชนีดังนั้นเปลี่ยนเป็นดัชนีที่คุณได้รับ

set-default-source 5- ตรงนี้ไปยังแหล่งที่มาของการป้อนข้อมูลหลังจากที่กำลังมองหาที่ดัชนีของหรือpacmd list-sink-inputs pacmd list-samplesหมายเลข 5 คือดัชนีดังนั้นเปลี่ยนเป็นดัชนีที่คุณได้รับ

บันทึกไฟล์และรีบูตคอมพิวเตอร์เพื่อทดสอบ การทดสอบเกี่ยวข้องกับการตรวจสอบว่าคุณได้รับค่าดัชนีที่ถูกต้องหรือไม่เนื่องจากอุปกรณ์บางอย่างมีชื่อคล้ายกัน (เช่นแหล่งข้อมูล NVIDIA หรือ INTEL Audio)

หากการตั้งค่าทุกอย่างถูกต้องทุกครั้งที่คุณบูตคอมพิวเตอร์คุณควรเห็น Ubuntu ตั้งค่าอินพุต / เอาท์พุตเริ่มต้นไว้ที่หูฟัง เนื่องจากคุณกำลังพูดถึงหูฟังสำหรับการลดเสียงรบกวนคุณสามารถใช้คำตอบอื่น ๆ ของฉันเพื่อช่วยคุณได้: การกำจัดเสียงรบกวนแบบเรียลไทม์ด้วย PulseAudio?

หมายเหตุ:คุณยังสามารถใช้pacmd list-sourcesเพื่อดูอุปกรณ์ทั้งหมดและแทนที่จะใช้หมายเลขดัชนีคุณสามารถใช้ชื่อของอุปกรณ์ที่กำหนดซึ่งมีลักษณะดังนี้:

alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancelเพื่อให้คุณมีความคิดในสิ่งที่ชื่อที่จะมองหา (Super long ฉันรู้) ชื่อมีความแม่นยำในการใช้ แต่จำยากกว่าดังนั้นคุณมีตัวเลือกที่นี่เพื่อใช้ชื่อใดชื่อหนึ่ง ผลลัพธ์สุดท้ายโดยใช้ชื่อจะเป็นดังนี้:

set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel ในไฟล์ default.pa เพียงเพื่อให้ความคิดแก่คุณ

สำหรับตัวเลือก GUI ฉันแนะนำpavucontrolหรือ PulseAudio Volume Control มันมีตัวเลือกในการตั้งค่าอุปกรณ์เป็นค่าเริ่มต้น / ทางเลือกสำหรับอุปกรณ์อินพุตและเอาต์พุต การใช้ทั้งสองเทคนิคอาจให้สิ่งที่คุณต้องการ


ฉันไม่คิดว่ามันจะใช้งานได้ แต่คุณสามารถเป็นอะไรก็ได้ สิ่งที่เป็นอยู่ในเครื่องของฉันฉันมีสองอุปกรณ์เสียง: Intel HDMI และอนาล็อก Realtek ดัชนีมีดังนี้: 0 - HDMI, 1 - อนาล็อก อุปกรณ์ Realtek มีสองพอร์ต - ลำโพงและหูฟัง (ที่มีลำดับความสำคัญ 10k และ 9k ตามลำดับ - ตัวเลขเหล่านี้เกี่ยวข้องกับการสลับลำดับความสำคัญหรือไม่) เท่าที่ฉันเห็นพอร์ตเหล่านี้ไม่สามารถจัดทำดัชนีในdefault.paไฟล์ในแบบที่คุณได้นำเสนอ
Błażej Michalik

สวัสดี@BłażejMichalikจริง ๆ แล้วนี่เป็นการทดสอบในคอมพิวเตอร์ของภรรยาผมและของฉันก่อนที่จะเผยแพร่ที่นี่ สำหรับความสับสนของดัชนีคุณสามารถใช้ชื่อเต็มตามที่กล่าวไว้ท้ายด้วยหมายเหตุ
Luis Alvarado

2
ใช่มันทำงานได้ แต่มันยังทำให้ลำโพงปิดโดยปริยายแม้ว่าจะไม่มีหูฟังอยู่ก็ตาม นี่คือพฤติกรรมที่ฉันพบด้วย 15.10 มันไม่ใช่การแก้ไขต่อ
Błażej Michalik

ใช่เช่นที่ฉันพูดถึงคุณจะต้องเชื่อมต่อหูฟังตั้งแต่ Ubuntu จะไม่คิดว่าถ้าคุณเชื่อมต่อหูฟังก็ควรใช้มันเป็นค่าเริ่มต้น สำหรับการปิดลำโพงฉันไม่รู้ว่ามีเพราะนี่เป็นการตั้งค่าเริ่มต้นเท่านั้นไม่ปิดการใช้งานผู้อื่น สิ่งนี้มักจะเกิดขึ้นหากคุณใช้แล็ปท็อปที่มีขั้วต่อแจ็คหนึ่งช่อง (อินพุต / เอาต์พุตในเวลาเดียวกัน) ฉันจะถามว่าแล็ปท็อปของคุณมีการเชื่อมต่อ 2 อัน (อันสำหรับไมโครโฟนอีกอันสำหรับเอาท์พุท) หรือถ้ามี หากคำตอบของคุณคือคำตอบตอนนี้คุณมีความคิดว่าเหตุใดปัญหาจึงปรากฏ
Luis Alvarado

ใช่นั่นเป็นกรณีนี้ไม่รู้ว่าสำคัญ
Błażej Michalik

3

หากอุปกรณ์เสียงของคุณเป็น 0 - HDMI และ 1 - แอนะล็อกคุณสามารถสลับไปใช้หูฟังได้

$ pacmd set-sink-port 1 analog-output-headphones

หากต้องการทำให้ถาวรให้แก้ไข/etc/pulse/default.paและ### Make some devices defaultวางไว้ที่ด้านล่าง:

set-default-sink 1
set-sink-port 1 analog-output-headphones

ทุกอย่างควรทำงานได้ตามที่ต้องการ ตรวจสอบให้แน่ใจว่าคุณออกความคิดเห็นนี้อีกครั้งเมื่อคุณเบื่อกับการใช้หูฟัง


1
สิ่งนี้ทำให้อูบุนตูเปลี่ยนไปใช้หูฟังเมื่อเริ่มต้นเท่านั้นไม่ว่าอะไรก็ตาม ไม่มีเสียงจากลำโพงในตอนเริ่มต้นแม้ว่าจะถอดปลั๊กหูฟังแล้วก็ตาม นี่คือพฤติกรรมที่ฉันพบด้วย 15.10
Błażej Michalik

คุณจะไม่ได้ดีไปกว่านั้นฉันกลัว ลิงค์: bbs.archlinux.org/viewtopic.php?id=175951 bbs.archlinux.org/viewtopic.php?pid=1250505#p1250505 bbs.archlinux.org/viewtopic.php?id=212010เป็นสถานะปัจจุบันของศิลปะ . ฉันหวังว่าใครบางคนสามารถหาทางแก้ปัญหาที่ดีกว่า ...
emk2203

Meh ... ฉันสามารถแก้ปัญหาทุบตีได้ ฉันสามารถปรุงอาหารเองได้ - ไม่มีปัญหา แต่มันก็ทำให้เกิดความยุ่งเหยิง ทุก ๆ 6 เดือนฉันต้องทำงานผ่าน Ubuntu changelogs และนักกายภาพบำบัดของฉันเพื่อดูว่าสิ่งใดเกิดขึ้นเนื่องจากความผิดของฉันหรือความประมาทของผู้อื่นหรือเพียงเพราะอัปเกรดเป็น API หรือส่วนหน้า นั่นเป็นสาเหตุที่ฉันไม่ทำสิ่งเหล่านี้อีกต่อไป - มันเลอะเทอะและไม่คุ้มค่ากับเวลาที่ฉันจะแพ้หลังจากที่ฉันพบกับการอัพเดทที่หลีกเลี่ยงไม่ได้ในบางสิ่ง
Błażej Michalik

1
หากคุณสามารถทำวิธีแก้ปัญหาทุบตีซึ่ง 1) เลือกหูฟังเฉพาะเมื่อพวกเขามีการเชื่อมต่อลำโพงอื่นเป็นค่าเริ่มต้นและ 2) สลับโดยอัตโนมัติไปยังหูฟังและปิดเสียงลำโพงเมื่อคุณเสียบหูฟังในฉันจะสนใจมาก
emk2203

สิ่งนี้ใช้ได้กับฉันใน Debian Stretch แต่ฉันต้องใช้ 0 แทน 1 ซึ่งเป็นดัชนีที่ส่งคืนโดย pacmd list-sinks
Rodrigo

0

ต่อไปนี้จะช่วยคุณแก้ไขปัญหาจนกว่าคุณจะพบการแก้ไขปัญหาของคุณ

ต่อไปนี้เป็นสคริปต์สองสามตัวที่ไม่ได้ทำในสิ่งที่คุณต้องการ แต่อาจมีชิ้นส่วนทั้งหมดสำหรับสิ่งที่คุณต้องการ

อันที่สองมีสิ่งต่างๆมากมายที่ทำงานได้ แต่ฉันไม่เข้าใจจริงๆ ฉันขอโทษล่วงหน้า ;)

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

#!/bin/bash
## temporary kludge to turn the speakers back on at login

SOUND=1
if [ "${1}" == "-q" ]
then
  shift
  SOUND=0
fi

amixer set Speaker unmute > /dev/null
amixer set Speaker 100 > /dev/null
(( SOUND )) && mplayer -quiet /usr/lib/libreoffice/basis3.4/share/gallery/sounds/kongas.wav > /dev/null 2>&1

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

#!/bin/bash
## audio_select
## Copyleft 08/11/2014 - JPmicrosystems
## Last modified 05/14/2015
## Added code to detect ramdass vs halo to handle older pactl version
## Added code to tell if the audio was already selected
## If HDMI is connected, audio output is channelled to HDMI
## Otherwise it's channelled to internal audio

## From: /ubuntu/458194/switching-to-hdmi-audio-when-hdmi-is-plugged-into-a-laptop-14-04
## Script needs to be triggered by a udev rule
## Works manually now

## udevadm monitor produces the following output

## Plug in HDMI udev events
##KERNEL[11363.720327] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
##UDEV  [11363.722979] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)

## Unplug HDMI udev events
##KERNEL[11392.043367] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
##UDEV  [11392.046155] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)

## Make a script name in SCRIPT_NAME
function script_name {
  ## See if the calling script has a name string defined
  if [ -n "${NAME}" ]
  then
    SCRIPT_NAME="${NAME}"
  else
    SCRIPT_NAME="$(basename $0)"
  fi
}

## Get active audio port type
function get_active_audio_port {
  ## first very rough cut
  local ACTIVE_AUDIO_PORT_NAME
  RC=0 ## Success
  ACTIVE_AUDIO_PORT_NAME="$(pactl list | grep 'Active Port:' | awk '{print $3}')"
  case "${ACTIVE_AUDIO_PORT_NAME}" in
    "analog-output-speaker")
      ACTIVE_AUDIO_PORT="Speakers"
      ;;
     "analog-output-headphones")
      ACTIVE_AUDIO_PORT="Headphones"
      ;;
    "hdmi-output-0")
      ACTIVE_AUDIO_PORT="HDMI"
    ;;
    *)
      ACTIVE_AUDIO_PORT="Unknown"
      RC=1 ## Failure
    ;;
  esac

  return $RC
 }

##source "$HOME/bin/bash_trace" ## debug
script_name
HOST="$(hostname)"
HDMI_STATUS=$(cat /sys/class/drm/card0/*HDMI*/status)
INPUTS=($(pacmd list-sink-inputs | grep index | awk '{print $2}'))
DSPTIME=10            # yad message persistence time
YOPT="--center --on-top --title ${SCRIPT_NAME}"  # yad common options

get_active_audio_port ## Find out where audio is going now
if ((RC))
then
  yad ${YOPT} --info --button=gtk-ok:0 --text="Failed to detect current audio source" --width 250 --timeout=${DSPTIME}
  exit 1
fi

if [ $HDMI_STATUS = "connected" ]
then
  if [ "${ACTIVE_AUDIO_PORT}" == "HDMI" ]
  then
    yad ${YOPT} --info --button=gtk-ok:0 --text="Audio already set to HDMI" --width 250 --timeout=${DSPTIME}
    exit 1
  fi
  pactl set-card-profile 0 output:hdmi-stereo
  if [ "$HOST" == "ramdass" ]  ## Using newer version of pactl
  then
    pactl set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo
  else
    pactl set-sink-port alsa_output.pci-0000_00_1b.0.hdmi-stereo hdmi-output-0
  fi
  for i in ${INPUTS[*]}
  do
    pacmd move-sink-input $i alsa_output.pci-0000_00_1b.0.hdmi-stereo  &> /dev/null
  done

  yad ${YOPT} --info --button=gtk-ok:0 --text="Audio directed to HDMI" --width 250 --timeout=${DSPTIME}
else
  if [ "${ACTIVE_AUDIO_PORT}" == "Speakers" ] || [ "${ACTIVE_AUDIO_PORT}" == "Headphones" ]
  then
    yad ${YOPT} --info --button=gtk-ok:0 --text="Audio already set to Analog Output" --width 250 --timeout=${DSPTIME}
    exit 1
  fi
  pactl set-card-profile 0 output:analog-stereo
  if [ "$HOST" == "ramdass" ]  ## Using newer version of pactl
  then
    pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
  else
    pactl set-sink-port alsa_output.pci-0000_00_1b.0.analog-stereo analog-output-speaker                
  fi

  for i in ${INPUTS[*]}
  do
    pacmd move-sink-input $i alsa_output.pci-0000_00_1b.0.analog-stereo  &> /dev/null
  done

  yad ${YOPT} --info --button=gtk-ok:0 --text="Audio directed to Analog Output" --width 250 --timeout=${DSPTIME}
fi

ประเด็นก็คือว่าไม่มีสคริปต์ที่ทำงานหลังจาก lightgm (ตัวจัดการเข้าสู่ระบบ) จะเพียงพอเพียงพอ มีการเล่นเอฟเฟกต์เสียงก่อนที่คุณจะเข้าสู่ระบบสิ่งเหล่านี้จะสามารถเรียกใช้จากหลังจาก init หรือไม่
Błażej Michalik

หากเสียง "เริ่มต้น" เหล่านั้นมีความสำคัญต่อคุณดังนั้นไม่เสียงเหล่านี้อาจไม่ทำงาน ในช่วงเวลาบูทมีน้อยมาก / ในเส้นทางของคุณ - สิ่งที่จำเป็นเพื่อให้ได้สิ่งต่าง ๆ ที่เกิดขึ้น ส่วนที่เหลือเหมือนกับสิ่งที่สคริปต์เหล่านี้ใช้จะถูกเพิ่มใน PATH ในภายหลัง - เมื่อผู้ใช้ของคุณลงชื่อเข้าใช้ฉันไม่ทราบว่าเมื่อใดที่ pulseaudio เริ่มทำงาน หากคุณต้องการบู๊ตโดยไม่ต้องปลุกใครสักคน ฯลฯ ฉันไม่รู้ว่าจะจัดการกับมันอย่างไร
Joe

วิธีแก้ปัญหาแบบสุ่มอื่นคือไปหาไฟล์เสียงที่เล่น (อาจเป็น some.ogg) และแทนที่ด้วยไฟล์เงียบ ยังไม่สามารถแก้ไขปัญหาได้ แต่อาจช่วยได้ ยังขึ้นอยู่กับว่ามีสิ่งใดที่ต้องการใช้ไฟล์เสียงเหล่านั้นในภายหลัง ถ้าเป็นเช่นนั้นคุณสามารถบันทึกต้นฉบับและนำพวกเขากลับมาหลังจากการบูต แต่คุณต้องเริ่มยุ่งกับ systemd เพื่อให้ได้สิ่งที่ถูกต้องในแต่ละครั้ง
Joe

@DavidFoerster - ในขณะที่คุณถูกต้องทางเทคนิค (คำตอบของฉันเริ่มต้นด้วย "นี่ไม่ใช่คำตอบ") การให้คนที่จะเริ่มมองหาหรือเครื่องมือที่อาจช่วยแก้ปัญหานั้นเป็นวิธีที่ดีกว่า IMHO เงียบ เมื่อฉันโพสต์ไม่มีคำตอบอื่น ๆ เนื้อหาของฉันจะไม่พอดีกับความคิดเห็นหรือสตริงของความคิดเห็นและรหัสจะต้องมีการเชื่อมโยงหรืออ่านไม่ได้ หากความคิดเห็นของ SE รองรับการจัดรูปแบบเต็มฉันจะใส่โพสต์ไว้ในที่เดียว
Joe

@DavidFoerster: ดูหน้าช่วยเหลือที่คุณเชื่อมโยงไปซึ่งดูเหมือนจะเป็นคำตอบสำหรับคำถามบางส่วน มันอาจไม่ใช่คำตอบที่ดีมากแต่การพยายามหาวิธีแก้ปัญหาบางส่วนก็ทำให้มันเป็น "คำตอบ" ที่ถูกต้องโดยคำจำกัดความของคำศัพท์ SE
Ilmari Karonen

0

เอาล่ะฉันคิดว่าฉันมีบางสิ่งที่คุณสามารถลองได้
หากคุณค้นหาระบบมัลติมีเดียเลือกใน Dash เปิดและไปที่Audioแท็บซึ่งคุณสามารถเลือกอุปกรณ์อินพุตและเอาต์พุตเสียงเริ่มต้น

ควรจะติดตั้งนี้เป็นค่าเริ่มต้น sudo apt-get install gnome-mediaถ้าไม่ได้คุณสามารถเรียกใช้เสมอ หากไม่ปรากฏใน Dash ให้เรียกใช้:

gksudo gedit /usr/share/applications/gstreamer-properties.desktop. ในไฟล์ข้อความผลลัพธ์ไปที่บรรทัดขึ้นต้นด้วยNoDisplay=.Change the NoDisplay=trueto NoDisplay=false Hope ที่ช่วย!


ฉันต้องเปลี่ยนไปใช้ Ubuntu Gnome เมื่อไม่กี่วันที่ผ่านมาและที่ด้านนี้แพ็คเก็ต gnome-media นั้นไม่มีผู้สมัคร
Błażej Michalik

Alright ฉันจะดูว่าฉันจะขุดอะไรให้คุณได้บ้าง โชคดี!
James
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.