web-dev-qa-db-fra.com

18.04, 16.04 Casque détecté mais non activé automatiquement après le démarrage

Edit: le problème semble également concerner le 18.04.

J'ai ce problème depuis le 15.10, mais il a vraiment commencé à bien moudre ma vitesse après une mise à niveau vers la version 16.04.

Supposons que des écouteurs soient branchés. I redémarrer\reloguer sur\boot to ubuntu et lire la musique. Il sort du haut-parleurs intégrés au lieu de casques.

Je peux voir que le des écouteurs sont détectés dans les paramètres audio menu, mais ce n’est que lorsque je change de périphérique ou que je rebranche mes écouteurs qu’ils fonctionnent.

C'était plus facile à ignorer sur 15.10, car à l'époque, après un démarrage, tout était mis en sourdine. Casques et haut-parleurs, si des casques étaient présents avant ladite mise en service.

J'ajouterais des journaux à la question, mais je ne sais pas vraiment lequel ni comment les obtenir (je suis ouvert aux suggestions). Le problème se produit sur un ordinateur portable Dell Inspiron 3537, il contient une carte son Realtek.

Il a une prise de sortie sur le côté, qui sert à la fois d’entrée et de sortie.


Sortie 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"
26

Mon point de vue serait le suivant en tirant parti de PulseAudio. En supposant que lorsque vous vous connectez à Ubuntu, vos écouteurs soient toujours connectés, procédez comme suit: assurez-vous que lorsque vous démarrez sous Ubuntu, il sera automatiquement défini comme entrée et sortie par défaut (en supposant que vous souhaitiez les deux).

Sur Ubuntu, allez sur le terminal et tapez ce qui suit pour ne rassembler que le numéro d'index:

Pour vos DISPOSITIFS DE SORTIE :

pacmd list-sinks - Il y aura beaucoup d'informations mais cherchez les numéros d'index et le périphérique correspondant qui sera votre nouveau périphérique de sortie par défaut.

Pour vos DISPOSITIFS D'ENTRÉE :

pacmd list-sink-inputs OR pacmd list-samples - Il y aura beaucoup d'informations mais cherchez les numéros d'index et le périphérique correspondant qui sera votre nouveau périphérique d'entrée par défaut. Utilisez list-samples au cas où, dans les entrées list-sink, il ne s'affiche pas.

Jusqu'à présent, sur Ubuntu, avec votre casque connecté, vous devriez avoir 2 numéros d'index. Un pour vos entrées et sorties. Nous allons maintenant éditer votre configuration par défaut pulseaudio:

Sudo nano /etc/Pulse/default.pa

Allez à la dernière ligne et ajoutez simplement ce qui suit:

set-default-sink 1 - Ceci correspond à la source de sortie après avoir examiné l'index de pacmd list-sinks. Le 1 est l'index, changez-le pour celui que vous avez obtenu.

set-default-source 5 - Ceci correspond aux sources d'entrée après avoir consulté l'index de pacmd list-sink-inputs ou pacmd list-samples. Le nombre 5 est l'index, changez-le pour celui que vous avez obtenu.

Enregistrez le fichier et redémarrez l'ordinateur à tester. Le test implique de vérifier si vous avez obtenu la valeur d’index correcte, car certains périphériques portent des noms similaires (comme NVIDIA OR INTEL Sources audio).

Si tout est correctement configuré, Ubuntu définira les entrées/sorties par défaut de votre casque à chaque démarrage de votre ordinateur. Puisque vous parlez de casques d’écoute, vous pouvez utiliser mon autre réponse pour vous aider à réduire le bruit: suppression du bruit en temps réel avec PulseAudio?

REMARQUE: Vous pouvez également utiliser pacmd list-sources pour afficher tous les périphériques. Au lieu d'utiliser le numéro d'index, vous pouvez également utiliser le nom du périphérique attribué. quelque chose comme ça:

alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel pour vous donner une idée de ce que les noms à rechercher (super long je sais). Les noms sont plus précis à utiliser mais plus difficiles à retenir, vous avez donc la possibilité d'utiliser l'un ou l'autre. Le résultat final utilisant un nom, serait comme ceci:

set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel dans le fichier default.pa, juste pour vous donner une idée.

Pour une option graphique, je recommande pavucontrol ou PulseAudio Volume Control. Il offre la possibilité de définir un périphérique comme paramètre par défaut/de secours pour les périphériques d'entrée et de sortie. Utiliser les deux techniques peut vous donner ce que vous voulez.

7
Luis Alvarado

Si vos périphériques audio sont 0 - HDMI et 1 - analogique, vous pouvez passer au casque avec

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

Pour le rendre permanent, éditez /etc/Pulse/default.pa et en bas sous ### Make some devices default put:

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

Tout devrait fonctionner maintenant comme souhaité. Assurez-vous de commenter à nouveau lorsque vous êtes fatigué d'utiliser les écouteurs.

3
emk2203

Bon, je pense que j'ai quelque chose que vous pouvez essayer.
Si vous recherchez Multimedia Systems Select sur le tableau de bord. Ouvrez-le et accédez à l'onglet Audioname__, où vous pouvez sélectionner les périphériques d'entrée et de sortie audio par défaut.

Cela devrait être installé par défaut. Si ce n'est pas le cas, vous pouvez toujours exécuter Sudo apt-get install gnome-media. S'il n'apparaît pas dans le tableau de bord, exécutez:

gksudo gedit /usr/share/applications/gstreamer-properties.desktop. Dans le fichier texte résultant, allez à la ligne qui commence par NoDisplay=. Changez le NoDisplay=true en NoDisplay=false.

0
James

Ce qui suit devrait vous aider à résoudre le problème jusqu'à ce que vous trouviez une solution à votre problème.

Voici quelques scripts qui font pas font ce que vous voulez, mais contiennent probablement toutes les pièces pour ce dont vous avez besoin.

Le second contient un tas de choses pulseaudio qui fonctionnent, mais que je ne comprends pas vraiment. Je m'excuse d'avance. ;)

Voici un script que j'avais l'habitude d'utiliser pour réactiver mes haut-parleurs après le démarrage. Il devrait être facile de modifier pour régler votre sortie audio comme vous le souhaitez.

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

Celui-ci bascule automatiquement ma sortie audio entre HDMI et la sortie analogique selon que HDMI est connecté ou non. Ce n’est pas ce que vous voulez, mais il détecte l’orientation de la sortie audio et sait comment le faire passer ailleurs.

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