Synology Box unter Mac OS X über Bonjour im Finder als Xserve anzeigen lassen

Status
Für weitere Antworten geschlossen.

Eldrik

Benutzer
Mitglied seit
16. Sep 2008
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
Hi,

Seit der neuen Firmware 722 ist ja auch zusätzlich zum iTunes Advertising nun auch die bekanntgabe der Weboberfläche und der Freigaben über Bonjour möglich.

Das folgende Beispiel ist an einer Diskstation 207+ vollzogen worden.

Leider wird die Diskstation im Finder nur als iMac angezeigt und nicht als "kleiner" Fileserver.

Dies kann man aber mit einer einfachen Erweiterung des Startscripts für den mDNSResponder ändern.

In meinem Falle erscheint die Diskstation später im Finder nur noch als Xserve von Apple was mir ein wenig angemessener erscheint :eek:

Das ganze sähe dann folgendermaßen aus:
Screen-capture.jpg

Um dieses zu erreichen müssen wir uns per Telnet oder SSH am NAS anmelden und uns zu dem Verzeichnis /usr/syno/etc/rc.d/ begeben.

Hier angekommen, bearbeiten wir die Datei S99mDNS.sh entweder mit dem Program vi oder nano

In der Datei suchen wir die Stelle

Rich (BBCode):
AddAFP(){                                                                                                   
        Port=548                                                                                            
        echo "$1        _afpovertcp._tcp.       local.  $Port" >> $mDNSFile                                 
}

und begeben uns zur letzten geschweiften Klammer } und beginnen mit der Eingabe der zusätzlich benötigten Zeilen

Folgende Anweisung sollten wir hinzufügen

Rich (BBCode):
AddModel(){                                                                                                 
          Port=0                                                                                            
          model="model=Xserve"                                                                              
          echo "$1      _device-info._tcp.      local.  $Port   $model" >> $mDNSFile                        
}

Das ganze sollte dann folgendermaßen aussehen:

Rich (BBCode):
AddAFP(){                                                                                                   
        Port=548                                                                                            
        echo "$1        _afpovertcp._tcp.       local.  $Port" >> $mDNSFile                                 
}                                                                                                           
AddModel(){                                                                                                 
          Port=0                                                                                            
          model="model=Xserve"                                                                              
          echo "$1      _device-info._tcp.      local.  $Port   $model" >> $mDNSFile                        
}                                                                                                           
AddHTTP(){                                                                                                  
        Port=5000                                                                                           
        echo "$1        _http._tcp.     local.  $Port" >> $mDNSFile                                         
}

Damit unsere zusätzliche Anweisung auch beim starten des Dienstes ausgeführt wird müssen wir nur noch eine weitere Zeile Code dem Script hinzufügen.

Dafür gehen wir bis zum Ende des Scripts und suchen den Eintrag:

Rich (BBCode):
if [ $isServiceStart -eq 1 ]; then                                                                          
        AddHTTP $ServName                                                                                   
        StartmDNS                                                                                           
fi

Und fügen die Zeile:

Rich (BBCode):
        AddModel $ServName

hinzu.

Das ganze sieht dann folgendermaßen aus:

Rich (BBCode):
if [ $isServiceStart -eq 1 ]; then                                                                          
        AddHTTP $ServName                                                                                   
        AddModel $ServName                                                                                  
        StartmDNS                                                                                           
fi

Das Script könnt ihr danach speichern und den Dienst mit ./S99mDNS.sh restart neustarten.

Danach solltet ihr im Finder das oben abgebildete Symbol erhalten!

P.s. mit Hilfe von Bonjour könnten wir auch noch weitere Dienste im Netzwerk bekanntgeben die auf der Diskstation als auch auf anderen Rechnern/Servern laufen (SSH, Telnet, FTP, VNC, RDP usw.)
Eine Liste der möglichen Protokolle über Bonjour könnt ihr hier einsehen:

http://developer.apple.com/qa/qa2001/qa1312.html

Es steht euch nun frei den von mir geposteten Code auf die bei euch noch im Netzwerk bekanntzugebenen Dienste zu vervielfältigen ;)

Viel Spass.

Greetz
Eldrik
 

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
XServe-Icon in Seitenleiste

Super! Grandios!
Das ist so ein Tüpfelchen auf dem "i"...

Wie bist Du nur darauf gekommen. Gibt es sowas wie S99_mDNS.sh auch unter OS X?
 

ag_bg

Benutzer
Mitglied seit
19. Jan 2008
Beiträge
1.736
Punkte für Reaktionen
0
Punkte
0
Vielen Dank für´s reinstellen. Vielleicht findest du ja auch noch den Weg in die Wiki?

