Терминальные звуковые сигналы (выход) и Growl
Мне нужен способ вызвать уведомление Growl, когда в терминале запускается Beep.
В идеале, я бы хотел, чтобы у вас был способ захватить вывод терминала – с сервера SSH, скажем, и обрабатывать его с помощью Growl – условно.
Есть идеи?
- Показать / скрыть значок приложения в доке
- Является ли использование double быстрее, чем float?
- ОЧЕНЬ большие текстовые файлы и Snow Leopard
- Свяжите расширение файла с приложением в Snow Leopard
- Могу ли я сделать новую установку Snow Leopard с внешнего DVD-привода?
- Ошибка сервера Bootstrap в Xcode IPHONE
- X11.app (на SnowLeopard) не запустится
- Как синхронизировать папки искателя в их соответствующие альбомы в iPhoto?
- Проблема с отображением клавиатуры Snow Leopard
- Как сохранить снежный барс от показа мягкой клавиатуры при запросе пароля?
- Запуск .exe-программ на Mac OSX
- Как обрезать записи экрана под Snow Leopard?
- Mac OS X автоматически отключает аэропорт, если кабель Ethernet подключен
Интересный вопрос, но довольно открытый. Какие звуковые сигналы вы пытаетесь захватить? И какой результат вы пытаетесь обработать? Ошибки? Завершение процессов?
Growlnotify – это инструмент командной строки для отправки уведомлений Growl. Он должен быть установлен отдельно и может быть найден в папке «Дополнительно» на образе диска Growl.
Вы можете использовать команду unix trap, чтобы уловить любые ошибки в скрипте и отправить результат на рычание, используя growlnotify. Я не знаю ни о каком способе захвата терминального колокола, вам нужно ловушку для какого-то определенного сигнала unix.
Чтобы узнать, какие сигналы доступны в вашей системе, введите kill -l
в терминал. В вышеприведенной статье о команде unix trap имеется список общих сигналов ловушки.
Если вы ищете способ оповестить с рычанием о завершении долговременного терминального сценария, вот решение в Mac OS X Hints.
Если вы просто хотите перенаправить весь вывод терминала на рычание, для этого можно было бы изменить технику в Mac OS X Hints. Поместите это в свой .profile, .bashrc или .zshrc. Он перенаправляет вывод команды на рычание.
# Before a command execution preexec() { export PREEXEC_CMD="Command: $1" $1 | growlnotify -n "Terminal" ${PREEXEC_CMD:-Some command} }
Я оставлю это упражнением для читателя, чтобы добавить логику для перенаправления условно в зависимости от команды или любых параметров, поскольку я не знаю, какие «условия» вы ищете. 🙂
То, что вы хотите, возможно, но я не думаю, что инструмент существует. В качестве места для самостоятельной разработки, проверьте BounceTerm (поставляется с источником), который превращает звуковые сигналы и звонки в док-станции. Кажется, именно то, что вы ищете, но с немного отличающимся выходом.
Используйте iTerm в качестве эмулятора терминала, это единственный способ, которым я знаю. У него есть рычание поддержки 🙂
Частичный ответ: Начиная с Mac OS X Lion 10.7, терминал отображает значок на значке Dock, обозначающий количество BEL, записанных на неактивных терминалах. «Неактивный» означает, что окно терминала не является передним / активным окном, или терминал не является выбранной вкладкой в окне с несколькими вкладками. Он также отображает значок «звонок» на вкладках, чтобы указать, какой терминал вызывается (я рекомендую показывать панель вкладок, даже если вы не используете окна с несколькими вкладками). Терминал Lion отображает ряд полезных новых индикаторов состояния там). Если терминал не является передним приложением, он также отскакивает от значка док-станции при подаче звукового сигнала.