Понимание команды at для планирования другой команды
Я использую cron для планирования событий в Linux, но недавно я обнаружил команду "at".
sudo apt-get install at
Я не понимаю область действия этой команды:
- Как бы вы запланировали команду с at, которая обычно требует прав администратора?
- Какой рабочий каталог (pwd) команды запланирован на?
Кроме того, все, что я пробовал до сих пор, не достигло того, что я пытался сделать.
Например, я попытался запустить Gedit через минуту:
echo "gedit" | at now + 1 minute
Я подождал минуту, и ничего не случилось.
Я попытался выключить монитор через одну минуту:
echo "xset dpms force off" | at now + 1 minute
Я подождал минуту, и ничего не случилось.
Если я не могу заставить себя надежно выполнить задачу через минуту, как я могу быть уверен, что она выполнит то, что я скажу сделать завтра и после?
Что мне здесь не хватает?
1 ответ
Попробуйте вместо этого:
~$ at now + 1 minute
at> ls -ahl > /tmp/at_test
at> ^D
Ты найдешь /tmp/at_test после выполнения команды.
Если вы хотите запустить какое-то приложение с графическим интерфейсом, вы должны указать DISPLAY переменная; использование echo $DISPLAY чтобы узнать, что вы показываете
~$ at now + 1 minute
at> DISPLAY=:0 gedit
at> ^D
Трубопровод тоже в порядке:
echo "DISPLAY=:0 gedit" | at now + 1 minute