问题描述
我试图使系统发出蜂鸣声,但没有成功。我使用了echo -e '\a'
和beep
应用程序。
我尝试在命令行中输入modprobe pcspkr
,并确保pcspkr不在modprobe黑名单中列出。我也启用了
-
从Gnome桌面:系统→声音→系统提示音→启用蜂鸣声,
-
在终端窗口中:编辑→常规→终端响铃。
但是,这不能解决问题。
我的计算机是IBM Thinkpad iSeries笔记本电脑。我知道我的硬件扬声器可以工作,因为如果启动时电池电量不足,则会发出蜂鸣声。
最佳思路
这可能是一种解决方案
有时会发生的情况是可能将pcspkr
添加到黑名单中,以将其从黑名单中删除
编辑/etc/modprobe.d/blacklist
并删除这些行(如果存在):(注意:您需要编辑/etc/modprobe.d/blacklist.conf
)
# get rid of system beep
blacklist pcspkr
重新启动以禁用此线路。要禁用扬声器(发出蜂鸣声),请添加这些线路并重新启动。
这可能会解决您的问题。如果我们知道系统详细信息,可以提供更多信息。
如果那不能解决您的问题,请尝试运行sudo modprobe pcspkr
。
次佳思路
我的笔记本电脑没有PC扬声器,因此我需要software-only解决方案。我找到了有关将GNOME设置为play an audio file for the system beep的文章。
这个想法是将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
。
第三种思路
我有同样的问题。对我来说,可以通过在控制台上打开”alsamixer”并取消使”Beep”滑块静音来解决。
第四种思路
-
检查是否已加载pcspkr模块。 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进行完整的手动检查,以查找其他错误。使用今天的时间戳快速浏览/var /log /*中的其他日志也可能会有所帮助。
以上步骤只是为了帮助您缩小可能出现的问题。由于存在此类问题,可能很难立即猜出答案。
第五种思路
在Ubuntu 14.04(可能还有其他)上,module-x11-bell模块尝试播放bell.ogg示例,该示例未加载到PulseAudio的示例缓存中。作为一种手动加载方法,请在终端中键入以下内容:
pactl upload-sample /usr/share/sounds/ubuntu/stereo/bell.ogg bell.ogg
要使其永久存在,请在主目录.xprofile中添加上述行(如果尚不存在,则创建它)。
此命令将告诉您是否已加载样本:
pactl list samples
第六种思路
首先,您需要确保正确的模块已加载。如果没有,声音控制中心将不会执行任何操作(即使已加载模块,我也不知道LAunty中是否解决了this thread中提到的错误)。
您正在使用哪个版本的Ubuntu?在Jaunty之前,该模块的名称为snd_pcspkr
。
您能否提供以下输出:
lsmod | grep pcspkr
您能否提供以下输出:
grep pcspkr /etc/modprobe.d/blacklist*
顺便说一句,默认情况下,Karmic将pcspkr
再次列入黑名单。
第七种思路
尝试这个:
sudo modprobe pcspkr