1. PulseAudio got muted for system sounds (most common)
I know this is annoying: your login chime plays, but then nothing. No email alert, no chat notification, no error sound. You test with speaker-test and hear noise, so the hardware is fine.
The real culprit? PulseAudio often mutes the system sound channel after login. The login sound uses a different path (usually via the motherboard beeper or a dedicated ALSA stream), but the desktop environment relies on PulseAudio's event or notification sink.
Fix: unmute and raise the system sound volume
- Open a terminal and run
pavucontrol(install withsudo apt install pavucontrolif missing). - Go to the Playback tab. Look for anything called "System Sounds", "Event", or "Notification".
- Make sure the mute button (speaker icon) is not crossed out — click to unmute.
- Drag the volume slider to at least 70%.
Still silent? Check the Output Devices tab. Your sound card might be set to a wrong profile. Click the green checkmark next to the right output (like "Speakers" or "Headphones"). Then in the terminal, run:
pactl set-sink-mute @DEFAULT_SINK@ 0
pactl set-sink-volume @DEFAULT_SINK@ 70%
This forces unmute and sets volume. Then test by running paplay /usr/share/sounds/freedesktop/stereo/complete.oga — you should hear the sound.
Pro tip: On Ubuntu 22.04+, the default sound theme is Yaru. Ifpaplayfails, installsound-theme-freedesktopwithsudo apt install sound-theme-freedesktop.
2. Desktop environment sound settings are off
Sometimes PulseAudio is fine, but your desktop environment (GNOME, KDE, Xfce) has its own mute switch for system sounds. This tripped me up the first time too — the login chime bypasses the desktop mixer, but everything else goes through it.
Fix: check your desktop sound preferences
For GNOME (Ubuntu, Fedora, Debian with GNOME):
- Open Settings → Sound.
- Scroll down to System Sounds. Make sure the toggle is ON.
- Under Alert Sound, pick a sound and test it.
- Also check the Output device — if it's set to "HDMI" but you're using speakers, change it to "Analog Output".
For KDE Plasma:
- Open System Settings → Audio → Volume.
- Click Application Volume tab. Look for "System Sounds" — it might be muted there.
- Go to Notifications → Configure and enable "Play a sound" for events you want.
For Xfce:
- Open Settings → Audio.
- In System Sounds tab, check "Enable system sounds".
- Make sure the Sound Theme is set to something (like "freedesktop").
After changing settings, log out and back in. If sounds still don't play, the desktop daemon might need a restart: pulseaudio -k && pulseaudio --start.
3. PulseAudio daemon crashed or misconfigured
This is the sneaky one. PulseAudio starts, plays the login sound, then crashes or gets into a bad state. You won't see an error — it just stops working silently.
Fix: restart PulseAudio and check config
- Run
pulseaudio -kto kill the daemon. Thenpulseaudio --startto restart it. - Test with
paplay /usr/share/sounds/freedesktop/stereo/message.oga. - If it works, the issue was a temporary crash. To make sure it doesn't happen again, check the systemd service:
systemctl --user status pulseaudio. If it's dead, enable it:systemctl --user enable pulseaudio && systemctl --user start pulseaudio.
Still failing? Look at the default sink config:
pactl info | grep "Default Sink"
If it says auto_null or something weird, run:
pactl set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo
Replace the sink name with yours. Find it with pactl list short sinks.
One more thing: If you recently switched from PulseAudio to PipeWire, the login sound might play via ALSA directly while PipeWire handles other sounds. Installwireplumberandpipewire-pulse, then restart:systemctl --user --now enable pipewire pipewire-pulse wireplumber.
Quick-reference summary table
| Cause | Symptom | Fix |
|---|---|---|
| PulseAudio system sound muted | No event sounds, but login works | Run pavucontrol, unmute "System Sounds" |
| Desktop environment settings | GNOME/KDE/Xfce sound off | Enable system sounds in Settings → Sound |
| PulseAudio daemon crash | Sounds stop after login | pulseaudio -k && pulseaudio --start |
| Wrong ALSA/PipeWire setup | PipeWire but login uses ALSA | Install pipewire-pulse and wireplumber |
Most of the time, it's cause #1. If that doesn't work, move through #2 and #3. And don't forget to test after each fix — run paplay with a sound file to confirm.