Назад | Перейти на главную страницу

Как сделать уведомления на рабочем столе из долго выполняющихся команд оболочки?

Я сейчас пытаюсь настроить sphinxsearch. Индексация занимает около 7 минут. Слишком долго ждать, поэтому я обычно начинаю выполнять другие задачи, прежде чем проверять результаты. Но я хотел бы получить уведомление, когда индексирование будет завершено - каковы ваши идеи? Проблема еще и в том, что сеансы проходят через ssh. Идеальным было бы какое-то уведомление в трее, которое отслеживало бы изменения на терминале, которые либо свернуты, либо отображаются на другом виртуальном рабочем столе.

Пара возможностей из моей головы:

  • проигрывать музыкальный или тревожный звуковой файл
  • откройте конкретное "Я готов!" веб-страница в вашем браузере (большинство браузеров просто откроют новую вкладку или окно, если они уже открыты)
  • notify-send или gmessage или xmessage, которые делают примерно одно и то же: всплывает окно x-windows с указанным вами сообщением.

Чтобы уточнить ответ @ pjz, вы можете использовать xmessage (или любую другую команду, которая заставит что-то происходить визуально) следующим образом:

long-running-command; xmessage "I'm Done"

Когда ваша команда будет выполнена, появится небольшое окно с уведомлением.

Я знаю screen терминальная программа может выдавать звонок, когда выход останавливается на виртуальном экране ... но я не уверен, что это даст именно то, что вы ищете.

Текущий метод в Linux: текст ссылки. Вы можете подключиться к нему из сценария оболочки, используя dbus.

Консоль KDE имеет возможность уведомлять вас (изменение колокольчика / значка), когда сеанс терминала производит новый вывод. Запустите индексирование в консоле и добавьте что-то вроде «&& echo done», чтобы получить результат в конце (если обычно его нет). Перенаправить обычный вывод из индексации.