Задать вопрос

Growl @ Mac OS X Lion — хочу получать сообщения от соответствующей службы Windows по сети?

Программа на Windows PC, работающая всегда, сообщает о событиях посредством службы сообщений Windows. Проще говоря, шлёт сообщения NET SEND. Хочется оперативно получать эти сообщения на рабочем компьютере под управлением Mac OS X Lion. В идеале — в Growl. Согласен на установку отдельной программы. Гуглю второй день — безрезультатно.

Может быть кто то из коллег решил эту, или подобную задачу?
  • Вопрос задан
  • 3438 просмотров
Подписаться 9 Оценить Комментировать
Решения вопроса 1
d43
@d43
Блин. Я дурак! Самого очевидного и простого решения не заметил. Есть же growlnotify, и с ним не нужны этим танцы с AppleScript'ом и правами доступа. Все очень просто и логично.

Короче, ваша задача решается так:

1) Поставьте growlnotify с офсайта Growl.

2) Создайте файл /usr/local/bin/growlnotify.sh со следующим содержимым:

#!/bin/bash
cat $1 | /usr/local/bin/growlnotify -t $2


3) В терминале,
chmod +x /usr/local/bin/growlnotify.sh

4) Откройте файл /etc/smb.conf и добавьте в секцию [global] строчку

message command = /usr/local/bin/growlnotify.sh %s %f

5) Пункт 5 из предыдущего сообщения.

Все!
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
d43
@d43
А потеоретизировать можно? Гуглом нашел ридми к некой программе из 2003 года MacXPop, где написано следующее:

Open /etc/smb.conf

Under the [global] section add or edit the following lines to match (for further information on the smb.conf file see man pages, man smb.conf):

netbios name = Example-Mac (where Example-Mac is your Mac's Netbios name)
message command = /usr/local/bin/MacXPop %s %f &

Если это сработает, то можно написать обработчик на AppleScript, который и будет уведомлять вас через Growl (см. пример).
Ответ написан
d43
@d43
Решил таки проверить теорию:

image
(Сообщение из виртуальной машины DAE_MACPRO_7, посланное программой sent, заменяющей «net send», пришло на хост DAE-MACPRO).

Есть одно большое «но». Я плохо разбираюсь в юниксовой систем прав доступа, но, судя по всему, у используемого SMB пользователя «nobody» нет возможности запускать скрипты (т.е. программу osascript). Из-за этого мне пришлось заставить SMB использовать своего юзера, что (подозреваю) недопустимо с точки зрения безопасности. Если у кого есть какие идеи, как решить или обойти эту проблему — пишите!

По шагам:
1) Скачайте мой скрипт и положите его, например, на рабочий стол. Кстати, исходник можно посмотреть с помощью AppleScript Editor.app.

2) Откройте текстовым редактором /etc/smb.conf.

3) В секцию [global] добавьте строчку

message command = osascript /Users/ваш_юзер/Desktop/netsendreceiver.scptd %s %f

4) Чуть ниже поменяйте
guest account = nobody
на
guest account = ваш_юзер

(Собственно в этом вся и загвоздка).

5) Затем зайдите в системные настройки, поставьте галочку напротив «File sharing», там же нажмите кнопку «Options» и поставьте галочку «Share files and folders using SMB (Windows)». Это должно запустить SMB сервер. (Наверное, это можно сделать и через терминал).

Вроде все.

Тестировал на Snow Leopard.
Ответ написан
Комментировать
@MikhailEdoshin
Есть питоновский модуль, который вроде как поддерживает GNTP (Growl Notification Transport Protocol). Сам не пробовал.
Ответ написан
kamlay
@kamlay Автор вопроса
Спасибо! Доберусь до работы — попробую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы