1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

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

Dieses Thema im Forum "macOS & OS X" wurde erstellt von Bananenbieger, 27.02.09.

  1. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.566
    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.
     
  2. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    Dazu müßtest Du in regelmäßigen Abständen selbst Bonjour Anfragen ins Netzt senden und nachsehen. Bonjour muß gepolled werden.
    Gruß Pepi
     
  3. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.566
    Also sendet der Finder dann auch alle 2 Sekunden eine Bonjour-Anfrage heraus?
     
  4. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  5. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.566
    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?
     
  6. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    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
     
  7. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.566
    Ich bin halt ein Perfektionist ;)

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

    awk Clairgeau

    Dabei seit:
    03.07.08
    Beiträge:
    3.687
    Verwendest du verschiedene Netzwerkumgebungen, oder immer "Automatisch"?
    Wie startest du dns-sd? Per Terminal?
     
  9. Bananenbieger

    Bananenbieger Golden Noble

    Dabei seit:
    14.08.05
    Beiträge:
    24.566
    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.
     

Diese Seite empfehlen