如何在 Ubuntu 中重命名音频设备?

如何在 Ubuntu 中重命名音频设备?

我有多个耳机连接到我的 Ubuntu 桌面,我想给它们起一个有意义的名字,这样我就可以在 Gnome 控制中心看到它们并在它们之间进行选择。目前它们的名字是这样的。

像这样命名的东西

我已经尝试过的事情:

使用 pactl 更改设备属性- pavucontrol 中显示了新名称,但 Gnome 控制中心中没有显示。我更改了所有内容的所有属性,但 Gnome CC 中没有任何变化。

图中显示的输出设备名称为:

  1. 数字输出 (S/PDIF) - Corsair VOID PRO 无线游戏耳机

  2. 模拟输出 - Corsair VOID PRO 无线游戏耳机

  3. 数字输出 (S/PDIF) - Corsair VOID PRO 无线游戏耳机

  4. 模拟输出 - Corsair VOID PRO 无线游戏耳机

  5. 数字输出 (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/*

尝试找出两个耳机之间具有不同值的属性,例如序列号。

答案2

我找到了一个解决方案,安装 pavucontrol 并启用模块设备管理器。

安装 pavucontrol:

sudo apt install pavucontrol

然后启用模块设备管理器:

pactl load-module module-device-manager

打开 pavucontrol:

pavucontrol

右键单击要更改名称的“端口”下拉菜单并重命名: 例子

重命名: 改名

那应该可以。

相关内容