Понимание команды 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
Другие вопросы по тегам