Perché 1.) si verificano modifiche alle associazioni di tipi di file persistenti e non richieste e 2.) Sia il software di terze parti che i programmi di utilità Mac OS vengono impostati di nuovo, senza richiesta e in modo persistente - come applicazioni di primo intervento per le principali tipi di file, quindi credo che tu abbia un database dei servizi di avvio corrotto. (Mentre c'è un problema noto con Adobe CC2017 che è la causa dei file .pdf
che si aprono in Photoshop piuttosto che in Preview.app, questo non spiega il comportamento di Grab facendo lo stesso con .jpg
file.)
[NOTA: i seguenti paragrafi sono tratti da La luce eclettica Co. sito. Li includo qui per fornire una serie di istruzioni di backup per tentare una soluzione qualora il collegamento muoia, ma consiglio di visitare il sito reale se possibile.]
Non esiste un modo semplice per ricostruire il database del servizio di avvio, a meno che non si disponga di un'utilità come OnyX che lo include come funzionalità. Il riavvio in modalità provvisoria (con il tasto Maiusc premuto) svuota alcune cache, ma non tocca il database di Launch Services. Anche se qualcuno dovesse dirti dove trovare i file, non puoi semplicemente cestinarli.
Lo strumento che gestisce il database dei servizi di avvio è lsregister
, che è nascosto in /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support
.
Non ha una pagina man, ma digitando /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -h
in Terminale verranno restituite le informazioni di utilizzo.
Per ripristinare il database dei servizi di avvio, dovresti usare la sua opzione -kill
. Si desidera che questo venga applicato tramite una scansione della directory ricorsiva, quindi è necessario anche l'opzione -r
. È consigliabile guardare i suoi progressi in modalità dettagliata (opzione -v
), e devi specificare i domini a cui questo si applicherà. Generalmente, il comando consigliato è:
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain u -domain s -domain l -v
a cui alcuni aggiungono l'opzione per scansionare percorsi predefiniti per seminare il database, -seed
.
Ci sono alcuni problemi con quel comando come dato. Copre tre domini - sistema, locale e utente - che lo rende molto esteso, forse più di quanto richiesto. Inoltre utilizza una sintassi diversa da quella fornita per il comando in Sierra 10.12.6. Invece, ti suggerisco di provare in prima istanza
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -apps u
Questo dovrebbe fare il trucco. In caso contrario, allargare i domini con
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -apps u,s,l
e infine prova
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -all u,s,l
che dovrebbe cancellare tutto dal database.
Non è nemmeno impossibile scoprire che devi usare la sintassi più vecchia con
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -v -domain u
L'intoppo con la reimpostazione del database di Launch Services è che il tuo Mac impiegherà del tempo per ricostruirlo gradualmente, durante il quale le sue funzioni verranno eseguite molto più lentamente. Dopo un po ', tuttavia, sarà stato ricostruito e l'app giusta dovrebbe essere associata a ciascun tipo di documento.
Per quanto riguarda
come il database è stato danneggiato, ci sono dozzine di modi. Ecco un esempio che riguarda una causa recente (non necessariamente correlata alla tua):
versione di Firefox danneggia il database di associazione di file MacOS .