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

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

отсортировано по дате по оценке
ответы (5)

+1
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 из предыдущего сообщения.

Все!
Тестировал на Snow Leopard.


К сожалению, на Льве уже своя «самба»
Потому чтоб выполнить пункт 4. придется ставить Самбу.
Охота пуще неволи — буду ставить! )
kamlay, 16 февраля в 12:29
Огромное Спасибо!!! NET SEND в Growl заработал! Шары перестали видеться виндами, но с этим разберусь. kamlay, 16 февраля в 18:08
Отлично) Вы вносили какие-нибудь коррективы, кроме установки новой «самбы»? d43, 16 февраля в 22:13
Для того, чтобы пошли сообщения в Growl — нет. Все согласно вашему рецепту.
ps если вдруг доживу до момента, когда смогу плюсовать — отблагодарю )
kamlay, 16 февраля в 23:25
Возникла небольшая проблема — рабочая программа шлет сообщения на русском. В Growl они отображаются кракозябами. Как бы поменять кодировку? kamlay, 17 февраля в 12:18
Проблему решил — в секции Global прописал
display charset = utf8
dos charset = cp866
kamlay, 17 февраля в 12:38
+2
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 (см. пример).
Этот вариант я тоже нашел, но оставил его на самый крайний случай — больно давно писалась программка. Тем более, что в написании скриптов я, увы, не силен. Спасибо, завтра со свежей головой погляжу на пример. kamlay, 15 февраля в 23:07
+1
MikhailEdoshin #
Есть питоновский модуль, который вроде как поддерживает GNTP (Growl Notification Transport Protocol). Сам не пробовал.
Сорри, прочитал только вторую половину, без первой (NET SEND). Насчет NET SEND ничего умного не скажу. MikhailEdoshin, 15 февраля в 23:07
+1
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.
0
kamlay #
Спасибо! Доберусь до работы — попробую.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.