Ubuntu:使用 SoX 播放命令播放音频文件

Ubuntu:使用 SoX 播放命令播放音频文件

编辑:

play我正在尝试使用 SoX命令通过 SSH 在 Ubuntu 上播放声音。当我启动机器并物理访问机器并登录 Ubuntu GUI 后,我可以运行此play命令并播放我的文件并听到机器的音频输出。无论我是从本地会话还是通过 SSH 会话运行该命令,这都有效。即使我锁定 GUI,这仍然有效。

但是在重新启动时,在我登录 Ubuntu GUI 之前,当我通过 SSH 连接并运行时,play我听不到任何声音,但其他所有命令都工作正常,包括安装和删除软件包、运行 openvpn 服务、scp机器和客户端之间的文件。另外,即使听不到音频输出,SSH 终端也没有显示错误; SoX 显示音频正在播放。

注意:我尚未启用通过 SSH 对我的服务器进行完整的 root 用户访问。例如,我仍然可以sudo做任何事情,但我不能scp直接从 做任何事情。/root

我的猜测是我的音频服务或模块在 GUI 登录之前没有激活。有这方面的线索吗?

机器:MacBook Air 2017

Ubuntu 桌面 22.04.1 LTS

答案1

所以我找到了一个解决方案。我认为有一个名为“音频”的组只列出了脉冲用户。我必须将用于访问 SSH 的用户(用户名)添加到音频组。

  1. 查找添加到音频组的用户
$ less /etc/group | grep audio
>>> audio:x:29:pulse
  1. 让我们仔细检查当前用户的名称:
$ who
>>> user_name      pts/0        2023-01-18 08:55 (10.0.0.167
  1. 确保您的用户属于该组。步骤 1 的输出显示脉冲当前被设置为音频的唯一用户。因此,让我们将 user_name 添加到该组中。
$ sudo usermod -a -G audio user_name
  1. 仔细检查它是否有效

$ less /etc/group | grep audio
>>> audio:x:29:pulse,user_name

  1. 重新启动一下吧!
$ sudo reboot
After reboot and re-login
$ play audio_file.mp3

相关内容