银河麒麟系统需分层配置声音提示:图形界面启用音效并分配文件、替换/usr/share/sounds/kylin/stereo/下WAV/OGG文件、PulseAudio加载module-event-sounds并绑定xdg事件、终端配置.bashrc和.inputrc、可选启用内核pcspkr蜂鸣器。

您希望在银河麒麟系统中设置开机音、通知提示、错误警告、终端响铃等各类声音提示,需要分别处理系统级音效、PulseAudio事件映射、GTK通知通路及终端底层响应,不同提示音由不同服务调用,不能仅靠一个开关统一配置。
通过图形界面启用并分配系统音效
这是最直观的入口,适用于UKUI桌面环境下的常规提示音管理,但仅能启用/关闭已有音效,无法更换文件。
1、点击左下角“开始菜单”→“设置”→“系统”→“声音”。
2、切换到“声音效果”选项卡,确保顶部“启用声音效果”已打开。
3、在下方列表中逐项检查:找到“系统启动”“通知”“警告音”“终端响铃”“磁盘已满”等条目,点击右侧下拉菜单,为每项手动指定对应音效(如dialog-information.wav用于通知,dialog-warning.oga用于警告)。
4、点击每个条目右侧的扬声器图标试听,若无声,说明该音效未被PulseAudio加载或路径无效,需进入下一步排查。
替换系统内置WAV提示音文件
此方法直接生效,无需重启桌面,但要求音频格式严格匹配,且需root权限操作。
方法一:定位并替换标准路径音效
1、打开终端,进入系统音效目录:cd /usr/share/sounds/kylin/stereo/。
2、列出当前可用音效:ls -l *.wav,重点关注notify.wav、dialog-error.wav、desktop-login.wav等文件名。
3、备份原文件,例如:sudo cp notify.wav notify.wav.bak。
4、将自定义WAV文件(必须为【16位PCM、单/双声道、44100Hz采样率、无ID3/元数据】)复制覆盖:sudo cp ~/Downloads/my-notify.wav notify.wav。
5、重设权限确保可读:sudo chmod 644 notify.wav。
方法二:适配UKUI新版音效路径(部分V10 SP2+版本)
若上述路径无反应,尝试覆盖UKUI专用路径:sudo cp ~/my-notify.wav /usr/share/sounds/ukui/stereo/notify.oga(支持OGG格式,体积更小)。
配置PulseAudio事件音效映射
图形界面设置只是开关,真正播放依赖PulseAudio识别事件名并绑定音频。若点击预览无声,大概率是这步缺失。
第一步:确认事件音效模块已加载
1、终端执行:pactl list short modules | grep "module-event-sounds"。
2、若无输出,手动加载:pactl load-module module-event-sounds。
第二步:上传并绑定自定义警告音效
1、准备一个WAV或OGG文件(推荐dialog-warning.oga),放在~/sounds/目录下。
2、执行绑定命令:pactl upload-sample ~/sounds/dialog-warning.oga xdg:warning。
3、验证是否注册成功:pactl list short | grep "xdg:warning",应返回一行含该字符串的结果。
4、测试触发:canberra-gtk-play --id="xdg:warning",应立即播放警告音。
启用终端命令完成提示音
终端中执行长命令(如make install)后想听到“叮”一声提醒,需打通从Shell到PulseAudio的整条链路。
① 修改输入行为:编辑~/.inputrc,末尾添加set bell-style audible,保存后执行bind -f ~/.inputrc生效。
② 启用Shell通知模式:在~/.bashrc末尾添加shopt -s notify,再执行source ~/.bashrc。
③ 关联系统音效:进入“设置”→“声音”→“声音效果”,确认“终端响铃”条目已启用,并指向一个真实存在的音效文件(如/usr/share/sounds/freedesktop/stereo/bell.oga)。
④ 验证通路:在终端输入echo -e "\a",应发出提示音;若无声,说明PulseAudio未捕获BEL字符,需检查module-x11-bell是否加载(pactl load-module module-x11-bell)。
开启系统级蜂鸣器(PC Speaker)作为备用提示
当PulseAudio崩溃或未启动时,内核级蜂鸣器仍可提供基础提示,尤其适合服务器或运维场景。
1、检查蜂鸣器模块是否运行:lsmod | grep pcspkr。
2、若未加载,手动插入:sudo modprobe pcspkr。
3、测试硬件发声:echo -e "\a" > /dev/console(需root权限,仅tty终端有效)。
4、为使图形终端也响应,执行:xset b on(临时)或在~/.profile中添加该行(永久)。
注意:【若已执行过pcspkr黑名单操作(如/etc/modprobe.d/blacklist-pcspkr.conf),则此步无效】。

















