Linux
树莓派3B 采用Samba + Cockpit搭建NAS
Linux 修改开机启动 boot splash logos
Linux 下将 .po 文件编译成 .mo 文件
Python 使用 gettext 模块实现国际化
XFCE 桌面优化配置
香橙派3B 使用 WiringOP 读取 MPU6050
香橙派4 LTS 安装 WiringPi
Linux 图形界面切换到 FB 界面
校表仪 tg-timer 算法笔记
Linux 安装 EtherCat Igh
EetherCat Igh 常用指令
树莓派镜像 DIY 制作
树莓派5B 安装64位实时系统 preempt RT 补丁
linux 的 lightdm 桌面管理器下隐藏光标(鼠标)
Linux 上使用 MPD (Music Player Daemon)
Linux 自动化交互式命令行工具 —— expect
Linux GTK 界面开发
Debian系统中修改主机名
使用Python + GTK3.0 开发嵌入式GUI
Raspberry Pi 5修改系统内存分页大小解决安装esp-matter 出现的<jemalloc>: Unsupported systeom page size 错误
树莓派 linux 安装和使用clash 做VPN
树莓派自动挂载硬盘
非控制台或ssh登录用户尝试启动Xorg图形服务器
XFCE4 电源管理器配置管理
Linux PulseAudio 声卡配置和检测
IBUS修改输入法和设置切换快捷键
在 Moode Audio 中实现开机自动启动 `startx`
crontab 任务
树莓派外设耗电检测
linux 终端自动登录
linux创建新用户
linux service通过xinit启动GTK应用程序
Linux 非桌面的图形环境安装和配置
香橙派3b板载音频输出没有声音调试
使用 udev 规则修改权限实现屏幕亮度调节
Linux udev 介绍
鲁班猫4 ubuntu22.04 屏幕背光 udev 自动配置化
ubuntu22.04 动态壁纸配置
使用 udisksctl 的可靠 USB 自动挂载方案(基于 systemd-run)
通过udev规则U盘自动挂载
OpenWRT 磊科N60pro路由器刷机
本文档使用 MrDoc 发布
-
+
首页
Linux PulseAudio 声卡配置和检测
### **1.查看当前可用的音频设备与 Profile** **使用 `pacmd` 和 `pactl` 管理音频设置**: `pacmd` 可用于在运行时重新配置 PulseAudio 音频服务器,提供一个简单的实时 shell,用于输入也可以在 `default.pa` 配置脚本中理解的命令[2](https://link.zhihu.com/?target=https%3A//man.archlinux.org/man/pacmd.1%23%3A~%3Atext%3Dpacmd.%20pacmd%20%2Cthe%20live%20shell%2C%20use%20ctrl%2Bd)。`pactl` 用于控制运行中的 PulseAudio 音频服务器,它仅公开了一组可用操作的子集。如果命令通过 `pactl` 可用,则应使用 `pactl`。例如,可以使用 `pactl list` 来列出所有当前加载的模块、可用的接收点、源、流等。 ``` orangepi3b@orangepi3b:~$ pacmd list-cards 3 card(s) available. index: 0 name: <alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00> driver: <module-alsa-card.c> owner module: 7 properties: alsa.card = "2" alsa.card_name = "USB PnP Sound Device" alsa.long_card_name = "C-Media Electronics Inc. USB PnP Sound Device at usb-fd840000.usb-1, full speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "platform-fd840000.usb-usb-0:1:1.0" sysfs.path = "/devices/platform/fd840000.usb/usb3/3-1/3-1:1.0/sound/card2" udev.id = "usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00" device.bus = "usb" device.vendor.id = "0d8c" device.vendor.name = "C-Media Electronics, Inc." device.product.id = "013c" device.product.name = "CM108 Audio Controller" device.serial = "C-Media_Electronics_Inc._USB_PnP_Sound_Device" device.string = "2" device.description = "CM108 Audio Controller" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" profiles: input:mono-fallback: Mono Input (priority 1, available: unknown) output:stereo-fallback: Stereo Output (priority 5100, available: unknown) off: Off (priority 0, available: unknown) active profile: <input:mono-fallback> sources: alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback/#2: CM108 Audio Controller Mono ports: analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: unknown) properties: device.icon_name = "audio-input-microphone" analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown) properties: device.icon_name = "audio-speakers" index: 1 name: <alsa_card.platform-hdmi-sound> driver: <module-alsa-card.c> owner module: 8 properties: alsa.card = "1" alsa.card_name = "rockchip,hdmi" alsa.long_card_name = "rockchip,hdmi" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" profiles: output:stereo-fallback: Stereo Output (priority 5100, available: unknown) off: Off (priority 0, available: unknown) active profile: <off> ports: analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown) properties: index: 2 name: <alsa_card.platform-rk809-sound> driver: <module-alsa-card.c> owner module: 9 properties: alsa.card = "0" alsa.card_name = "rockchip-rk809" alsa.long_card_name = "rockchip-rk809" device.bus_path = "platform-rk809-sound" sysfs.path = "/devices/platform/rk809-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" profiles: input:stereo-fallback: Stereo Input (priority 51, available: no) off: Off (priority 0, available: unknown) active profile: <off> ports: analog-input-headset-mic: Headset Microphone (priority 8800, latency offset 0 usec, available: no) properties: device.icon_name = "audio-input-microphone" ``` ``` orangepi3b@orangepi3b:~/Desktop$ pactl list cards Card #0 Name: alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00 Driver: module-alsa-card.c Owner Module: 7 Properties: alsa.card = "2" alsa.card_name = "USB PnP Sound Device" alsa.long_card_name = "C-Media Electronics Inc. USB PnP Sound Device at usb-fd840000.usb-1, full speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "platform-fd840000.usb-usb-0:1:1.0" sysfs.path = "/devices/platform/fd840000.usb/usb3/3-1/3-1:1.0/sound/card2" udev.id = "usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00" device.bus = "usb" device.vendor.id = "0d8c" device.vendor.name = "C-Media Electronics, Inc." device.product.id = "013c" device.product.name = "CM108 Audio Controller" device.serial = "C-Media_Electronics_Inc._USB_PnP_Sound_Device" device.string = "2" device.description = "CM108 Audio Controller" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" Profiles: input:mono-fallback: Mono Input (sinks: 0, sources: 1, priority: 1, available: yes) output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: input:mono-fallback Ports: analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown) Properties: device.icon_name = "audio-input-microphone" Part of profile(s): input:mono-fallback analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability unknown) Properties: device.icon_name = "audio-speakers" Part of profile(s): output:stereo-fallback Card #1 Name: alsa_card.platform-hdmi-sound Driver: module-alsa-card.c Owner Module: 8 Properties: alsa.card = "1" alsa.card_name = "rockchip,hdmi" alsa.long_card_name = "rockchip,hdmi" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: off Ports: analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Part of profile(s): output:stereo-fallback Card #2 Name: alsa_card.platform-rk809-sound Driver: module-alsa-card.c Owner Module: 9 Properties: alsa.card = "0" alsa.card_name = "rockchip-rk809" alsa.long_card_name = "rockchip-rk809" device.bus_path = "platform-rk809-sound" sysfs.path = "/devices/platform/rk809-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: no) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: off Ports: analog-input-headset-mic: Headset Microphone (type: Headset, priority: 8800, latency offset: 0 usec, not available) Properties: device.icon_name = "audio-input-microphone" Part of profile(s): input:stereo-fallback orangepi3b@orangepi3b:~/Desktop$ pacmd list-cards 3 card(s) available. index: 0 name: <alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00> driver: <module-alsa-card.c> owner module: 7 properties: alsa.card = "2" alsa.card_name = "USB PnP Sound Device" alsa.long_card_name = "C-Media Electronics Inc. USB PnP Sound Device at usb-fd840000.usb-1, full speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "platform-fd840000.usb-usb-0:1:1.0" sysfs.path = "/devices/platform/fd840000.usb/usb3/3-1/3-1:1.0/sound/card2" udev.id = "usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00" device.bus = "usb" device.vendor.id = "0d8c" device.vendor.name = "C-Media Electronics, Inc." device.product.id = "013c" device.product.name = "CM108 Audio Controller" device.serial = "C-Media_Electronics_Inc._USB_PnP_Sound_Device" device.string = "2" device.description = "CM108 Audio Controller" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" profiles: input:mono-fallback: Mono Input (priority 1, available: unknown) output:stereo-fallback: Stereo Output (priority 5100, available: unknown) off: Off (priority 0, available: unknown) active profile: <input:mono-fallback> sources: alsa_input.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00.mono-fallback/#14: CM108 Audio Controller Mono ports: analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: unknown) properties: device.icon_name = "audio-input-microphone" analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown) properties: device.icon_name = "audio-speakers" index: 1 name: <alsa_card.platform-hdmi-sound> driver: <module-alsa-card.c> owner module: 8 properties: alsa.card = "1" alsa.card_name = "rockchip,hdmi" alsa.long_card_name = "rockchip,hdmi" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" profiles: output:stereo-fallback: Stereo Output (priority 5100, available: unknown) off: Off (priority 0, available: unknown) active profile: <off> ports: analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown) properties: index: 2 name: <alsa_card.platform-rk809-sound> driver: <module-alsa-card.c> owner module: 9 properties: alsa.card = "0" alsa.card_name = "rockchip-rk809" alsa.long_card_name = "rockchip-rk809" device.bus_path = "platform-rk809-sound" sysfs.path = "/devices/platform/rk809-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" profiles: input:stereo-fallback: Stereo Input (priority 51, available: no) off: Off (priority 0, available: unknown) active profile: <off> ports: analog-input-headset-mic: Headset Microphone (priority 8800, latency offset 0 usec, available: no) properties: device.icon_name = "audio-input-microphone" ``` **查看USB声卡的 vid 和 pid** ``` orangepi3b:~$ lsusb Bus 003 Device 003: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller ``` - 0d8c 是 **VID**(厂商ID:C-Media Electronics) - 013c 是 **PID**(产品ID:CM108) **查看详细信息** ``` lsusb -v -d 0d8c:013c ``` **手动指定PID加载驱动** ``` sudo modprobe snd_usb_audio vid=0x0d8c pid=0x013c ``` ### **2.修改声卡的 Active Profile** ``` # 语法 pacmd set-card-profile <card_index_or_name> <profile_name> # 示例:将索引为0的声卡切换至HDMI输出 #设置为输出 orangepi3b@orangepi3b:~$ pacmd set-card-profile 0 output:stereo-fallback orangepi3b@orangepi3b:~$ pacmd set-card-profile 0 output:analog-stereo #设置为输如 orangepi3b@orangepi3b:~$ pacmd set-card-profile 0 input:mono-fallback ``` ### **3.通过声卡名称指定:** ``` pacmd set-card-profile alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00 output:stereo-fallback pacmd set-card-profile alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00 output:analog-stereo pacmd set-card-profile alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00 input:mono-fallback ``` ### **4.验证配置生效** 再次运行 `pacmd list-cards`,确认 `active profile` 字段已更新: ``` active profile: output:stereo-fallback ``` ### 5.实时监控输入 ```bash #!/bin/bash CARD_NAME="alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00" TARGET_PROFILE="input:mono-fallback" CHECK_INTERVAL=5 # 函数:检测目标 Profile 是否存在(返回 0=存在,1=不存在) check_profile_exists() { local profiles profiles=$(pactl list cards | grep -A 40 "Name: $CARD_NAME" | grep "Profiles:" -A 10 | grep -oP '^\s*\K\S+') if [[ "$profiles" =~ "$TARGET_PROFILE" ]]; then return 0 else # 清除配置文件重启服务后,声卡ID会变动 # echo 1|sudo -S rm -rf ~/.config/pulse /tmp/pulse* # systemctl --user restart pulseaudio echo "$(date) - 警告:声卡 $CARD_NAME 不支持 Profile $TARGET_PROFILE,跳过本次操作" return 1 fi } # 主循环 while true; do if check_profile_exists; then # 获取当前 Profile CURRENT_PROFILE=$(pactl list cards | grep -A 40 "Name: $CARD_NAME" | grep "Active Profile" | awk '{print $3}') echo "current:${CURRENT_PROFILE}" # 判断是否需要切换 if [[ "$CURRENT_PROFILE" != "$TARGET_PROFILE" ]]; then echo "$(date) - Profile 错误:当前为 $CURRENT_PROFILE,正在切换至 $TARGET_PROFILE..." pacmd set-card-profile "$CARD_NAME" "$TARGET_PROFILE" fi fi sleep $CHECK_INTERVAL done ``` ### **6. 永久保存 Profile 设置** 为避免重启后配置丢失,需将命令写入 PulseAudio 启动脚本: 1. 编辑默认配置文件 ```bash # cat /etc/pulse/default.pa PulseAudio 系统配置 vim ~/.config/pulse/default.pa ``` 2. 添加以下内容 (替换实际参数): ```conf ### 设置声卡默认 Profile set-card-profile alsa_card.pci-0000_00_1b.0 output:hdmi-stereo ``` 3. 重启 PulseAudio 服务 ```bash pulseaudio -k && pulseaudio --start ``` ### **7.清空缓存并重置配置** - 配置文件损坏导致声卡无法加载。 ```bash # 清除配置文件重启服务后,声卡ID会变动 echo 1|sudo -S rm -rf ~/.config/pulse /tmp/pulse* systemctl --user restart pulseaudio ``` ``` @orangepi3b:~$ ls -l ~/.config/pulse total 56 -rw------- 1 bj bj 256 Apr 9 11:23 cookie -rw------- 1 bj bj 24576 Apr 9 11:23 f4233532351642ee8bbd75904880fb44-card-database.tdb -rw------- 1 bj bj 49 Apr 9 11:23 f4233532351642ee8bbd75904880fb44-default-sink -rw------- 1 bj bj 78 Apr 9 11:23 f4233532351642ee8bbd75904880fb44-default-source -rw------- 1 bj bj 16384 Apr 9 11:23 f4233532351642ee8bbd75904880fb44-device-volumes.tdb -rw------- 1 bj bj 696 Apr 9 11:23 f4233532351642ee8bbd75904880fb44-stream-volumes.tdb ``` ``` orangepi3b:~$ ls -l /tmp/pulse* srwxrwxrwx 1 bj bj 0 Apr 9 11:23 /tmp/pulse-socket ``` ### 8. 选择输出声卡 ``` orangepi3b:/usr/local/bin$ pactl list cards Card #0 Name: alsa_card.usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00 Driver: module-alsa-card.c Owner Module: 7 Properties: alsa.card = "2" alsa.card_name = "USB PnP Sound Device" alsa.long_card_name = "C-Media Electronics Inc. USB PnP Sound Device at usb-fd840000.usb-1, full speed" alsa.driver_name = "snd_usb_audio" device.bus_path = "platform-fd840000.usb-usb-0:1:1.0" sysfs.path = "/devices/platform/fd840000.usb/usb3/3-1/3-1:1.0/sound/card2" udev.id = "usb-C-Media_Electronics_Inc._USB_PnP_Sound_Device-00" device.bus = "usb" device.vendor.id = "0d8c" device.vendor.name = "C-Media Electronics, Inc." device.product.id = "013c" device.product.name = "CM108 Audio Controller" device.serial = "C-Media_Electronics_Inc._USB_PnP_Sound_Device" device.string = "2" device.description = "CM108 Audio Controller" module-udev-detect.discovered = "1" device.icon_name = "audio-card-usb" Profiles: input:mono-fallback: Mono Input (sinks: 0, sources: 1, priority: 1, available: yes) output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes) output:analog-stereo+input:mono-fallback: Analog Stereo Output + Mono Input (sinks: 1, sources: 1, priority: 6501, available: yes) output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes) output:iec958-stereo+input:mono-fallback: Digital Stereo (IEC958) Output + Mono Input (sinks: 1, sources: 1, priority: 5501, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: input:mono-fallback Ports: analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown) Properties: device.icon_name = "audio-input-microphone" Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability unknown) Properties: device.icon_name = "audio-speakers" Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown) Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback Card #1 Name: alsa_card.platform-hdmi-sound Driver: module-alsa-card.c Owner Module: 8 Properties: alsa.card = "1" alsa.card_name = "rockchip,hdmi" alsa.long_card_name = "rockchip,hdmi" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:stereo-fallback Ports: analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Part of profile(s): output:stereo-fallback Card #2 Name: alsa_card.platform-rk809-sound Driver: module-alsa-card.c Owner Module: 9 Properties: alsa.card = "0" alsa.card_name = "rockchip-rk809" alsa.long_card_name = "rockchip-rk809" device.bus_path = "platform-rk809-sound" sysfs.path = "/devices/platform/rk809-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: no) output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 37868, available: yes) output:stereo-fallback+input:stereo-fallback: Stereo Output + Stereo Input (sinks: 1, sources: 1, priority: 5151, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: off Ports: analog-input-headset-mic: Headset Microphone (type: Headset, priority: 8800, latency offset: 0 usec, availability group: Legacy 1, not available) Properties: device.icon_name = "audio-input-microphone" Part of profile(s): input:stereo-fallback, output:stereo-fallback+input:stereo-fallback analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, not available) Properties: device.icon_name = "audio-speakers" Part of profile(s): output:stereo-fallback, output:stereo-fallback+input:stereo-fallback analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 1, availability unknown) Properties: device.icon_name = "audio-headphones" Part of profile(s): output:stereo-fallback, output:stereo-fallback+input:stereo-fallback ``` **通过设置声卡 profile 去控制声卡关闭和开启** ```bash # 关闭指定声卡 pactl set-card-profile alsa_card.platform-hdmi-sound off # 开启指定声卡输出 pactl set-card-profile alsa_card.platform-hdmi-sound output:stereo-fallback ``` **检查目标设别可用的输出端口** ```bash # 列出所有输出设备 orangepi3b:~$ pactl list sinks short 1 AudioCodec-Playback module-alsa-sink.c s16le 2ch 44100Hz IDLE 4 alsa_output.platform-hdmi-sound.stereo-fallback module-alsa-card.c s16le 2ch 44100Hz IDLE ``` **切换到输出设备** ```bash # 查看当前默认输出 @orangepi3b:~$ pactl get-default-sink alsa_output.platform-hdmi-sound.stereo-fallback # 设置默认输出 pactl set-default-sink alsa_output.platform-hdmi-sound.stereo-fallback pactl set-default-sink AudioCodec-Playback ``` **指定设备静音** ```bash pactl set-sink-mute alsa_output.platform-hdmi-sound.stereo-fallback 0 # 静音 pactl set-sink-mute alsa_output.platform-hdmi-sound.stereo-fallback 1 # 恢复 ``` **设置输出音频音量** ```bash bj@orangepi3b:~$ pactl set-sink-volume alsa_output.platform-hdmi-sound.stereo-fallback +10% bj@orangepi3b:~$ pactl set-sink-volume alsa_output.platform-hdmi-sound.stereo-fallback 100% ``` **桌面自动启脚本目录** ``` bj@orangepi3b:~$ ls -l ~/.config/autostart/ total 28 -rw-rw-r-- 1 bj bj 29 Sep 20 2024 blueman.desktop -rw-rw-r-- 1 bj bj 29 Sep 20 2024 geoclue-demo-agent.desktop -rw-rw-r-- 1 bj bj 49 Oct 31 13:29 onboard-autostart.desktop -rw-r--r-- 1 bj bj 188 Apr 24 2024 pasystray.desktop -rw-rw-r-- 1 bj bj 29 Sep 20 2024 snap-userd-autostart.desktop -rw-rw-r-- 1 bj bj 29 Sep 20 2024 ubuntu-advantage-notification.desktop -rw-rw-r-- 1 bj bj 29 Sep 20 2024 update-notifier.desktop ``` | **文件/目录** | **作用** | **优先级** | | :-----------------------: | :------------------------------: | :--------: | | `~/.xprofile` | 环境变量和预启动命令 | 高 | | `~/.config/xfce4/xinitrc` | 用户自定义 XFCE 初始化脚本 | 中 | | `~/.config/autostart/` | 用户级自动启动应用(`.desktop`) | 低 | | `/etc/xdg/xfce4/xinitrc` | 全局 XFCE 初始化脚本 | 最低 | 通过合理配置这些文件,可以优化 XFCE 的启动速度和行为。如果遇到问题,优先检查 `~/.xsession-errors` 日志! ### 测试音频输出 ``` speaker-test -c 2 -t wav ``` `pasystray` 是一个 **PulseAudio 系统托盘(System Tray)控制工具**,它提供一个图形化界面(通常在任务栏或通知区域显示图标),用于快速调整音量、切换音频设备、管理输入/输出通道等。 ------ ## **1. `pasystray` 的主要功能** - **音量控制**:调整主音量或单独应用程序的音量。 - **设备切换**:快速选择不同的音频输入(麦克风)或输出(扬声器/耳机)。 - **配置文件管理**:切换声卡的不同配置(如 `Stereo Output`、`HDMI`、`Off`)。 - **输入/输出监控**:显示当前活动的音频流(如正在播放的应用程序)。 - **静音控制**:一键静音/取消静音。 ### 参考文档 [Arch Linux PulseAudio](https://wiki.archlinuxcn.org/wiki/PulseAudio#) [PulseAudio 简介](https://zhuanlan.zhihu.com/p/661330057)
qingkai
2025年4月17日 13:51
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码