我有多个耳机连接到我的 Ubuntu 桌面,我想给它们起一个有意义的名字,这样我就可以在 Gnome 控制中心看到它们并在它们之间进行选择。目前它们的名字是这样的。
我已经尝试过的事情:
使用 pactl 更改设备属性- pavucontrol 中显示了新名称,但 Gnome 控制中心中没有显示。我更改了所有内容的所有属性,但 Gnome CC 中没有任何变化。
图中显示的输出设备名称为:
数字输出 (S/PDIF) - Corsair VOID PRO 无线游戏耳机
模拟输出 - Corsair VOID PRO 无线游戏耳机
数字输出 (S/PDIF) - Corsair VOID PRO 无线游戏耳机
模拟输出 - Corsair VOID PRO 无线游戏耳机
数字输出 (S/PDIF) - 内置音频
我希望第一个和第三个看起来不同,因为它们是两个不同的物理设备,第二个和第四个也是如此。
Ubuntu 版本:20.04
答案1
Gnome 控制中心(以及 pavucontrol)中的设备名称可以通过 udev 规则进行更改。有一个未记录的 udev 设备属性SOUND_DESCRIPTION
,可以设置该属性来更改名称。
该属性是读入 PulseAudio。PulseAudio 将其值存储到卡的device.description
属性中(如 所示pacmd list-cards
)。此属性也是Gnome 的控制中心显示显示音频设备时。
现在,假设这些耳机是 USB 设备,那么首先我们需要使用以下命令找到两个耳机的供应商和产品 ID:
lsusb
每个设备都有 形式的 id 值vendor-id:product-id
。
然后创建一个新的udev规则文件:
sudoedit /lib/udev/rules.d/my-pulseaudio.rules
并添加内容:
ATTRS{idVendor}=="vendor-id-of-1st-device", ATTRS{idProduct}=="product-id-of-1st-device", ENV{SOUND_DESCRIPTION}="Foo Headset"
ATTRS{idVendor}=="vendor-id-of-2nd-device", ATTRS{idProduct}=="product-id-of-2nd-device", ENV{SOUND_DESCRIPTION}="Bar Headset"
然后重新加载 udev 规则并重新启动 PulseAudio:
sudo udevadm control --reload-rules
sudo udevadm trigger -ssound
systemctl --user restart pulseaudio
现在 Gnome 控制中心中的名称应该已经改变。
请注意,如果两个耳机具有相同的供应商和产品 ID,那么我们最终可能会将两个设备重命名为相同的名称。在这种情况下,规则需要进行第三次ATTRS{?}=="?"
检查以进一步区分它们。要查找设备还有哪些其他属性,请使用命令:
udevadm info /dev/snd/by-id/*
尝试找出两个耳机之间具有不同值的属性,例如序列号。