![在 Ubuntu 16.04 回归中关闭主板/PC 扬声器“哔”声](https://linux22.com/image/1088263/%E5%9C%A8%20Ubuntu%2016.04%20%E5%9B%9E%E5%BD%92%E4%B8%AD%E5%85%B3%E9%97%AD%E4%B8%BB%E6%9D%BF%2FPC%20%E6%89%AC%E5%A3%B0%E5%99%A8%E2%80%9C%E5%93%94%E2%80%9D%E5%A3%B0.png)
我看到内核模块pcspkr
在 Ubuntu 16.04 中被列入黑名单,而且当我执行时lsmod
它确实没有显示出来。但是当按下←或在文件顶部时,我仍然会在终端或 GUI 编辑器中听到恼人的响亮哔声。按下和在文件底部时,也会听到↑同样疯狂的哔声。→↓
我尝试下载beep
命令并覆盖pcskr
,该命令可能已被列入黑名单,但没有任何效果。
我阅读了有关 pulseaudio X-11 铃声功能的文章,并尝试设置它以发出柔和的chime
声音,但也没有成功。
我搜索了这个主题,唯一找到的是一位用户想要反向关闭敲木声并打开经典蜂鸣声。
希望其他人也对这种 1980 年代风格的哔哔声感到厌烦,并能为我指明正确的方向。提前致谢。
编辑1
我今天早上阅读了各种错误报告,但似乎人们想铃铛没有像我一样试图摆脱它。
找到一个看起来很有希望的目录:ls /usr/share/sounds/ubuntu/stereo/
bell.ogg desktop-logout.ogg message-new-instant.ogg service-login.ogg
button-pressed.ogg dialog-error.ogg message.ogg service-logout.ogg
button-toggle-off.ogg dialog-information.ogg phone-incoming-call.ogg system-ready.ogg
button-toggle-on.ogg dialog-question.ogg phone-outgoing-busy.ogg window-slide.ogg
desktop-login.ogg dialog-warning.ogg phone-outgoing-calling.ogg
ogg123
找到了一个通过终端播放音乐文件的漂亮程序。我认为它是在 Ubuntu 16.04 中默认安装的。
当你输入:ogg123 /usr/share/sounds/ubuntu/stereo/message.ogg
Audio Device: PulseAudio Output
Playing: /usr/share/sounds/ubuntu/stereo/message.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
...您会听到悦耳的泡泡破裂声。按下↑并切换message.ogg
到bell.ogg
,您会听到低音鼓节奏(不像信息.ogg但比嘟)。 此外ogg123将声音播放到默认声音设备(在我的情况下是 HDMI 电视),而不是 PC 扬声器。我认为如果声音通过包含生成警报的活动窗口的设备播放会更好。
从启动器中选择:,,System Settings
如下所示:Sound
Sound Effects
现在的挑战是将系统声音放入音效警报窗口。之后,根据错误报告,选择它们并使其表现得恰当可能会成为一个新的挑战。
编辑 2-使用 GUI 方法探索声音
使用Nautilus
它可以更轻松地探索声音目录。只需单击声音文件,Rhythm Box
(默认)就会播放它们。通过 GUI 进行探索,子目录notifications
比子目录包含更多合适的警报stereo
。以下是示例屏幕:
答案1
经过大量搜索后,我发现在终端中输入以下内容是可行的:
pactl upload-sample /usr/share/sounds/ubuntu/stereo/message.ogg bell.ogg
它会发出柔和的气泡爆裂声,而不是恼人的哔哔声。所有其他文件都可以从和.ogg
中使用。/usr/share/sounds/ubuntu/stereo
/usr/share/sounds/ubuntu/notifications
下一步是使其持久,但至少经过长时间的搜索已经取得了进展!
编辑 1-使其持久
互联网搜索建议输入:
pactl upload-sample /usr/share/sounds/ubuntu/stereo/message.ogg bell.ogg
进入文件~/.profile
,但不起作用。也许脉冲音频那时没跑步吗?
所以我最终把它放到了Startup Applications
这个屏幕中:
现在它令人讨厌嘟嘟声terminal
消失了,然后柔和的气泡破裂声就像在和中一样起作用gedit
。
编辑 2 - 创建 bash playall、默认和菜单脚本
无需切换目录来选择每日钟声我创建了一个新目录并从/usr/share/sounds/.../...
那里复制了声音候选:
$ ls /usr/local/bin/bell/sounds
Amsterdam.ogg Blip.ogg Mallet.ogg Positive.ogg Slick.ogg
bell.ogg default.ogg message.ogg Rhodes.ogg
Ctrl接下来我创建了一个脚本来对目录中的所有声音进行采样。如果给定的声音文件播放时间过长,您可以使用+跳到结尾C。
$cat /usr/local/bin/playall-bells
#! /bin/bash
# NAME: playall-bells
# PATH: /usr/local/bin
# DESC: Play all songs in directory /usr/local/bin/bell/sounds.
# Parameter 1 can override to different directory.
# CALL: Typically call with "playall-bells" (no parameters).
# DATE: Created Sep 30 2016.
DIRNAME="$1"
# if no parameters set DIRNAME to bell/sounds
if [ $# == 0 ]; then
DIRNAME=/usr/local/bin/bell/sounds
fi
# Cookie cutter debug section. Remove # from echo's
#echo "********************************************************"
#echo "* *"
#echo "* THE DIRECTORY IS: $DIRNAME"
#echo "* *"
#echo "********************************************************"
for file in $DIRNAME
do
printf $DIRNAME
ogg123 $DIRNAME # If a sound plays too long <Ctrl>+C for next
done
一个特殊的声音文件default.ogg
用于设置启动时的铃声。为了设置默认值,我们创建了一个新脚本。
$cat /usr/local/bin/load-default-bell
#! /bin/bash
# NAME: load-default-bell
# PATH: /usr/local/bin
# `.ogg` sound files are stored in `/usr/local/bin/bell/sounds`
# DESC: Load bell sound to pulseaudio.
# CALL: Call with "load-default-bell" (no parameters)
# Does not work in "~/.profile" as some users suggest
# Works in "Startup Applications" locatable by "Dash"
# DATE: Created Sep 30 2016.
# UPDT: Oct 1 2016 - Play new bell sound after load to pulseaudio.
# Oct 2 2016 - bell-select-menu has been created to manage default.
# NOTE: Use Nautilus or Terminal Menu to copy desired <sound>.ogg to
# default.ogg. This sound in turn is uploaded to pulse-audio.
# New script `bell-select-menu` will update default sound file.
# Name of the game is to replace annoying motherboard speaker
# beep which is a regression in Ubuntu 16.04.
pactl upload-sample /usr/local/bin/bell/sounds/default.ogg bell.ogg
printf '\a' # play new bell sound
与上述新脚本相一致,Startup Applications
上述内容已更改为如下所示:
最后一步是创建一个 bash 菜单来播放所有声音、收听单个声音并将最后收听的单个声音更新为默认值。菜单设计取自这个 askubuntu 问题:根据文件列表创建 bash 菜单(将文件映射到数字)。如果您喜欢我的菜单,您应该转到该问题并对该作者的答案投赞成票。
$cat /usr/local/bin/bell-select-menu
#! /bin/bash
# NAME: bell-select-menu
# PATH: /usr/local/bin
# DESC: Present menu of bell sounds to listen to all, listen to one and update default.
# CALL: bell-select-menu
# DATE: Created Oct 1, 2016.
echo "The following /usr/local/bin/bell/sounds were found"
# set the prompt used by select, replacing "#?"
PS3="'a' to hear to all files, use number to hear a single file,
'u' to update last single file heard as new default, or 'q' to quit: "
lastfile="none"
# allow the user to choose a file
select filename in /usr/local/bin/bell/sounds/*.ogg
do
# leave the loop if the user types 'q'
if [[ "$REPLY" == q ]]; then break; fi
# play all if the user types 'a'
if [[ "$REPLY" == a ]]
then
playall-bells
continue
fi
# update last file name as new default if the user types 'u'
if [[ "$REPLY" == u ]]
then
if [[ "$lastfile" == none ]]
then
echo "No file was selected."
break
fi
echo "$lastfile selected"
cp $lastfile /usr/local/bin/bell/sounds/default.ogg
load-default-bell
break
fi
# complain if no file was selected, and loop to ask again
if [[ "$filename" == "" ]]
then
echo "'$REPLY' is not a valid number"
continue
else
lastfile="$filename"
fi
# listen to the selected file
ogg123 "$filename"
# loop back to ask for another
continue
done
这种设计的缺点是当您选择play all
菜单时,菜单会滚动出屏幕,您需要向后滚动窗口才能再次看到选项。
呼就是这样。