本地 crontab 中运行的 pacmd 命令不起作用

本地 crontab 中运行的 pacmd 命令不起作用

我尝试在启动时运行某些命令,以允许我的音频通过 FIFO 传输到文件中。如果我运行这些命令(手动或脚本),它会正常工作。但是,当我将它们放入本地 crontab -e 中时,命令会抛出错误。

一个示例命令:

pacmd load-module module-pipe-sink file=/tmp/snapfifo/bt sink_name=Bluetooth format=s16le rate=48000

如果我从 crontab 或以 sudo 运行它,我会得到:

无法访问主目录。没有 PulseAudio 守护进程正在运行,或者没有作为会话守护进程运行。

如果我以我的用户身份(sudo -u USER)运行此命令,只会出现此错误:没有运行 PulseAudio 守护程序,或者没有作为会话守护程序运行。

我已经为此寻找解决方案超过 5 小时了,并尝试加载环境和用户用户 PATH,但没有任何帮助。希望有人知道我如何在启动时自动运行命令。

答案1

终于找到答案了:

脚本需要参考如下:

导出PULSE_RUNTIME_PATH =“/运行/用户/$(id -u)/脉冲/”

要检查正确的路径:

回显 ${XDG_RUNTIME_DIR}

使用以下命令运行脚本:

sudo -u 用户名 -H

相关内容