我有一台装有 Gentoo 的 Raspberry Pi,我用它来播放音频。我的想法是通过 ssh 登录,然后从命令行播放音频。但是当我在没有先进行物理登录的情况下通过 ssh 进入它并使用声卡时,alsamixer
我得到:
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: File or directory not found
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: File or directory not found
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: File or directory not found
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/conf.c:5727:(snd_config_expand) Evaluate error: File or directory not foundccc
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.11/work/alsa-lib-1.2.11/src/control/control.c:1570:(snd_ctl_open_noupdate) Invalid CTL default
Error when opening mixer: File or directory not found
更一般地说,我现在无法播放音频。如果我先以物理方式登录并调用alsamixer
,然后alsamixer
通过 ssh 使用,那么它就可以正常工作,我也可以播放音频。所以我想我可以通过物理登录来激活声卡,而不能通过 ssh 来使用它,而且一旦激活,我也可以通过 ssh 使用它。我怎样才能在不进行物理登录的情况下激活我的声卡?
编辑:看来 ssh 没有为我的会话分配席位。
感谢 Markus Müller 和 Tom Yan,我现在更清楚问题出在哪里了。我使用的是 Pipewire,为了让它正常工作,我将我的用户从组中移除
audio
。此外,如果我通过 ssh 登录,Pi 也不会为我分配座位。不过,我最终解决问题的方法并不是上述两个建议。相反,我配置了我的默认用户(它会自动登录并因此被分配座位),以自动启动一个分离的 tmux 会话。当我想播放音频时,我只需将该 tmux 会话附加到我的终端中,就可以了!