best regards
 

audioeric

Benutzer
Mitglied seit
08. Dez 2008
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Danke

Vielen Dank, so sieht das doch um einiges ansprechender aus.
 

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Finder-Symbol von Xserve auf Synology ändern

Mir ist inzwischen noch eine kleine Verbesserung eingefallen:

Nachdem OS X das Symbol ja aus dem eigenen Fundus darstellt (die Syno überträgt ja nur die Info, was dargestellt werden soll), reicht es, das Original-Symbol des Xserve durch eines der Syno auszuwechseln.
Meine CubeStation CS-406 sieht dann aus wie in der unten stehenden Grafik.


Um statt dem XServe-Symbol ein Symbol von NASa zu sehen, muss die Datei /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.xserve.icns durch ein entsprechendes Symbol ersetzt werden. Ich hätte gerne ein Exemplar für die CS-406 beigelegt, aber Attachments klappen nicht. Wenn jemand Interesse hat, schickt mit eine PM.

Es reicht übrigens nicht, das neue Symbol unter (z.Bsp.) com.apple.xserve-cs406.icns abzulegen, und den Eintrag in der S99mDNS.sh entsprechend mit model="model=Xserve-cs406" anzupassen. Man muss schon das Originalsymbol austauschen.
Nachdem ich öfters daran herumgebastelt hatte, musste ich mich dann und wann mal Ab-/Anmelden, um die Änderungen zu sehen. Ich denke, der Finder cached das Symbol irgendwo zwischen.
 

Anhänge

  • Syno.png
    Syno.png
    12,1 KB · Aufrufe: 520

Simmons

Benutzer
Mitglied seit
19. Jan 2010
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Works as charm, DS409+ Icon included

Hallo


funktioniert perfekt, danke für die Anleitung!

gruss

simmons
 

benuetzer

Benutzer
Mitglied seit
02. Jan 2010
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Genial! Danke.

Gibt es auch eine Möglichkeit das Icon für das AFP-Share von Time machine zu ändern? Ich hab's mit bissl probieren leider nicht hinbekommen.
 

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Gibt es auch eine Möglichkeit das Icon für das AFP-Share von Time machine zu ändern? Ich hab's mit bissl probieren leider nicht hinbekommen.

Gedanken dazu:

In der S99mDNS.sh werden eigentlich nur die Dienste ermittelt, die gestartet werden sollen. Also iTunes(Support), AFP(AppleTalk), TimeMachine(Support) etc.

Wir definieren durch den Eintrag AddModel() {...} eigentlich nur einen zusätzlichen Parameter, der übermittelt werden soll.
Mit AddModel $Servername (weiter unten) wird das dann auch ausgelöst.

Damit hat es sich für die Syno. Mehr tut sie nicht.
Die Interpretation dessen, was die Syno schickt, übernimmt der Client, in dem Fall der Mac.

Bei einem mDSN-Paramter namens "model=BLAH" interpretiert ein Mac das als "Aha, da muss ich in meiner Symbolbibliothek mal nach BLAH suchen und das dann als Symbol für diesen Computer verwenden."

Man müsste also rausfinden, wie der mDNS-Eintrag lautet, über den Apple eine TimeCapsule (nicht TimeMachine) identifiziert. Gibt es sicher, sonst gäbe es kein Symbol dafür (com.apple.time-capsule).
Diesen Parameter-Wert müsste man dann ebenfalls hinzufügen (so á la AddTimeCapsule() {...}).

Ich vermute nur, dass das ebenfalls der "model"-Parameter ist. Und dann hätte man die Wahl: Entweder die Syno als Syno darstellen, oder die TimeMachine-Freigabe als TimeMachine, dann aber die Syno wieder nicht speziell...

Klingt das logisch?
 

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Time Machine als Xserve anzeigen lassen

Ich habe meine Gedanken oben mal umgesetzt und siehe da, es funktioniert. Noch nicht ganz so, wie ich mir das wünschen würde, aber dazu später.


Es ist tatsächlich so, dass zwei Einträge, analog zu dem was man zur Darstellung des Xserve-Icons für die AFP-Shares macht, auch für die TimeMachine funktionieren.

Einen zweiten Eintrag direkt hinter der schließenden Klammer von AddModel() {...} einfügen, so dass das Ganze dann so aussieht:
Rich (BBCode):
AddModelTM(){
        Port1=9
        model="model=Xserve"
        echo "\"$1(Time Machine)\"      _device-info._tcp.      local.  $Port1  $model" >> $mDNSFile
}


