Получение уведомлений от запущенного на удалённом сервере mcabber

Краткая информация

Mcabber - гибкий и удобный консольный jabber-клиент. Вся прелесть в том, что его можно запустить в screen/tmux на удалённом сервере и пользоваться через ssh. Это даёт ряд преимуществ: во-первых вы всегда будете онлайн и никакие перезагрузки, или нестабильный интернет не будет помехой, во-вторых это безопасно, т.к. на локальной машине у вас не будет никаких следов: логов, историй, трафика и т.д.

Настраиваем уведомления

Не всегда удобно переключаться на консоль с клиентом, чтобы проверять наличие новых сообщений. Предлагаю следующий вариант: в конфиг ~/.mcabber/mcabberrc добавляем строчку:

set statefile = ~/.mcabber/mcabber.state

Далее организовываем на сервер где запущен mcabber вход по ключам ssh (в том числе не забываем запустить ssh-agent, чтобы выполнение команды не требовало ввода пароля). Создаём файл ~/.bin/jabbercheck.sh:

. ~/.ssh/environment # не забываем подключить переменные среды ssh-agent
ssh user@host "if [ -f ~/.mcabber/mcabber.state ]; then cat ~/.mcabber/mcabber.state | wc -l; else echo 0; fi

теперь выполнив этот скрипт можно узнать сколько человек вам написало сообщений. Ну и соответственно добавляем его например в conky, либо через notify-send выводим всплывающее сообщение, периодически выполняя скрипт через crontab.