Ubuntu系统下如何禁用Rhythmbox(Gstreamer)的音量控制
Got it, let's tackle this since you're going for that pure, unaltered audio output with your Raspberry Pi 3 hi-fi build—super relatable for a audiophile setup. Here are the reliable ways to disable volume control in Rhythmbox (backed by GStreamer) on Ubuntu, tailored to your Hiface Evo + DAC setup:
Since you're already using ALSA with your Hiface Evo, this is the most direct approach to skip any volume-adjustment layers entirely:
- Open Rhythmbox, go to
Edit > Preferences > Audio - In the "Output Plugin" dropdown, select ALSA Output (if it's missing, install the required GStreamer component first with
sudo apt install gstreamer1.0-alsa) - Click the "Configure" button next to it:
- Select your Hiface Evo's exact ALSA device (you can find its ID with
aplay -l—look for something likehw:1,0) - Look for the "Volume Control" option and set it to Disabled. Alternatively, manually specify the GStreamer pipeline as
alsasink device=hw:X,Y volume=1.0(replace X,Y with your device's ID) to lock output at full volume with no adjustment capabilities
- Select your Hiface Evo's exact ALSA device (you can find its ID with
- Save your settings and restart Rhythmbox
For a more thorough lock-down, you can completely remove the volume slider from Rhythmbox's interface and prevent any background changes to output volume:
- Install dconf-editor if you don't have it:
sudo apt install dconf-editor - Open dconf-editor and navigate to
org > gnome > Rhythmbox > player - Toggle
volume-control-visibletofalse—this removes the volume slider from Rhythmbox's main window - Next, go to
org > gnome > Rhythmbox > audio - Set
output-volumeto1.0(full volume), then click the lock icon next to it to prevent any process from modifying this value
If Ubuntu's default PulseAudio stack is inserting unwanted volume controls, you can force Rhythmbox to use ALSA in exclusive mode to take direct control of your Hiface Evo:
- First, set up a custom ALSA device profile by creating/editing
~/.asoundrcwith this content (replace the card/device numbers with your Hiface Evo's ID fromaplay -l):pcm.hiface_evo { type hw card 1 device 0 } ctl.hiface_evo { type hw card 1 device 0 } - Go back to Rhythmbox's audio preferences, select ALSA Output, and choose the
hiface_evodevice you just defined - Restart Rhythmbox, and if you're running PulseAudio, restart it with
systemctl --user restart pulseaudio—the exclusive ALSA device will bypass Pulse's volume handling entirely
After setting any of these up, test playback to confirm: check that system volume sliders (like the one in Ubuntu's top bar) have no effect on your audio output, and Rhythmbox has no visible volume controls. Since your Hiface Evo has no hardware/software volume controls, this will ensure your signal path stays completely unaltered.
内容的提问来源于stack exchange,提问作者Marco Casella