Und genauso weiter unten den Aufruf dieser Funktion einfügen, diesmal allerdings bei TimeMachine (siehe blaue Zeile):
Rich (BBCode):
isAFPEnable=`/bin/get_key_value /etc/synoinfo.conf runafp`
if [ "yes" = "$isAFPEnable" ]; then
        AddAFP $ServName                
        AddTimeMachine $ServName                                      
        AddModelTM $ServName                                                                        
        isServiceStart=1     
fi


Jetzt wird auch das TimeMachine-Icon als Xserve angezeigt.


Mir persönlich gefällt das nicht so gut; das Time Capsule-Icon wäre passender. (siehe /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.time-capsule.icns)
Leider klappt das nicht. Wenn ich "model=time-capsule" konfiguriere, tut sich nichts. Wenn ich "model=iPhone" eingebe, wird ein iPhone-Symbol eingeblendet.
Keine Ahnung warum ein Symbol geht, das andere aber nicht.

Ich habe jetzt "model=iPod Touch" eingetragen und dafür das Original-Symbol com.apple.ipod-touch.icns durch com.apple.time-capsule.icns ersetzt.
Dadurch erscheint das TimeMachine-Volume meiner Syno als Time Capsule.
Und wie im obigen Beitrag beschrieben, die AFP-Freigaben als kleines Synology CS-406-Icon.
Geil.
 

Shlomo

Benutzer
Mitglied seit
02. Feb 2010
Beiträge
129
Punkte für Reaktionen
1
Punkte
18
Kurz eine Frage am Rande:

Wird durch die Veränderung im ersten Post nur das Symbol geändert? Oder hat das noch weitere (Vorteilhaftere?) Auswirkungen?
 

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Keine weiteren Auswirkungen. Nur Kosmetik für Apple-Besitzer, die in der Seitenleiste Ihres Macs kein generisches "Windows"-Symbol für die Synology sehen wollen, sondern etwas Eigenes.

Mit den Änderungen in der Datei auf der Syno ändert sich das Symbol am Mac zu einem XServer, was das Ganze schon mal besser trifft.

Mit der Änderung zusätzlich auf dem Mac (siehe die folgenden Posts) kann jedes beliebige Symbol dargestellt werden, bei mir beispielsweise eben eine kleine Syno CS-406.

Und in dem Post direkt über Deinem ist beschrieben, wie das auch für Time Machine erfolgt.
 

Macschimmi

Benutzer
Mitglied seit
09. Mrz 2010
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Hallo, ich bin neu hier im Forum und das mit dem Icon interessiert mich auch.

Per Telnet komme ich zwar auf die DiskStation, aber mit Komandozeilen, bearbeiten usw. klappt es nicht wirklich.

Beim iPhone habe ich das über SSH gemacht, nur komme ich nicht auf die DiskStation, weder mit Transmit, noch mit Cyberduck.

Gibt es hierfür einen Trick ??

Oder kann mir einer sagen, wie ich mit Telnet Dateien editiere ?

Das TimeMachine Icon kann ich per Copy / Paste auswechseln, klappt, nur bei den anderen Icons lässt es die Diskstation nicht zu, habe die Rechte nicht, kann diese unter OS X auch nicht ändern.
 

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Hi Macschimmi.


Trick? Nein. Schalte SSH einfach ein und lass Telnet weg.
Je nach Firmware-Version deiner Syno findest Du das unter Netzwerkdienste > Terminal > SSH Dienst.


Das TimeMachine Icon kann ich per Copy / Paste auswechseln, klappt, nur bei den anderen Icons lässt es die Diskstation nicht zu, habe die Rechte nicht, kann diese unter OS X auch nicht ändern.

Der Mac erkennt die Syno nicht. Er erkennt aber die SMB-Verbindung, also ist es für ihn ein Windows-Gerät. Ergo blendet er ein Windows-Symbol ein.
Genau deshalb kannst Du das Symbol auch nicht ändern: Weil der Mac die Syno nicht erkennt, könnte er auch nicht beim nächsten Mal wieder das Symbol einblenden, das Du dafür haben willst.
Stell Dir vor wie viele Leute bei Apple Support erbost anrufen würden, und sich beschweren, dass der Mac sich das Symbol nicht merken kann...
Da verhindert man das lieber gleich.

Bei der TimeMachine dagegen erkennt der Mac sehr wohl welche. Wäre ja schlimm, wenn er zufällig das TM-Backup eines anderen Rechners überschreiben würde... :p
Daher kann er sich da auch problemlos das Symbol merken, wenn Du es änderst.

