答案1
Gnome 开发人员已经讨论这个问题一年多了:
提出请求的人声明:
以下是我的设计驱动想法:
广义的答案确实是不要询问。如果我明确插入一个设备,我希望声音能从中发出。这是一个直接的互动。即使有些情况下不是这样,每次插入未知设备时询问都会带来糟糕的常见体验。当然,会有大量的特殊用例。
其他人则合理化了提问的理由:
如果您有一个插头可以用作麦克风或洗衣机,而您又分不清它是哪个,我除了询问之外想不出其他办法了。:)
开发人员承认弹出窗口设计不佳的最后一条评论是:
哦,看来您说得对:我第一次插入耳机时,几秒钟后输出就静音了,而对话框却在那之前就出现了,原因不明(那几秒钟可能已经损坏了麦克风),之后每次出现对话框时,音频都不会静音,而是继续播放。此外,我发现如果耳机插入得比较小心,有时对话框就无法显示(松散的连接似乎会多次触发对话框)。因此,我们应该修复这些问题,或者将这些错误视为“现场测试”,因为到目前为止,还没有人向我们抱怨麦克风坏了 ;)
使用一些编程,您可以每隔两三秒监控屏幕上打开的新窗口。如果出现有问题的窗口,您可以发送鼠标点击来自动选择耳机。例如,我在某些带有滑入式气泡消息的窗口中这样做,这些消息会引导您进入不受欢迎的广告网站。
另一种选择是获取有问题的窗口的程序名称,然后将其替换为一个除了取消静音之外不执行任何操作的新程序。
无论哪种情况,除非您自己有空闲时间和技能,否则您需要等待开发人员来创建一些东西。
有一件事你可以快速尝试,但不能保证成功。有一项pulseaudio
名为的功能module-switch-on-connect
可以在连接时自动切换音频设备。要测试这是否有效,请在终端中发出以下命令:
pacmd load-module module-switch-on-connect
现在插入耳机。如果可行,请将以下行添加到您的/etc/pulse/default.pa
:
load-module module-switch-on-connect
保存该文件,它将在将来重启时起作用。
答案2
以下扩展运行良好(在具有 Gnome 42.1 的 Ubuntu 22.04 上测试):https://extensions.gnome.org/extension/3928/auto-select-headset/
您可以使用以下命令在命令行上安装(尽管您应该先检查是否有更新版本)。请注意,有一行重新启动您的 gnome-shell 会话。您可能更愿意手动注销并登录,或者重新启动计算机而不是使用该行。由您决定。
# download the extension
wget "https://extensions.gnome.org/extension-data/autoselectheadsetjosephlbarnett.github.com.v5.shell-extension.zip" &&
# install it
gnome-extensions install autoselectheadsetjosephlbarnett.github.com.v5.shell-extension.zip &&
# this is needed to refresh the available extensions.
killall -3 gnome-shell
# now enable the extension
gnome-extensions enable [email protected]