12.04 以下:
如何全局禁用计算机的内置扬声器,而不必在每个用户会话中取消设置它?
我尝试将“blacklist pcspkr”添加到“/etc/modprobe.d/blacklist”中,但它仍然让 pulseaudio 使用内置扬声器。
以下 lsmod 似乎没有显示 PC 扬声器正在工作:
Module Size Used by
coretemp 13361 0
dcdbas 14098 0
snd_hda_codec_via 46188 1
microcode 18395 0
snd_hda_intel 33028 5
snd_hda_codec 116476 2 snd_hda_codec_via,snd_hda_intel
snd_hwdep 13276 1 snd_hda_codec
snd_pcm 81052 4 snd_hda_intel,snd_hda_codec
snd_seq_midi 13132 0
snd_rawmidi 25425 1 snd_seq_midi
snd_seq_midi_event 14475 1 snd_seq_midi
serio_raw 13031 0
lpc_ich 16992 0
snd_seq 51568 2 snd_seq_midi,snd_seq_midi_event
hid_generic 12445 0
snd_timer 28931 2 snd_pcm,snd_seq
snd_seq_device 14137 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 62520 17 snd_hda_codec_via,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
mac_hid 13077 0
soundcore 14635 1 snd
snd_page_alloc 14108 2 snd_hda_intel,snd_pcm
lp 17455 0
parport 40930 1 lp
usbhid 46022 0
hid 82474 2 hid_generic,usbhid
aufs 159970 69
overlayfs 27511 0
squashfs 36095 1
nbd 17427 1
r8169 56852 0
i915 470739 0
drm_kms_helper 45427 1 i915
drm 231841 2 i915,drm_kms_helper
i2c_algo_bit 13316 1 i915
video 19069 1 i915
但是我能从电脑扬声器听到音乐。
也许它是在 pulseaudio 级别,但如何进行全局更改而不是仅限于一个用户?
谢谢 !
答案1
您可以从终端尝试以下命令alsamixer
alsamixer是 alsa 提供的用于访问硬件混音器元素的 ncurses GUI,并且它能够单独关闭内部扬声器。
请参阅 alsamixer 的手册页以了解更多信息man alsamixer
另外,如果您想要原始访问声卡参数,您可以使用混频器这是 ALSA 声卡驱动程序的命令行混音器
amixer -c<n>
应该提供该清单
amixer -c<num> set <SCONTROL>
静音将通过名称静音可变控件
请务必检查 amixer 的各种值,用于选择声卡的 -c 参数也适用于 alsamixer 或 amixer。
您还可以安装 GUIalsamixer
sudo apt-get install alsamixergui
答案2
我也遇到了同样的问题。这有帮助:
https://wiki.archlinux.org/index.php/Disable_PC_Speaker_Beep
具体来说,我使用终端中的 alsa 混音器来使电脑扬声器静音。
答案3
以下是我认为可能有用的一些选项:如何禁用电脑扬声器(哔声!)
答案4
在全局禁用我的计算机的内置扬声器时,您的意思是关闭扬声器的声音。因此,当您登录或执行其他任何操作时,都不会发出声音。关闭脉冲音频守护进程即可。您可以通过在命令行中输入“pactl exit”来关闭脉冲音频守护进程,输入“pulseaudio”来打开 pulseaudo。这只是打开和关闭它。pactl 的 man 会为您提供更多信息,这些信息可能会有所帮助
我发现下面的链接很有用。这是实现我认为你想要实现的更永久的方法。我知道我不喜欢启动时发出的声音。我喜欢音量旋钮。希望这对你有帮助。