我尝试让系统蜂鸣器工作,但没有成功。我使用了echo -e '\a'
应用beep
程序。
我尝试modprobe pcspkr
在命令行中输入,并确保 pcspkr 未列在 modprobe 黑名单中。我还启用了
- 从 Gnome 桌面:系统 → 声音 → 系统蜂鸣 → 启用蜂鸣声,
- 从终端窗口:编辑 → 常规 → 终端铃声。
但这并没有解决问题。
我的电脑是 IBM Thinkpad iSeries 笔记本电脑。我知道我的硬件扬声器可以正常工作,因为如果在启动时电池电量不足,它就会发出哔哔声。
答案1
这可能是一个可行的解决方案
有时会发生的情况是,pcspkr
可能会被添加到黑名单,将其从黑名单中删除
/etc/modprobe.d/blacklist
如果存在,请编辑并删除这些行:(注意:您需要编辑/etc/modprobe.d/blacklist.conf
)
# get rid of system beep
blacklist pcspkr
重新启动以停用此线路。要禁用扬声器(发出哔声),请添加这些线路并重新启动。
这也许能解决您的问题。如果我们知道系统详细信息,可以提供更多信息。
如果这不能解决您的问题,请尝试运行sudo modprobe pcspkr
。
答案2
我的笔记本电脑没有 PC 扬声器,所以我需要一个纯软件解决方案。我找到了一篇关于设置 GNOME 的文章播放系统蜂鸣声的音频文件。
这个想法是设置 xkbevd(1) 在发生某个事件时运行命令;在本例中为事件Bell
。对于 Ubuntu 9.04 Jaunty(可能还有以前的版本),提供的许多声音文件都是 ogg vorbis 格式而不是 wave 格式,因此根据您想要在终端铃声上播放的声音,使用 aplay(1) 可能不起作用。如果您还没有安装 vorbis-tools 包,则需要安装它:
sudo aptitude install vorbis-tools
之后,您需要创建~/.xkb/xkbevd.cf
(请注意拼写,文章这里有一个错别字)并插入以下内容:
soundDirectory="/usr/share/sounds/"
soundCmd="ogg123 -q"
Bell() "ubuntu/stereo/bell.ogg"
为了让守护进程在登录时运行,您可以按照文章的建议编辑您的配置文件,或者您可以将其添加到您的启动应用程序(系统 -> 首选项 -> 启动应用程序)。单击添加以创建一个新的启动程序,将名称设置为XKB Event Daemon
,将命令设置为xkbevd -bg
,将注释设置为Software terminal bell
。
答案3
我也遇到了同样的问题。对于我来说,通过在控制台上打开“alsamixer”并取消静音“Beep”滑块解决了这个问题。
答案4
检查 pcspkr 模块当前是否已加载
$ lsmod | grep pcspkr
pcspkr 10496 0检查/var/log/dmesg中是否有相关错误
$ sudo grep pcspkr /var/log/dmesg
[ 15.620198] 输入:PC 扬声器为 /devices/platform/pcspkr/input/input8
如果仍然没有线索,请对 /var/log/dmesg 进行全面手动检查,以查找其他错误。使用今天的时间戳快速 grep /var/log/* 中的其他日志也可能会找到一些结果。
上述步骤仅帮助您缩小可能的问题范围。对于此类问题,很难立即猜出答案。