这似乎太明显了,我有点震惊,需要问一下。我将耳机插入 Ubuntu 笔记本电脑上的 3.5 毫米插孔,并希望它能正常工作。输出确实“正常工作”。但是,我每次都必须手动选择耳机麦克风作为默认输入。当插入耳机时,如何告诉 Ubuntu 像其他台式机/笔记本电脑操作系统一样运行?
编辑:每次我插入耳机时,升级到最新版本的 gnome 都会出现一个对话框,询问插入的内容。但是,选择“耳机”仍然会导致输入设备不变。
编辑#2:为了清楚起见并回应我在下面的评论,该对话框完全没问题,如果有效,则无效。
小智 9
我的系统,Dell XPS 13 9350 上的 Kubuntu 19.10,检测耳机并自动设置正确的输出。
据我所知,它不知道耳机是否有麦克风。这就是为什么它只改变输出而不改变输入。
acpi_listen
是检测何时插入/拔出耳机的工具。这是它检测到的:
jack/headphone HEADPHONE unplug
jack/headphone HEADPHONE plug
Run Code Online (Sandbox Code Playgroud)
pulseaudio
是我们可以切换源端口的地方
在我的系统中选择耳机麦克风:
pacmd set-source-port alsa_input.pci-0000_00_1f.3.analog-stereo analog-input-headset-mic
Run Code Online (Sandbox Code Playgroud)
选择内置麦克风:
pacmd set-source-port alsa_input.pci-0000_00_1f.3.analog-stereo analog-input-internal-mic
Run Code Online (Sandbox Code Playgroud)
您可以使用pacmd list-cards
来获取源名称和端口名称的列表。
您还可以使用终端自动完成功能来帮助制作命令。
切换到 rootsudo su
并创建脚本/etc/acpi/headset-microphone.sh
#!/bin/sh
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
if [ "$1" = plug ]; then
sudo -u you -E pacmd set-source-port alsa_input.pci-0000_00_1f.3.analog-stereo analog-input-headset-mic
else
sudo -u you -E pacmd set-source-port alsa_input.pci-0000_00_1f.3.analog-stereo analog-input-internal-mic
fi
Run Code Online (Sandbox Code Playgroud)
务必:
you
为您的用户名chmod a+x /etc/acpi/headset-microphone.sh
然后创建事件监听器,创建一个文件“/etc/acpi/events/headset-microphone-plug”:
event=jack/headphone HEADPHONE plug
action=/etc/acpi/headset-microphone.sh plug
Run Code Online (Sandbox Code Playgroud)
和拔出事件侦听器,创建一个文件“/etc/acpi/events/headset-microphone-unplug”:
event=jack/headphone HEADPHONE unplug
action=/etc/acpi/headset-microphone.sh unplug
Run Code Online (Sandbox Code Playgroud)
最后,重启 acpi 监听事件服务
systemctl restart acpid.service
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3751 次 |
最近记录: |