X 命令不是从我的 at 工作开始

X 命令不是从我的 at 工作开始

我正在学习 Linux 调度命令,包括、at等。我尝试通过该命令在 x 分钟后启动。这就是我所拥有的:cronsleepgeditat

kedar@i5 ~ $ at now + 1 minute
at now + 1 minute
warning: commands will be executed using /bin/sh
at> ./s.sh
at> <EOT>
job 18 at Fri Aug 15 13:21:00 2014

的内容s.sh(-rwxr--r--):

#!/bin/sh
#set $DISPLAY=:0
echo "Created on" `date` >t.txt
gedit #(also tried /usr/bin/gedit and `gedit` and systen(/usr/bin/gedit))

1 分钟后,将创建包含预期内容的 t.txt。不过还gedit没有推出。就此而言,我的程序(firefoxxcalcxfce4-terminal)都不能通过这种方式启动at

奇怪的是,当我./s.sh在 bash 中运行时,gedit打开得很好。

我还尝试运行at(从文件 - 如果这是完全正确的):

kedar@i5 ~ $ at now + 1 minute -f ./s.sh

at我猜我使用shell 脚本的方式有问题。我也不能at在没有 shell 脚本的情况下使用吗?谢谢。

答案1

您需要设置显示变量,但这样做是这样的:

#!/bin/bash
export DISPLAY=":0"
gedit

进而

at now + 1 minute -f test.sh

为我工作Ubuntu 14.04.1 LTS

相关内容