My Problem

When I start up Elementary, the audio through the computer speakers work as expected.

When I plug headphones into the audio jack, the audio doesn't come through the headphones.

Sometimes after disconnecting the headphones, the regular speaker audio will then stop working too until I restart the machine.

Having trouble connecting Bluetooth headset, my guess is Bluetooth is a separate issue for another thread (unless someone thinks it's all connected).

My Setup

Dual boot - Elementary OS Hera and MacOS Catalina (27-inch 2015 iMac)

What I've Done

  • This is the link for my ALSA information script http://alsa-project.org/db/?f=69fa3ea87565183bd98482333768713e81f66f17

  • I've run sudo apt update and sudo apt upgrade.

  • I've checked the audio settings and they seem to be fine. When I plug the headphones in they show up as the Sound Output device.

  • In opening alsamixer, I've made sure the headphone option is unmuted and volumes are raised. Same for gnome-alsamixer.

  • Forced AlsaMixer to reload

  • When I open pavucontrol, I can see the volume levels moving and receive no sound. I've tried multiple headphones.

  • Also in pavucontrol with the headphones plugged in, I've tried changing the output devices to Speakers (unavailable) and Headphones (plugged in).

  • Removed and reinstalled AlsaMixer and PulseAudio

  • Fast dispatcher is set to Run = no

I'm by no means a developer and have gotten this far in the installation through trial and error and lots of searching, so if more detail or information is needed, please let me know.

Any thoughts to resolve would be greatly appreciated.

1 Answer 1


This is a command-line PulseAudio answer. I'm not sure if you're using PulseAudio or if you are interested in a command-line answer. But I thought it could be useful to someone.

In package pulseaudio-utils there is a tool called pactl which is useful for referring specific audio sources (streams) to specific devices (sinks).

To list your audio sources (streams), use pactl list sink-inputs. In the example below, I was playing sounds from firefox and spotify. I reduced the output a little for simplicity:

$ pactl list sink-inputs

Sink Input #333
                media.name = "AudioStream"
                application.name = "AudioIPC Server"
                application.process.id = "34823"
                application.process.binary = "firefox-esr"
                application.icon_name = "firefox-esr"

Sink Input #334
                media.role = "music"
                media.name = "Spotify"
                application.name = "Spotify"
                application.process.id = "37466"
                application.process.binary = "spotify"
                application.icon_name = "spotify-client"

To list your devices (sinks), use pactl list short sinks:

$ pactl list short sinks
1       alsa_output.usb-0c76_RAMPAGE-00.analog-stereo   SUSPENDED
2       alsa_output.pci-0000_00_1b.0.analog-stereo      RUNNING
4       alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 SUSPENDED

Both streams are playing on my analog sound output (sink 2). Let's say I want to move the spotify (source 334) to my rampage headset (sink 1). In that case I would do this:

pactl move-sink-input 334 1

Not only can I now hear sound in both sources, I can see that both devices are in use:

$ pactl list short sinks
1       alsa_output.usb-0c76_RAMPAGE-00.analog-stereo   RUNNING
2       alsa_output.pci-0000_00_1b.0.analog-stereo      RUNNING
4       alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 SUSPENDED

You can also use pactl set-default-sink 1 to set the default sink for applications. It might be that your default sink jumped when devices got inserted/removed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .