• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Run-on-Bonjour: Wie Skript starten, wenn ein Device on-/offline geht

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Hallo zusammen,

ist es möglich, dass man bei einem Bonjour-Event (Gerät zeigt sich im Netz/Gerät verschwindet aus dem Netz) ein Skript auslöst?

Bei launchd bin ich leider nicht fündig geworden und bei MarcoPolo kann man die Regeln nicht passend definieren.

Über hilfreiche Antworten wäre ich dankbar.
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Dazu müßtest Du in regelmäßigen Abständen selbst Bonjour Anfragen ins Netzt senden und nachsehen. Bonjour muß gepolled werden.
Gruß Pepi
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Also sendet der Finder dann auch alle 2 Sekunden eine Bonjour-Anfrage heraus?
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Nein, das macht der mDSNResponder(8) in dem Fall. Für eigene Skript könntest Du beispielsweise dns-sd(1) bemühen.

Um was für ein Gerät bzw. Dienst handelt es sich denn?
Gruß Pepi
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Danke schon mal.

Es handelt sich um einen WiFi-Drucker (HP Photosmart C4580). Der Drucker hat zwar einen eigenen Bonjour-Server, aber leider verkündet der nur die Druckdienste im Netzwerk.
Eingebaut im Drucker ist noch ein Speicherkartenleser, mit dem man sich über SMB verbinden kann. Diese SMB-Share wird jedoch nicht über Bonjour verbreitet.
Leider gibt es keine Möglichkeit, den Drucker dazu zu bringen, dass er neben den Print-Service auch den SMB-Service verkündet.

Also habe ich momentan schon mal über dns-sd einen Proxy für den Service eingerichtet, womit der Kartenleser dann auch brav im Finder unter den Freigaben auftaucht und angesprochen werden kann.

Nur ist mir das nicht wirklich elegant genug, da die Freigabe immer angezeigt wird, selbst wenn ich in einem ganz anderen Netz bin.

Deshalb war meine Idee, im Hintergrund einen Dienst laufen zu lassen, der den dns-sd-Proxy startet/beendet, sobald der Print-Service im Netz auftaucht/verschwindet.

Zur Problemlösung stehen mir übrigens hier ein iMac, ein MacBook und ein kleiner Linux-Server (Kategorie "embedded Miniserver") zur Verfügung.
Ist es eigentlich ein Problem, wenn zwei dns-sd-Proxies denselben Dienst verkünden?
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Warum machst Du Dir nicht einfach einen Alias von dem SMB Share ins Dock, oder die Finder Symbolleiste oder sonstwohin? K gibts auch noch. Ist doch völlig wurscht ob der in der Seitenleiste auftaucht und wieder verschwindet. So isses auch nur einen Klick entfernt und Du wirst ja hoffentlich wissen ob Du in dem Netzwerk bist oder nicht und das Ding nur mounten wenn Du auch eine Karte drinnen hast.

Ist zugegebenermaßen keine Lösung für die Aufgabenstellung, aber durchaus eine Lösung für das Problem.
Gruß Pepi
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Ich bin halt ein Perfektionist ;)

Mit dns-sd-Proxy geht es ja jetzt schon halbwegs ordentlich, aber eben noch nicht perfekt.
 

awk

Clairgeau
Registriert
03.07.08
Beiträge
3.687
Nur ist mir das nicht wirklich elegant genug, da die Freigabe immer angezeigt wird, selbst wenn ich in einem ganz anderen Netz bin.

Verwendest du verschiedene Netzwerkumgebungen, oder immer "Automatisch"?
Wie startest du dns-sd? Per Terminal?
 

Bananenbieger

Golden Noble
Registriert
14.08.05
Beiträge
25.515
Ich habe bislang den dns-sd einfach in den Startobjekten, da er auf meinem stationären iMac läuft.

Würde ich Marco Polo einsetzen, könnte ich dann zwar den dns-sd starten, wenn der Druckserver im Netz auftaucht, aber leider kann ich bei Marco Polo keine NOT-Regel definieren, so dass ich den dns-sd nicht beenden kann, wenn der Druckserver weg ist.
Also habe ich erst einmal auf Marco Polo verzichtet und lasse den dns-sd permanent laufen.