Засеки 25 минут!

в 11:38, , рубрики: linux, консоль, напоминания, метки: , ,

Как часто вам бывает нужно просто засечь время? Я думаю, что такая необходимость периодически возникает у всех. Кто-то просто смотрит на часы, кто-то использует специальные программы, кто-то ставит будильник на телефоне.

Но помимо всех этих способов можно ещё сделать вот так:

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


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js