![无需 Root 权限即可禁用 KDE/KMix 中的音量控制](https://linux22.com/image/1388202/%E6%97%A0%E9%9C%80%20Root%20%E6%9D%83%E9%99%90%E5%8D%B3%E5%8F%AF%E7%A6%81%E7%94%A8%20KDE%2FKMix%20%E4%B8%AD%E7%9A%84%E9%9F%B3%E9%87%8F%E6%8E%A7%E5%88%B6.png)
我通过 VNC 会话在 CentOS 上使用 KDE,并且我从不打算在该会话中使用任何声音,它始终是完全静音的。
当我打开 VNC 客户端(在 Windows 中)并按下键盘上的音量控制键(以更改 Windows 框上的音量)时,它会在 CentOS 中显示一个巨大的框,显示“看来 KMix 没有运行”,然后在我正在执行的操作之上启动 KMix 应用程序。
当我按下音量按钮时,我不希望 CentOS 或 KDE 执行任何操作,有什么方法可以完全停止这种自动启动的 KMix 行为?
我没有 CentOS 会话的 root 访问权限。
理想情况下,我会阻止我的 VNC 客户端传递这些密钥,但我找不到任何选项可以这样做,所以这可能是不可能的。
软件版本:
> cat /etc/*-release
CentOS release 5.7 (Final)
> kded --version
Qt: 3.3.6
KDE: 3.5.4-26.el5.centos.1 Red Hat
KDE Daemon: $Id: kded.cpp 534738 2006-04-27 18:04:45Z lunakl $
答案1
您没有说明您正在使用哪种桌面环境(您可能正在使用某种组合并且恰好在系统上安装了 KMix),但这里是一般说明:
在您的 CentOS 会话中,查找“设置”或“控制中心”小程序。如果存在,请在其中查找“键盘”或“快捷方式”链接。确切的名称和获取此信息的步骤取决于您的桌面环境和组件的确切版本。
尝试重新映射多媒体键。如果桌面环境没有为它们分配友好名称,则可以将它们命名为,例如
XF86AudioLowerVolume
,等等。XF86AudioRaiseVolume
作为最后的手段,请查看
xmodmap
创建一个文件来执行您想要的操作。请参阅~/.Xmodmap
这里以及底部的链接;它相当复杂。
以下是一些复杂的问题:
Windows 上的 VNC 应用程序可能会决定“捕获”按键,而不将其传递给其他窗口。具体取决于精确的应用程序和版本,可能没有办法告诉它不要这样做,所以你可能除非您最小化 VNC 窗口(使其失去焦点),否则无法允许音量控制按钮在主机上工作。
“KDE”、“CentOS”等信息不足以让您准确了解解决此问题需要采取哪些步骤。巨大的CentOS 和 KDE 的不同版本在底层功能、配置系统等方面存在差异。例如,CentOS 5 和 CentOS 6 在功能、组件版本和配置方式方面存在天壤之别。CentOS 4 则更加不同。KDE 4 是 KDE 的完全重写版本,因此如果您仍在使用 KDE 3.x,您的步骤将与运行 KDE 4 的人完全不同。通过不提供任何版本信息,您极大地限制了响应的潜在用途。这就像说“我的车无法启动。我该如何修理它?”——如果它是一辆 2013 年 9 月制造的跑车,配备全电子点火和转向系统,那么故障排除步骤将与 20 世纪初制造的福特 T 型车完全不同。
答案2
如果您使用的是 realvnc,请转到 Prefrences->Expert 并将“SendMediaKeys”值设置为 False。这样它就不会将媒体密钥输入发送到 vnc。