Ubuntu 可以通过 cron 作业播放视频吗?

Ubuntu 可以通过 cron 作业播放视频吗?

我正在为一家油漆店开发一个显示系统。
我安装了一台装有 Ubuntu 的计算机来运行视频并将其显示在电视上,并运行一个 PHP 脚本,该脚本应每小时通过互联网更新视频。

该脚本设置为通过 cron 运行,每小时执行一次 (@hourly)。几乎整个脚本都运行正常,但最后一行执行 VLC Media Player 显示视频时却无声无息地失败了。如果通过命令行 ( php /path/to/cron.php) 运行该脚本,VLC Media Player 可以正常启动。但当它在 cron 中运行时,它却无法启动。

我的想法是,通过 cron 运行的作业根本没有能力运行具有可见 GUI 的应用程序,但我真的希望这不是答案。

请帮我破解这个!

答案1

要在 X 服务器上显示某些内容,X 客户端(如)需要设置vlc一个环境变量,该变量定义 X 服务器的网络地址。在几乎所有情况下(一个本地 X 服务器),它都应分配给。DISPLAY:0

您可以从脚本中设置该变量,或者直接运行bash -c "DISPLAY=:0 vlc $vlcopts"(当然是替换$vlcopts)。

答案2

您还可以使用:

@hourly screen -d -m vlc-wrapper /path/to/file/foo.flv --novideo --volume 700 --repeat --rc-fake-tty

使 vlc 工作。这里有一个详细的过程: http://michaelchrisco.com/wiki/index.php?title=Set_up_VLC_as_a_cron_job

相关内容