Xupeng's blog

圆外之大,心向往之

使用at执行X应用程序

前几天以为使用 at 不能定时执行 X 应用程序,还自己用 Python 写了一个很简单的来使用,见这里

早上起来在 linuxsir 看到了有人给了新的回复,说不能运行只是因为没有指明 display,并非 at 不支持X应用程序,解决的办法是使用 –display 选项。

因此可以这样使用 at 定时执行X应用程序: 在要运行X程序的X登录下查看当前的DISPLAY:

1
2
aiyi@osr ~ $ echo $DISPLAY
:0.0

使用at添加任务,比如:

1
2
3
4
5
aiyi@osr ~ $ at 08:34
warning: commands will be executed using /bin/shell
at> gedit --display=:0.0
at> <EOT>
job 23 at 2006-06-19 08:34

这样就OK了。

另外还有一个在这里可能会用到的命令:xhost

1
2
aiyi@osr ~ $ xhost +root
root being added to access control list

只有使用 xhost 允许了其他用户访问自己的 DISPLAY,其他用户才可以在这个 DISPLAY 下运行 X 程序,不然也是不能成功的,会有类似这样的错误信息:

1
2
3
4
osr aiyi # gedit --display=:0.0
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specifiedcannot open display: :0.0
Run 'gedit --help' to see a full list of available command line options.

Comments