Как стать автором
Обновить

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

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

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

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 ':)'

И точно такая же ситуация ещё с очень многими вещами — нужно один раз посмотреть документацию, а потом использовать сколько захочется в самых разнообразных комбинациях, без установки специализированных утилит.

Надеюсь, для кого-то эта заметка оказалась полезной. Если будут какие-то вопросы на эту тему — пишите.
Теги:
Хабы:
Всего голосов 134: ↑98 и ↓36+62
Комментарии78

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань