18.04, 16.04 Auscultadores detectados, mas não ligados automaticamente após o arranque

25

Edit: o problema parece afetar também o 18.04.

Eu tenho esse problema desde 15,10, mas ele começou a realmente triturar minhas engrenagens depois de fazer um upgrade para o 16.04.

Digamos que eu tenha fones de ouvido conectados. Eu reinicio \ relog on \ boot para o ubuntu e reproduzo a música. Ele sai do alto-falantes embutidos em vez de fones de ouvido .

Eu posso ver que os fones de ouvido são detectados dentro do menu de configurações de áudio , mas somente depois que eu mudo o dispositivo ou reconecto meus fones de ouvido eles funcionam.

Isso foi mais fácil de ignorar em 15.10, porque naquela época, depois de uma inicialização, tudo era silenciado. Fones de ouvido e alto-falantes, se fones de ouvido estavam presentes antes da partida.

Eu adicionaria logs à pergunta, mas eu realmente não sei o que, ou como obtê-los (estou aberto a sugestões). O problema ocorre em um Dell Inspiron 3537 laptop , ele tem uma placa de som Realtek dentro.

Tem um conector de saída na lateral, que atua como entrada e saída.

Saída de 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"
    
por Błażej Michalik 09.05.2016 / 05:49

5 respostas

7

Minha opinião sobre isso seria a seguinte, aproveitando o PulseAudio. Supondo que quando você logar no Ubuntu, você sempre tenha seus fones de ouvido conectados, então o seguinte irá garantir que quando você inicializar o Ubuntu ele irá automaticamente configurá-lo como entrada e saída padrão (assumindo que você quer ambos).

No Ubuntu, vá até o terminal e digite o seguinte, a partir do qual você apenas reunirá o Número de índice:

Para seus OUTPUT DEVICES :

pacmd list-sinks - Haverá muitas informações, mas procure os números de índice e o dispositivo correspondente que será seu novo dispositivo de saída padrão.

Para seus INPUT DEVICES :

pacmd list-sink-inputs OR pacmd list-samples - Haverá muitas informações, mas procure os números de índice e o dispositivo correspondente que será seu novo dispositivo de entrada padrão. Use as list-samples no caso das list-sink-inputs que ele não mostra.

Até agora, no Ubuntu, com seus fones de ouvido conectados, você deve ter dois números de índice. Um para sua entrada e saída. Agora vamos editar sua configuração padrão pulseaudio:

sudo nano /etc/pulse/default.pa

Vá até a última linha e adicione o seguinte:

set-default-sink 1 - corresponde à Fonte de saída depois de analisar o índice de pacmd list-sinks . O 1 é o índice, então mude para o que você tem.

set-default-source 5 - corresponde às Fontes de entrada depois de analisar o índice de pacmd list-sink-inputs ou pacmd list-samples . O número 5 é o índice, então mude para o que você tem.

Salve o arquivo e reinicie o computador para testar. O teste envolve verificar se você obteve o valor de índice correto, pois alguns dispositivos têm nomes semelhantes (como fontes de áudio NVIDIA OR INTEL).

Se tudo estiver configurado corretamente, toda vez que você inicializar seu computador, você verá o Ubuntu configurando a Entrada / Saída padrão para o seu fone de ouvido. Desde que você está falando sobre fones de ouvido, para redução de ruído você pode usar minha outra resposta para ajudá-lo com isso: Remoção de ruído em tempo real com o PulseAudio?

OBSERVAÇÃO: Você também pode usar pacmd list-sources para ver todos os dispositivos e, em vez de usar o número do índice, pode usar o nome do dispositivo atribuído, semelhante a este:

alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel para dar uma ideia de quais nomes procurar (Super long, eu sei). Os nomes são mais precisos de usar, mas mais difíceis de lembrar, então você tem uma opção aqui para usar um ou outro. O resultado final usando um nome seria assim:

set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel no arquivo default.pa, só para ter uma ideia.

Para uma opção de GUI, recomendo pavucontrol ou PulseAudio Volume Control. Ele oferece uma opção para definir um dispositivo como padrão / fallback para dispositivos de entrada e saída. Usar as duas técnicas pode dar o que você quer.

    
por Luis Alvarado 14.05.2016 / 20:49
3

Se os seus dispositivos de som forem 0 - HDMI e 1 - analógico, você pode alternar para fones de ouvido com

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

Para torná-lo permanente, edite /etc/pulse/default.pa e na parte inferior em ### Make some devices default put:

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

Tudo deve funcionar agora como desejado. Certifique-se de comentar isso novamente quando estiver cansado de usar os fones de ouvido.

    
por emk2203 15.05.2016 / 18:00
0

Os itens a seguir devem ajudá-lo a solucionar o problema até encontrar uma correção para o problema.

A seguir, alguns scripts que fazem não fazer o que você quer, mas provavelmente contêm todas as partes do que você precisa.

O segundo contém um monte de coisas pulseaudio que funciona, mas que eu realmente não entendo. Peço desculpas, com antecedência. ;)

Aqui está um script que eu costumava usar para ativar meus alto-falantes depois da inicialização. Deve ser fácil de modificar para definir sua saída de áudio conforme desejado.

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

Este muda automaticamente minha saída de som entre HDMI e saída analógica dependendo se o HDMI está conectado ou não. Não é o que você quer, mas detecta onde a saída de áudio está indo e sabe como mudá-la para outro lugar.

#!/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://sobrelinux.info/questions/12631/switching-to-hdmi-audio-when-hdmi-is-plugged-into-a-laptop-14-04"${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
    
por Joe 12.05.2016 / 00:25
0

Tudo bem, acho que tenho algo que você pode tentar.
Se você procurar por Sistemas de multimídia, selecione no Dash. Abra-o e vá para a guia Audio , onde você pode selecionar os dispositivos de entrada e saída de áudio padrão.

Isso deve ser instalado por padrão. Se não for, você sempre pode executar %código%. Se não for mostrado no Dash, execute:

sudo apt-get install gnome-media . No arquivo de texto resultante, vá para a linha que começa com gksudo gedit /usr/share/applications/gstreamer-properties.desktop Altere o NoDisplay=. para NoDisplay=true Espero que ajude!

    
por James 19.05.2016 / 02:05
-3

Existem duas possibilidades.

No BIOS, escolha áudio HD para AC'97 (que funcionou para mim) ou no tipo de terminal:

sudo apt-get install  kubuntu-desktop

e escolha o KDE.

    
por Tiago Costa 28.07.2016 / 01:27