Shell
X 命令不是從我的工作開始的
我正在學習 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
沒有推出。就此而言,我的任何程序(firefox
、xcalc
等xfce4-terminal
)都不能通過at
.奇怪的是,當我
./s.sh
在 bash 中執行時,gedit
它打開得很好。我也嘗試執行
at
(從文件 - 如果這完全正確):kedar@i5 ~ $ at now + 1 minute -f ./s.sh
我想我使用
at
shell 腳本的方式有問題。at
沒有shell腳本我也不能使用嗎?謝謝。
您需要設置顯示變數,但這樣做是:
#!/bin/bash export DISPLAY=":0" gedit
進而
at now + 1 minute -f test.sh
為我工作
Ubuntu 14.04.1 LTS