Ros*_*han 6 gnome sound pulseaudio
我有多个耳机连接到我的 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
小智 6
Gnome 控制中心(以及 pavucontrol)中的设备名称可以使用 udev 规则进行更改。有一个未记录的 udev 设备属性SOUND_DESCRIPTION
,可以设置它来更改名称。
该属性在 PulseAudio 中读取。PulseAudio 将其值存储到卡的device.description
属性中(如 所示pacmd list-cards
)。该属性也是Gnome 的控制中心在显示音频设备时读取的值。
现在,假设这些耳机是 USB 设备,那么首先我们需要使用以下命令查找这两个耳机的供应商和产品 ID:
lsusb
Run Code Online (Sandbox Code Playgroud)
每个设备都有 id 值,其形式为vendor-id:product-id
.
然后创建一个新的udev规则文件:
sudoedit /lib/udev/rules.d/my-pulseaudio.rules
Run Code Online (Sandbox Code Playgroud)
并添加内容:
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"
Run Code Online (Sandbox Code Playgroud)
然后重新加载 udev 规则并重新启动 PulseAudio:
sudo udevadm control --reload-rules
sudo udevadm trigger -ssound
systemctl --user restart pulseaudio
Run Code Online (Sandbox Code Playgroud)
现在 Gnome 控制中心的名称应该已更改。
请注意,如果两个耳机具有相同的供应商和产品 ID,那么我们最终可能只是将两个设备重命名为相同的名称。在这种情况下,规则需要第三次ATTRS{?}=="?"
检查以进一步区分它们。要查找设备具有哪些其他属性,请使用命令:
udevadm info /dev/snd/by-id/*
Run Code Online (Sandbox Code Playgroud)
尝试查找两个耳机之间具有不同值的属性,例如序列号。
小智 3
我找到了安装 pavucontrol 并启用模块设备管理器的解决方案。
安装 pavucontrol:
sudo apt install pavucontrol
然后启用模块设备管理器:
pactl load-module module-device-manager
Run Code Online (Sandbox Code Playgroud)
打开 pavucontrol:
pavucontrol
Run Code Online (Sandbox Code Playgroud)
右键单击要更改名称的“端口”下拉菜单并将其重命名: 示例
重命名: 重命名
那应该有效。
归档时间: |
|
查看次数: |
7040 次 |
最近记录: |