I gestori di protocollo sono registrati con OS X in pacchetti di applicazioni (in particolare, nel file info.plist nella directory Contents
del pacchetto). Questo dovrebbe essere fatto dall'applicazione che lo supporta. In altre parole, dovresti essere in grado di eseguire il secondo comando e farlo aprire DEVONthink. Basato su questa pagina sembra che sia così che funziona, ma tu dici che non funziona, quindi c'è un modo relativamente semplice per farlo per qualsiasi programma.
In caso contrario, o se si desidera semplicemente registrare il proprio gestore, ecco alcuni passaggi (modificati da Avvio di applicazioni esterne utilizzando protocolli personalizzati in OSX ).
Crea un file AppleScript che contenga quanto segue.
on open location this_URL
do shell script "open -a 'Applications/DEVONthink Pro.app' this_URL"
end open location
Sulla seconda riga, stai definendo cosa dovrebbe accadere quando viene chiamato il tuo protocollo. this_URL
sarà l'URL completo inserito (sulla riga di comando o altrove), incluso il protocollo. Nel tuo caso, vuoi passare l'intero URL includendo x-devonthink-item
in DEVONthink. Se stavi creando il tuo protocollo, potresti voler passare solo una parte della stringa, quindi tienilo a mente.
Salva AppleScript come pacchetto di applicazioni. Una volta salvato, trovarlo su disco, fare clic con il tasto destro del mouse e scegliere Mostra contenuto pacchetto. All'interno della cartella Contents ci sarà un file chiamato info.plist. Apri questo in un editor di testo ( non TextEdit, in quanto quasi sicuramente rovinerà il formato del file).
Nella parte inferiore del file sarà
</dict>
</plist>
Direttamente sopra questo, aggiungi quanto segue:
<key>CFBundleIdentifier</key>
<string>org.personal.dttrick</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Pass To DEVONthink</string>
<key>CFBundleURLSchemes</key>
<array>
<string>x-devonthink-item</string>
</array>
</dict>
</array>
Salva e fai doppio clic sulla tua app. Nulla dovrebbe accadere, e va bene - ma in fondo, è registrato il protocollo con il sistema operativo.
Infine, torna in Terminale, esegui il comando desiderato:
open "x-devonthink-item://2AD2E3D2-58B5-455F-99D4-C91D68C5F959"
DEVONthink dovrebbe aprirsi con l'elemento specificato. Non ho DEVONthink e non ho potuto testarlo; Sto facendo affidamento sul comando che hai originariamente fornito come funzionante. In caso contrario, sarà necessario modificare lo script della shell in AppleScript per riflettere su quale deve essere il comando effettivo.