crontab启动图形程序的问题
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
crontab启动图形程序的问题
因为不知道该贴到哪, 就放到这来了
-------------------------------
在我的系统上, 用crontab可以正常的启动非图形界面的命令, 比如
________________________________________
11 * * * * /usr/bin/mplayer /home/name/abc.mp3
----------------------------------------
每个小时的11分, 就会从音响里传出abc.mp3的声音。
但是, 如果是和图形界面相关的命令, 都运行不了。
________________________________________
11 * * * * /usr/bin/xmms /home/name/abc.mp3
----------------------------------------
没有任何反应。 即使加上DISPLAY=:0 &&, 也无济于事
________________________________________
11 * * * * export DISPLAY=:0 && /usr/bin/xmms /home/name/abc.mp3
----------------------------------------
在论坛里搜索到的帖子, 用最后一个方法都可以启动程序, 可是为什么我这里就不行啦?????
那位牛人帮我看看, 先谢了
-------------------------------
在我的系统上, 用crontab可以正常的启动非图形界面的命令, 比如
________________________________________
11 * * * * /usr/bin/mplayer /home/name/abc.mp3
----------------------------------------
每个小时的11分, 就会从音响里传出abc.mp3的声音。
但是, 如果是和图形界面相关的命令, 都运行不了。
________________________________________
11 * * * * /usr/bin/xmms /home/name/abc.mp3
----------------------------------------
没有任何反应。 即使加上DISPLAY=:0 &&, 也无济于事
________________________________________
11 * * * * export DISPLAY=:0 && /usr/bin/xmms /home/name/abc.mp3
----------------------------------------
在论坛里搜索到的帖子, 用最后一个方法都可以启动程序, 可是为什么我这里就不行啦?????
那位牛人帮我看看, 先谢了
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
谢谢LS,
但是我还是没搞出来。 我分别试了下面的几种方法, 都不能启动图形界面
但是我还是没搞出来。 我分别试了下面的几种方法, 都不能启动图形界面
代码: 全选
DISPLAY=:0.0
11 * * * * export DISPLAY ;/usr/bin/xmms
12 * * * * export DISPLAY && /usr/bin/xmms
13 * * * * (export DISPLAY ; /usr/bin/xmms)
14 * * * * (export DISPLAY && /usr/bin/xmms)
15 * * * * export DISPLAY /usr/bin/xmms
16 * * * * /usr/bin/xmms
17 * * * * (export DISPLAY ; /usr/bin/xmms)
18 * * * * DISPLAY=:0.0;export DISPLAY; /usr/bin/xmms
19 * * * * (DISPLAY=:0.0;export DISPLAY; /usr/bin/xmms)
代码: 全选
DISPLAY=:0.0
11 * * * * export DISPLAY=:0 &&/usr/bin/xmms
12 * * * * export DISPLAY=:0.0 && /usr/bin/xmms
13 * * * * (export DISPLAY=:0 && /usr/bin/xmms)
14 * * * * (export DISPLAY=:0.0 && /usr/bin/xmms)
15 * * * * DISPLAY=:0.0;export DISPLAY&& /usr/bin/xmms
16 * * * * (DISPLAY=:0.0;export DISPLAY&& /usr/bin/xmms)
代码: 全选
11 * * * * DISPLAY=:0.0 && export DISPLAY && /usr/bin/xmms
12 * * * * DISPLAY=:0.0 ; export DISPLAY ; /usr/bin/xmms
13 * * * * (DISPLAY=:0.0 && export DISPLAY && /usr/bin/xmms)
14 * * * * (DISPLAY=:0.0 ; export DISPLAY ; /usr/bin/xmms)
15 * * * /usr/bin/xmms -display 127.0.0.1:0.0
上次由 yjcong 在 2008-05-25 21:18,总共编辑 1 次。
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
crontab 不建议写太多东西, 建议用一个脚本启动
在 X 下开一个终端
然后用cron定时启动这个script
在 X 下开一个终端
代码: 全选
echo '#!/bin/bash -e' >> startxmms.sh
# 将链接当前X需要的变量放进去
export >> startxmms.sh
# 启动程序
echo '/usr/bin/xmms /home/name/abc.mp3 &' >> startxmms.sh
chmod +x startxmms.sh
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
谢谢LS,你写的命令在我的机器上生成如下的startxmms.sh
然后我用crontab -e
11 * * * * /home/name/startxmms.sh
可是还是没有xmms启动啊。
代码: 全选
#!/bin/bash -e
declare -x COLORTERM="Terminal"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-rO3jJzcf7b,guid=ff9b4347655e3fb35732390048393a3d"
declare -x DESKTOP_SESSION="IceWM"
declare -x DISPLAY=":0.0"
declare -x GDMSESSION="IceWM"
declare -x GDM_LANG="zh_CN.UTF-8"
declare -x GDM_XSERVER_LOCATION="local"
declare -x GTK_IM_MODULE="scim"
declare -x HISTCONTROL="ignoreboth"
declare -x HOME="/home/name"
declare -x LANG="zh_CN.UTF-8"
declare -x LANGUAGE="zh_CN.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="name"
declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35:*.mpc=01;35:*.ogg=01;35:*.wav=01;35:"
declare -x OLDPWD
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
declare -x PWD="/home/name"
declare -x QT_IM_MODULE="scim"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AGENT_PID="4910"
declare -x SSH_AUTH_SOCK="/tmp/ssh-MWYSQl4865/agent.4865"
declare -x TERM="xterm"
declare -x USER="name"
declare -x USERNAME="name"
declare -x WINDOWID="16777817"
declare -x XAUTHORITY="/tmp/.gdmHYQOBU"
declare -x XMODIFIERS="@im=SCIM"
/usr/bin/xmms /homg/name/abc.mp3&
11 * * * * /home/name/startxmms.sh
可是还是没有xmms启动啊。
上次由 yjcong 在 2008-05-25 21:19,总共编辑 1 次。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
- roylez
- 帖子: 1928
- 注册时间: 2005-10-04 10:59
- 来自: 上海
- adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
楼主谢LZyjcong 写了:谢谢LZ
第一次见到对自己这么客气的耶
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
命令行下直接用命令是可以启动的。 安你的方法, 我到/var/spool/mail/里看了, 出了roylez 写了:还有个比较间接的办法看出错的信息:yjcong 写了:回LZ,是 :0.0roylez 写了:在命令行里面,输入
echo $DISPLAY
看看这个环境变量到底是什么值。
你先装个发信的软件,例如sendmail/postfix/esmtp,不用配置,只要装完之后确定有/usr/bin/sendmail文件存在就行。然后cron里面的任务执行的时候,如果有命令行输出,会自动给你发邮件,位置当然是到/var/spool/mail/username下。你在时间到了之后,查看下新邮件里面的错误信息就可以确定问题了。
代码: 全选
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (try installed on Tue May 27 03:34:19 2008)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)