首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Cron作业计划的Python脚本失败了

通过Cron作业计划的Python脚本失败了
EN

Stack Overflow用户
提问于 2017-04-15 03:16:22
回答 1查看 300关注 0票数 1

上下文-我有一个Python脚本,它读取音乐文件夹,每次为每个音乐文件打开VLC播放器(一首歌将播放,VLC将关闭,然后另一首将播放等等)。当我从IDE或终端执行python脚本时,脚本成功运行。然而,当我通过Cron作业执行它时,它就失败了。

Python脚本--请注意,为了测试目的,我已经禁用了循环。

代码语言:javascript
复制
import os,subprocess
my_path = '/home/tushar/Music/Devotional/'
songs_list = os.listdir(my_path)
song_str = ''
#for song in songs_list:
   #subprocess.run(["vlc", my_path+song])
subprocess.run(["vlc", "/home/tushar/PycharmProjects/Morning Devotional Songs/Ganesha.opus"])

Crontab -e

代码语言:javascript
复制
47 10 * * * python3 /home/tushar/PycharmProjects/Morning\ Devotional\ Songs/main.py >> /var/log/myjob.log 2>&1

克伦工作日志-

代码语言:javascript
复制
> [000055ed64567cf8] core interface error: no suitable interface module
> [000055ed6445a148] core libvlc error: interface "globalhotkeys,none"
> initialization failed [000055ed64567cf8] dbus interface error: Failed
> to connect to the D-Bus session daemon: Unable to autolaunch a
> dbus-daemon without a $DISPLAY for X11 [000055ed64567cf8] core
> interface error: no suitable interface module [000055ed6445a148] core
> libvlc error: interface "dbus,none" initialization failed
> [000055ed6445a148] core libvlc: Running vlc with the default
> interface. Use 'cvlc' to use vlc without interface. [000055ed64567cf8]
> qt4 interface error: Could not connect to X server [000055ed64567cf8]
> skins2 interface error: cannot initialize OSFactory [000055ed64567cf8]
> [cli] lua interface: Listening on host "*console". VLC media player
> 2.2.4 Weatherwax Command Line Interface initialized. Type `help' for help.
> 
> Shutting down. [000055ed64567cf8] [cli] lua interface: Requested
> shutdown. [000055ed64567cf8] [cli] lua interface error: Error loading
> script /usr/lib/vlc/lua/intf/cli.luac: lua/intf/modules/host.lua:279:
> Interrupted. [00007f977c0178c8] core stream error: cannot pre fill
> buffer

我该怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-15 03:23:00

您的cron作业日志为您的工作失败提供了线索。

使用“cvlc”使用没有接口的vlc。000055ed64567cf8 qt4接口错误:无法连接到X服务器

这意味着没有找到y服务器,您必须在没有接口的情况下运行相同的任务,例如:

代码语言:javascript
复制
subprocess.run(["cvlc", "/home/tushar/PycharmProjects/Morning Devotional Songs/Ganesha.opus"])

cvlc就像没有接口和命令行的vlc。试一试让我们知道!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43421818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档