18.04, 16.04 Cuffie rilevate, ma non accese automaticamente dopo l'avvio

24

Modifica: il problema sembra interessare anche il 18.04.

Ho questo problema dal 15.10, ma ha iniziato a rettificare davvero le mie risorse dopo aver effettuato l'aggiornamento alla 16.04.

Diciamo che ho le cuffie collegate. I reboot \ relog on \ boot to ubuntu, e suona la musica. Esce dagli altoparlanti incorporati anziché dalle cuffie .

Vedo che le cuffie vengono rilevate all'interno delle impostazioni audio , ma solo dopo aver cambiato il dispositivo o aver sostituito le cuffie funzionano.

Questo era più facile da ignorare in 15.10, perché all'epoca, dopo un avvio, tutto era disattivato. Cuffie e altoparlanti, se le cuffie erano presenti prima del suddetto avvio.

Vorrei aggiungere i log alla domanda, ma non so davvero quale o come ottenerli (sono aperto ai suggerimenti). Il problema si verifica su un laptop Dell Inspiron 3537 , con all'interno una scheda audio Realtek.

Ha un jack di uscita sul lato, che funge da input e output.

Output di 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"
    
posta Błażej Michalik 09.05.2016 - 05:49

5 risposte

6

La mia opinione su questo sarebbe il seguente sfruttamento di PulseAudio. Supponendo che quando si accede a Ubuntu, le cuffie siano sempre collegate, quindi quanto segue farà in modo che quando si avvia ad Ubuntu lo imposterà automaticamente come input e output predefiniti (presupponendo di volere entrambi).

Su Ubuntu vai al terminale e digita quanto segue da cui raccoglierai solo il numero indice:

Per i tuoi DISPOSITIVI DI OUTPUT :

pacmd list-sinks - Ci saranno molte informazioni, ma cerca i numeri indice e il dispositivo corrispondente che sarà il tuo nuovo dispositivo di output predefinito.

Per i tuoi DISPOSITIVI DI INPUT :

pacmd list-sink-inputs OR pacmd list-samples - Ci saranno molte informazioni, ma cerca i numeri indice e il dispositivo corrispondente che sarà il tuo nuovo dispositivo di input predefinito. Utilizza gli esempi di lista nel caso in cui gli input del sink di elenco non vengano visualizzati.

Fino a questo punto, su Ubuntu, con le cuffie collegate, dovresti avere 2 numeri indice. Uno per il tuo input e output. Ora andremo a modificare la configurazione predefinita di pulseaudio:

sudo nano /etc/pulse/default.pa

Vai all'ultima riga e aggiungi semplicemente:

set-default-sink 1 - Corrisponde al Origine di output dopo aver esaminato l'indice di pacmd list-sinks . L'1 è l'indice, quindi sostituiscilo con quello che hai.

set-default-source 5 - Corrisponde alle sorgenti di input dopo aver esaminato l'indice di pacmd list-sink-inputs o pacmd list-samples . Il numero 5 è l'indice, quindi sostituiscilo con quello che hai ottenuto.

Salvare il file e riavviare il computer per testarlo. Il test prevede di verificare se il valore dell'indice è corretto, poiché alcuni dispositivi hanno nomi simili (come le origini audio NVIDIA o INTEL).

Se tutto è configurato correttamente, ogni volta che avvii il tuo computer, dovresti vedere Ubuntu che imposta l'input / output predefinito sulla tua cuffia. Dato che stai parlando di Cuffie, per Riduzione del rumore puoi usare la mia altra risposta per aiutarti: Rimozione del rumore in tempo reale con PulseAudio?

NOTA: Puoi anche usare pacmd list-sources per vedere tutti i dispositivi e inoltre, invece di usare il numero di indice, puoi usare il nome del dispositivo assegnato, che assomiglia a questo:

alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel per darti un'idea di quali nomi cercare (Super long so). I nomi sono più precisi da usare ma più difficili da ricordare, quindi puoi usare l'una o l'altra opzione qui. Il risultato finale utilizzando un nome, sarebbe come questo:

set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel nel file default.pa, solo per darti un'idea.

Per l'opzione GUI, ti consiglio pavucontrol o PulseAudio Volume Control. Offre un'opzione per impostare un dispositivo come predefinito / fallback per i dispositivi di input e output. L'utilizzo di entrambe le tecniche potrebbe darti quello che vuoi.

    
risposta data Luis Alvarado 14.05.2016 - 20:49
3

Se i tuoi dispositivi audio sono 0 - HDMI e 1 - analogico, puoi passare alle cuffie con

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

Per renderlo permanente, modifica /etc/pulse/default.pa e in fondo sotto ### Make some devices default put:

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

Tutto dovrebbe funzionare ora come desiderato. Assicurati di commentarlo di nuovo quando sei stanco di usare le cuffie.

    
risposta data emk2203 15.05.2016 - 18:00
0

Quanto segue dovrebbe aiutarti a risolvere il problema finché non trovi una soluzione al tuo problema.

I seguenti sono un paio di script che non fanno ciò che vuoi, ma probabilmente contengono tutti i pezzi per quello che ti serve.

Il secondo contiene un sacco di cose pulseaudio che funzionano, ma che non capisco davvero. Mi scuso in anticipo. ;)

Ecco uno script che usavo per riaccendere gli altoparlanti dopo l'avvio. Dovrebbe essere facile da modificare per impostare l'uscita audio come desiderato.

#!/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

Questo cambia automaticamente l'uscita audio tra HDMI e uscita analogica a seconda che l'HDMI sia collegato o meno. Non è quello che vuoi, ma rileva dove si trova l'uscita audio e sa come cambiarlo da qualche altra parte.

#!/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: https://askubuntu.com/questions/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
    
risposta data Joe 12.05.2016 - 00:25
0

Bene, penso di avere qualcosa che puoi provare.
Se cerchi Multimedia Systems Select su Dash. Aprilo e vai alla scheda Audio , in cui puoi selezionare i dispositivi di input e output audio predefiniti.

Questo dovrebbe essere installato di default. Se non lo è, puoi sempre correre %codice%. Se non è mostrato in Dash, esegui:

sudo apt-get install gnome-media . Nel file di testo risultante, vai alla riga inizia con gksudo gedit /usr/share/applications/gstreamer-properties.desktop Cambia il NoDisplay=. in NoDisplay=true Spero che ti aiuti!

    
risposta data James 19.05.2016 - 02:05
-3

Ci sono due possibilità.

Nel BIOS, scegli l'audio HD in AC'97 (che ha funzionato per me) o nel tipo di terminale:

sudo apt-get install  kubuntu-desktop

e scegli KDE.

    
risposta data Tiago Costa 28.07.2016 - 01:27

Leggi altre domande sui tag