Команда at

Автор Ethanol, 04 июня 2017, 11:12:28

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ethanol

Здравствуйте.
Решил познакомится с командой at. Решил выполнить простой пример и чтобы через минуту на экран вылезли глаза xeyes. На часах 13:06. Ввожу:
at 13:07
warning: commands will be executed using /bin/sh
at> xeyes
at> <EOT>
job 3 at Sun Jun  4 13:07:00 2017


На часах появляется время 13:07 и ничего не происходит. Что сделал не так?

dogsleg

Если посмотрите локальную почту пользователя, от которого пытаетесь использовать at, то увидите сообщение об ошибке. В этом сообщении говорится о том, что at не смогла получить доступ к дисплею (там должно быть что-то типа того, что такой дисплей не найден). В странице руководства, man at, сказано, что сохраняется состояние окружения за исключением переменных BASH_VERSINFO, DISPLAY, EUID, GROUPS, SHELLOPTS, TERM, UID и _. То есть, если вы хотите запустить какую-то команду, которая должна что-то отобразить на экране, нужно в задании at сообщить, на каком дисплее это следует сделать. Например:

$ at 22:15
warning: commands will be executed using /bin/sh
at> DISPLAY=:0 xeyes
at> <EOT>
job 1 at Sun Jun  4 22:15:00 2017


В таком случае в 22:15 будет запущена команда xeyes на дисплее номер 0. Обратите внимание, что в X понятие дисплей значительно шире, чем просто (физический) экран.

Ethanol

Большое спасибо.