bashスクリプトからgrowl通知を送信する必要がありますが、growlnotifyコマンドラインツールまたは同様の機能を実行できるperlモジュールをインストールする機能がありません。私は任意のbashスクリプトを書くことができ、このLinuxマシンで利用できるものの簡単なインベントリを作成した後、私はnetcatを持っているようです。
そのような方法でうなり声の通知を送信できますか?私はこのようなものをいじくり回してきました:
echo -ne "GNTP/1.0 NOTIFY NONE MD5:04cf1ad341ea8e51d7bb314424276c38.6162636465666768\r\nApplication-Name: test Notification-Name testtest Notification-Title: blah \r\n\r\n" | nc -v 127.0.0.1 23053
しかし、プロトコルが実際にどのように機能するかは私にはわかりません。クライアントが別のコンピューターにサブスクライブするとき、クライアントは基本的に、サーバーが接続するコンピューターのリスト(23053以上)に自分自身を登録し、フォーマットされたメッセージを送信し、応答を待ってから切断すると想定しています。私のbashスクリプトには送信先のマシンのリストが含まれている(または、おそらくリストを引数として受け入れる)ので、このサブスクリプションステップはスキップ可能である可能性があります(渡す必要のあるマジック値がない限り)。
ハッシュを正しく実行しているとは思わないか、受信通知を正しく受信するようにクライアントマシンを設定していません。
ここに何が欠けていますか?
このコマンドまたは同様のコマンドを実行すると、次のエラーメッセージが返されます。
GNTP/1.0 -ERROR NONE
Error-Code: 400
Error-Description: Invalid key hash
Origin-Machine-Name: SOMETHING
Origin-Software-Name: Growl/Win
Origin-Software-Version: 2.0.9.1
Origin-Platform-Name: Microsoft Windows NT 6.1.7601 Service Pack 1
Origin-Platform-Version: 6.1.7601.65536
X-Message-Daemon: Growl/Win
X-Timestamp: 2/5/2013 11:54:28 AM