如何从命令行禁用警报音量?

如何从命令行禁用警报音量?

有一个选项声音偏好设置对话,声音特效选项卡,切换警报音量沉默的。它可以满足我的需求,禁用烦人的系统蜂鸣声/铃声。

但是,为了测试目的,我多次重新安装系统,并希望在 shell 脚本中设置此设置,这样就可以关闭它,而无需摆弄 GUI。但我似乎找不到可以通过命令行工具切换的地方。

我已经浏览过gconf-editor、PulseAudio 的pacmdgrep浏览过/etc、甚至挖掘过gnome-volume-control源代码,但我不明白如何设置它。

据我所知,gnome-volume-control自从几次发布以来,情况已经发生了变化。

有想法吗?

答案1

找了好久才找到这个。特别是因为我不使用 pulseaudio,而且无法将 UI 中的警报声音静音(WTF!?)

就这样吧。哦,沉默的甜蜜喜悦!

# gsettings set org.gnome.desktop.sound event-sounds false

答案2

  • 选项 0:(这可能是您要找的)

    sudo su gdm -c "gconftool-2 --set /desktop/gnome/sound/event_sounds --type bool false"
    
  • 选项1:

    暂时的:

    sudo modprobe -r pcspkr  
    

    永恒的

    echo “blacklist pcspkr” >> /etc/modprobe.d/blacklist
    
  • 选项 2:

    /etc/inputrc在(选项为nonevisible)中搜索“set bell-style”

  • 选项 3:

    sudo mv -v /usr/share/sounds/ubuntu/stereo/*.ogg {*.disabled}
    
  • 选项 4:

    man xset
    

答案3

我编写了一个脚本,让我可以使用pacmdpactl命令轻松调整音量。当我使用 GNOME 桌面(Wayland 或 Xorg)时,它似乎运行良好,到目前为止,它在 RHEL/Fedora 和 Ubuntu 上运行良好。我还没有尝试将它与其他桌面/发行版或环绕声系统等一起使用。

将其放入路径中,然后不带任何值运行它以查看当前音量。或者通过传递百分比来设置音量。单个值设置两个扬声器,两个值将分别设置左扬声器和右扬声器。理论上,您不应该使用 0%-200% 以外的值,但该命令会让您设置高于 200% 的音量,这可能会损坏您的扬声器,所以要小心。

[~]# volume
L    R   
20%  20% 
[~]# volume 100% 50%
[~]# volume
L    R   
100% 50% 
[~]# volume 80%
[~]# volume
L    R   
80%  80% 
#!/bin/bash

[ ! -z "$1" ] && [ $# -eq 1 ] && export LVOL="$1" && export RVOL="$1"
[ ! -z "$1" ] && [ ! -z "$2" ] && [ $# -eq 2 ]  && export LVOL="$1" && export RVOL="$2"

SINK=$(pacmd list-sinks | grep -e '* index:' | grep -Eo "[0-9]*$")

if [ -z "$LVOL" ] || [ -z "$RVOL" ]; then
  # pacmd list-sinks | grep -e '* index:' -A 20 | grep -e 'name:' -e '^\s*volume:.*\n' -e 'balance' --color=none
  printf "%-5s%-4s\n%-5s%-4s\n" "L" "R" $(pacmd list-sinks | grep -e '* index:' -A 20 | grep -e '^\s*volume:.*\n' --color=none | grep -Eo "[0-9]*%" | tr  "\n" " " | sed "s/ $/\n/g")
  exit 0
elif [[ ! "$LVOL" =~ ^[0-9]*%$ ]] || [[ ! "$RVOL" =~ ^[0-9]*%$ ]]; then
  printf "The volume should specified as a percentage, from 0%% to 200%%.\n"
  exit 1
elif [ "$SINK" == "" ]; then
  printf "Unable to find the default sound output.\n"
  exit 1
fi

pactl -- set-sink-volume $SINK $LVOL $RVOL

相关内容