Как часто вам бывает нужно просто засечь время? Я думаю, что такая необходимость периодически возникает у всех. Кто-то просто смотрит на часы, кто-то использует специальные программы, кто-то ставит будильник на телефоне.
Но помимо всех этих способов можно ещё сделать вот так:
sleep 25m ; xmessage 'Hey! :)'
Всего две команды, которые довольно легко запоминаются.
Вместо xmessage может быть, разумеется, что угодно ещё. Например:
sleep 8h 30m ; mplayer /home/user/Music/pink_floyd-the_happiest_days_of_our_lives.flac
Впрочем, тут надо учитывать, что команда не будет выполнена, если вы закроете терминал. Если же необходимо, чтобы команда всё-таки выполнилась, то есть несколько способов это сделать.
Например, такой:
nohup sh -c "sleep 5s ; xmessage ':)'" &
Или, как вариант, такой (только не забудьте предварительно выполнить /etc/init.d/atd status и проверить, запущен ли atd):
echo "DISPLAY=":0" xmessage ':)'" | at now + 1 minute
У at вообще интересный синтаксис — там довольно много разных способов задавать нужное время выполнения задачи. Можно ещё вот так, например:
echo "DISPLAY=":0" xmessage ':)'" | at 14:25
Ну, и у переменной окружения DISPLAY тоже весьма широкое применение. Она позволяет задавать определённый X-дисплей, чтобы графическая программа была показана именно на нём. Поэтому если вы, например, подключились к компьютеру по SSH и хотите вывести сообщение на экран (чтобы его увидел пользователь, который сидит за компьютером), то делается это точно так же:
DISPLAY=":0" xmessage ':)'
И точно такая же ситуация ещё с очень многими вещами — нужно один раз посмотреть документацию, а потом использовать сколько захочется в самых разнообразных комбинациях, без установки специализированных утилит. Надеюсь, для кого-то эта заметка оказалась полезной. Если будут какие-то вопросы на эту тему — пишите.
Автор: MaGIc2laNTern