Shell

X 命令不是從我的工作開始的

  • August 15, 2014

我正在學習 Linux 調度命令,包括,at等。我試圖在 x 分鐘後通過該命令啟動。這就是我所擁有的:cron``sleep``gedit``at

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

我想我使用atshell 腳本的方式有問題。at沒有shell腳本我也不能使用嗎?謝謝。

您需要設置顯示變數,但這樣做是:

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

進而

at now + 1 minute -f test.sh

為我工作Ubuntu 14.04.1 LTS

引用自:https://unix.stackexchange.com/questions/150368