18.04, 16.04 Наушники обнаружены, но не включаются автоматически после запуска

Изменить: проблема, кажется, также влияет на 18.04.

У меня есть эта проблема с 15.10, но она начала по-настоящему ломать мои шестерни после обновления до 16.04.

Допустим, у меня подключены наушники. Я перезагружаюсь \ перезагружаюсь \ загружаюсь в 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"

5 ответов

Мое мнение об этом будет следующим: воспользоваться 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).

Если все настроено правильно, при каждой загрузке компьютера вы должны увидеть, что Ubuntu устанавливает вход / выход по умолчанию для ваших наушников. Поскольку вы говорите о наушниках, для уменьшения шума вы можете использовать мой другой ответ, чтобы помочь вам в этом: удаление шума в реальном времени с PulseAudio?

ПРИМЕЧАНИЕ: вы также можете использовать pacmd list-sources чтобы увидеть все устройства, а также вместо использования номера индекса вы можете использовать имя назначенного устройства, которое выглядит примерно так:

alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel чтобы дать вам представление о том, какие имена искать (супер долго я знаю). Имена более точны в использовании, но их труднее запомнить, поэтому у вас есть возможность использовать одно или другое. Конечный результат, использующий имя, будет выглядеть так:

set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00.analog-mono.echo-cancel в файле default.pa, просто чтобы дать вам представление.

Для графического интерфейса я рекомендую pavucontrol или PulseAudio Регулятор громкости. Он предлагает возможность установить устройство по умолчанию / резервный для устройств ввода и вывода. Использование обоих методов может дать вам то, что вы хотите.

Если ваши звуковые устройства имеют 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

Все должно работать сейчас, как хотелось бы. Убедитесь, что вы прокомментируете это снова, когда вы устали от использования наушников.

Сделать rm -rf ~/.pulse ~/.config/pulse работал как шарм.

Следующее должно помочь вам обойти проблему, пока вы не найдете решение вашей проблемы.

Ниже приведена пара сценариев, которые не выполняют то, что вы хотите, но, вероятно, содержат все части для того, что вам нужно.

Второй содержит кучу импульсов, которые работают, но которые я не совсем понимаю. Я заранее прошу прощения.;)

Вот скрипт, который я использовал, чтобы включить мои колонки после загрузки. Это должно быть легко изменить, чтобы настроить ваш аудио выход по желанию.

#!/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: https://Ask-ubuntu.ru/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

Хорошо, я думаю, у меня есть кое-что, что вы можете попробовать.
Если вы ищете мультимедийные системы, выберите на приборной панели. Откройте его и перейдите к Audio вкладка, где вы можете выбрать аудио устройства ввода и вывода по умолчанию.

Это должно быть установлено по умолчанию. Если это не так, вы всегда можете запуститьsudo apt-get install gnome-media, Если это не показано в Dash, запустите:

gksudo gedit /usr/share/applications/gstreamer-properties.desktop, В полученном текстовом файле перейти к строке начинается с NoDisplay=. Изменить NoDisplay=true в NoDisplay=falseНадеюсь, это поможет!

Есть две возможности.

Либо в BIOS, выберите HD audio для AC'97 (который работал у меня), либо в типе терминала:

sudo apt-get install  kubuntu-desktop

и выберите KDE.

Другие вопросы по тегам