Ubuntu的桌面图形界面非常适合更改音频设置(System->Preferences->Sound),例如默认输入/输出设备和音量设置。
然而,我希望能够通过命令行来完成这些操作。图形界面背后使用的是哪个工具?
然而,我希望能够通过命令行来完成这些操作。图形界面背后使用的是哪个工具?
pacmd
和pactl
命令来全面控制PulseAudio。有关选项,请参阅pacmd --help
或维基百科上的PulseAudio:pacmd list-sinks
查找可能的输出设备的名称或索引号。pacmd list-sources
查找可能的输入设备的名称或索引号。pacmd set-default-sink "SINKNAME" | index
设置默认输出设备。pacmd set-default-source "SOURCENAME" | index
设置默认输入设备。pacmd set-sink-volume index volume
设置输出设备音量。pacmd set-source-volume index volume
设置输入设备音量(65536
= 100%,0
= 静音;或者更直观一些,0x10000
= 100%,0x7500
= 75%,0x0
= 0%)。/etc/pulse/default.pa
中的相应行来实现此操作。load-module module-stream-restore restore_device=false
我发现这些说明清晰易懂、易于跟随。它解释了如何通过命令行设置默认音频输出设备(扬声器等),以及如何将您选择的设置作为系统默认设置,这样在机器重新启动后依然有效。
设置默认输出源
要列出可用的输出源,请键入以下命令:
$ pacmd list-sinks | grep -e 'name:' -e 'index:'
index: 0
name: <alsa_output.pci-0000_04_01.0.analog-stereo>
index: 1
name: <combined>
索引前的 * 表示当前默认输出。
要设置全局默认值,请在 default.pa 文件中添加源名称:
/etc/pulse/default.pa
...
set-default-sink alsa_output.pci-0000_04_01.0.analog-stereo
...
完成后,您可以注销/登录或手动重新启动 PulseAudio,使更改生效。
wpctl
可以帮助你。wpctl status
命令获取可用的音频设备(默认设备会以*
标记)。PipeWire 'pipewire-0' [0.3.77, machitgarha@machitgarha, cookie:2827478639]
└─ Clients:
...
Audio
├─ Devices:
│ 46. Built-in Audio [alsa]
│ 78. Headset H390 [alsa]
│
├─ Sinks:
│ * 49. Built-in Audio Analog Stereo [vol: 0.90]
│ 84. Headset H390 Pro [vol: 1.00]
│
├─ Sink endpoints:
│
├─ Sources:
│...
...
wpctl set-default
更改默认音频输出设备(即设备)。例如,要将其更改为"Headset H390 Pro":wpctl set-default 84
检查默认音频输出是否通过wpctl status
进行了更改。
pacmd list-sinks
作为第一个命令。 - Anwar/proc/asound/cards/
下,它将Toneport列为一个USB设备,在/proc/asound/pcm
下,它显示playback 1: capture 1
。这些都是在运行alsamixer
并点击[f2]之后的情况。 - Robpacmd list-sinks
只列出一个音频输出设备,但在系统设置>声音中可以看到多个输出设备,请参考以下答案:http://askubuntu.com/questions/63599/configuring-hdmi-audio-via-command-line - Severo Razpactl list short sinks
命令来获取一个更简单的音频输出设备列表。你需要使用符号名称。 - Tim Richardson/etc/pulse/default.pa
中的流恢复模块,将其设置为load-module module-stream-restore restore_device=false
。如果不这样做,PulseAudio将会忽略之前使用过的任何程序的默认输出设备(即使它已经关闭)。PulseAudio试图变得更智能,现在把默认输出设备视为“备用”,只有在没有更好的选择时才使用。而且,似乎PulseAudio 总是知道得更好。 - hackerb9pacmd set-default-sink $(pactl list short sinks | grep hdmi | awk '{print $2}') && pulseaudio -k
- Anand Rockzz