Was wir in diesem Thread tun ist nur Kosmetik. Aber Mac User sind halt oft Ästheten. :cool:
Wir sorgen nur dafür, dass sich die Syno beim Mac *anders* meldet. Als Xserve, nicht als Windoze-Machine...
Und prompt ist der Mac so nett und blendet ein anständiges Symbol ein. Und weil er das aus seiner Bibliothek fischt, kann man es dort auch gegen ein eigenes austauschen und *ping* hat die Syno immer das richtige Icon.
Sehr befriedigend, wenn auch völlig unnütz... :p
 

Macschimmi

Benutzer
Mitglied seit
09. Mrz 2010
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
SSH ist an, ich habe die neue 2.3 Version drauf, komme aber weder mit admin, noch mit root auf die 1010+ :(

Das mit den Icons ist eine einfache Rechtesache - ich kann unter OS X die Rechte der Volume nicht ändern.
 

Macschimmi

Benutzer
Mitglied seit
09. Mrz 2010
Beiträge
17
Punkte für Reaktionen
0
Punkte
1
Sorry, kann nur an mir liegen :rolleyes:

Wenn Du unter Mac OS X arbeitest, kannst Du jedem Volume ein eigenes Icon geben, einfach auf das Volume klicken, Taste cmd & i, dann kann das Icon per Copy / Paste ausgewechselt werden. Dieses wird dann auf dem jeweiligen Volume als unsichtbare Datei angelegt (.VolumeIcon.icns)

Spielt keine Rolle ob es ein Volume ist was FAT, NTFS oder HFS formatiert ist, wichtig ist, das ich auf dem Volume Schreib/Leserechte habe, dann geht das auch.

Bei der DS ist mir aufgefallen, ich habe, wenn ich auf das gemountete Icon klicke, keine Rechte.

Das meinte ich einfach nur damit ;)
 

Anhänge

  • Bildschirmfoto 2010-03-14 um 12.43.47.png
    Bildschirmfoto 2010-03-14 um 12.43.47.png
    27,6 KB · Aufrufe: 156

maelcum

Benutzer
Mitglied seit
17. Jan 2009
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Alles klar. Dann hatte ich Dich doch richtig verstanden. Dann gilt das oben gesagte: Da der Mac nicht zuverlässig wiedererkennen kann, welches Volume das ist, erlaubt er auch nicht, dass Du das Icon veränderst.
Du hast das Recht zur Veränderung nicht, weil das System es nicht erlaubt. Egal ob root oder sonstwer.

Du kannst natürlich das Original-Icon ändern. Liegt in /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/

Aber dann haben alle SMB-Shares dieses Symbol, nicht nur die Syno.
 

pouny

Benutzer
Mitglied seit
20. Jun 2010
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo, hab mich jetzt mal extra hier beim Forum registriert wegen diesem Thema.

Meine Ausgangslage sieht etwas anders aus als bei euch:
Ich verwende keine Syno, sondern ein MacBook, dessen Bildschirm und Tastatur defekt ist, als File-, TimeMachine-, DNS-, DHCP-, Netbbot&Install-, und OpenDirectory-Server unter 10.5 Server.
Auch wenn die Komponenten des MacBooks längst in ein Gehäuse eines PowerMacs eingebaut wurden, in der Seitenleiste des Finders wird natürlich weiterhin ein MacBook als Icon angegeben, ein lästiger Schönheitsfehler.

Ich habe lange nach der Datei unter OSX gesucht, doch leider nicht gefunden. Theoretisch müsste es doch auch möglich sein, dass man in OSX Server diese AFP-Anweisung sendet, so dass die Clients diesen Parameter erkennen und das MacBook im Gehäuse eines PowerMacs als PowerMac oder gerne auch als XServe ansehen und auch anzeigen.

Weiss jemand, wo unter OS X (Server) eine Ähnliche Datei wie die "S99mDNS.sh" bei der Syno ist?

Über Lösungsansätze bin ich euch dankbar, pouny
 

landru

Benutzer
Mitglied seit
25. Feb 2010
Beiträge
71
Punkte für Reaktionen
0
Punkte
0
eider klappt das nicht. Wenn ich "model=time-capsule" konfiguriere, tut sich nichts. Wenn ich "model=iPhone" eingebe, wird ein iPhone-Symbol eingeblendet.
Keine Ahnung warum ein Symbol geht, das andere aber nicht.

Die Model Bezeichnung für die TimeCapsule ist:
model="model=TimeCapsule6,113"

Jedenfalls klappt das bei mir.

In der Datei
Rich (BBCode):
/System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
unter dem Zweig "Exported Type UTIs" sind dann alle Devices mit ihren Identifier aufgelistet.
 

Anhänge

  • Bildschirmfoto 2010-06-30 um 09.33.34.jpg
    Bildschirmfoto 2010-06-30 um 09.33.34.jpg
    34,1 KB · Aufrufe: 133
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat