Adicionar ícones de dispositivos de rede personalizados no Mac OS X Finder?

7

O Mac OS X Finder é presunçoso o suficiente para exibir qualquer dispositivo não-Mac como uma imagem de um PC com um BSOD, mas eu estou querendo saber se é possível adicionar outros dispositivos, então minha máquina Ubuntu é detectada e tem uma imagem de um PC Ubuntu, e meus PCs com Windows tem uma imagem do Windows travando, etc.

Eu sei que o public.generic-pc.icns existe e pode ser substituído, mas não estou interessado em substituí-lo por si, mais interessado em fazer com que o localizador reconheça outros dispositivos (ou saiba como ele reconhece outros dispositivos da Apple) e mapear ícones personalizados para eles.

Alguma pista?

    
por Adam M-W 05.12.2011 / 06:41

3 respostas

7

Parece que eu estava muito perto, mas não estava conseguindo que minha máquina anunciasse de forma adequada.

Eu finalmente consegui que funcionasse:

Ométodoqueuseiestáabaixo:

  1. Primeiro,noMac,crieiumpacotepersonalizadoquechameide"Tipos de computador" copiando e colando um pacote existente, como MobileDevices.bundle ou MachineTypes.bundle, na pasta /System/Library/CoreServices/CoreTypes.bundle/Contents/Library .

  2. Em seguida, abri Contents/Info.plist com o XCode Plist Editor e editei todos os detalhes para criar um pacote personalizado, alterando o Identificador do pacote, o Nome, etc.

  3. Eu removi todas as entradas existentes na chave "UTExportedTypeDeclarations" e criei uma nova entrada por dispositivo. Cada entrada de dispositivo tem um "UTTypeConformsTo", "UTTypeDescription", "UTTypeIconFile", "UTTypeIdentifier" e "UTTagSpecification", onde o dictorinary "UTTagSpecification" contém uma Matriz na chave "com.apple.device-model-code" com todos dos identificadores mDNS _device-info._tcp para aceitar. UTTypeIconFile refere-se a um arquivo icns na pasta Resources.

  4. Em seguida, salvei o pacote na pasta /System/Library/CoreServices/CoreTypes.bundle/Contents/Library e reiniciei.

  5. Na outra máquina, eu precisava configurar para anunciar um serviço _smb._tcp, bem como o registro TXT _device-info._tcp, como de costume, exceto usando um nome de modelo personalizado em vez de um nome de produto Mac.

  6. Após reiniciar o Mac, ele deve aparecer como a foto acima.

Enviei o pacote finalizado para o link como exemplo.

    
por 10.03.2012 / 09:43
0

Isso provavelmente só vale a pena ser um comentário para a resposta de Adam, mas eu preciso formatá-lo.

No Windows, supondo que o iTunes ou o Bonjour for Windows esteja instalado, você pode anunciar um compartilhamento de samba com o seguinte:

  1. Abra dois prompts do cmd.
  2. Execute os seguintes comandos (em consoles diferentes):

    dns-sd -R Nome_do_computador _device-info._tcp local 445 model = Xserve3,1

    dns-sd -R nome_do_computador _smb._tcp local 445

O dns-sd não sai, e se você pressionar Ctrl-C ou fechar o cmd, o compartilhamento desaparecerá do Finder. Eu só consigo usar os ícones OSX padrão, apesar do arquivo de amostra útil de Adam (pode ser um problema de 10,6 x 10,8 ... há diferenças plisticas entre ele e 10.8). Além disso, estou tendo um longo tempo tentando descobrir como fazer com que o Windows execute este comando e desligue-o no poweron / poweroff e acorde / durma (no entanto, para desligar o dns-sd de um script de morcego que você acabou de usar) usar taskkill).

    
por 25.01.2013 / 16:00
0

Não posso comentar por causa do representante, mas gostaria de acrescentar isso porque as pessoas agora podem se deparar com isso e querer fazer isso. Com a implementação do SIP da Sierra, o método de Adam não funciona mais por padrão devido à incapacidade de copiar arquivos para qualquer subdiretório CoreServices. Você teria que desativar o SIP primeiro.

Antes de prosseguir, você deve entender que o SIP é uma medida de proteção implementada pela Apple para garantir que a integridade do seu sistema não seja comprometida.

Não falarei sobre como me sinto sobre o SIP como desenvolvedor de aplicativos, mas basta dizer que nem sempre estou em sintonia com as decisões da Apple.

Para fazer isso:

Reinicie o seu Mac. Quando você ouvir o sinal sonoro, pressione e segure o CMD + R até que a área de trabalho comece a aparecer. No menu "Utilitários", na parte superior, selecione "Terminal" Digite "csrutil disable" e aperte enter. Digite "reboot" e aperte enter.

O SIP está agora desativado. Eu geralmente não me importo com o SIP, mas entendo que sou minoria. Além disso, não quero que a Apple fique zangada comigo. Dito isso, recomendo que, se você estiver fazendo isso para substituir um ícone do sistema, reative o SIP imediatamente quando terminar. Para fazer isso, siga as instruções para desativar, mas substitua a palavra "desativar" por "ativar".

    
por 10.03.2017 / 12:01