Che cos'è coreduetd?


17

Dal momento che Yosemite e in tutti i successivi sistemi operativi OS X / macOS esegue coreduetd da / usr / libexec / coreduetd con l'id bundle com.apple.coreduetd.osx in background.

  • Cosa sta facendo esattamente questo processo?
  • Su quale hardware viene eseguito (ovvero: è supportata la sua funzionalità)?
  • Può essere disabilitato?
  • Come può essere disabilitato?
  • Dovrebbe essere disabilitato?
  • Quali sono i (potenziali) effetti collaterali della sua disabilitazione (dipendenze)?

Questa domanda non deve essere letta come un problema YX ma un tentativo di aggiungere eventualmente alla lista delle domande canoniche.


Dovremmo parlarne su Ask Different Meta - è anche una domanda canonica per chi vogliamo chiudere come "troppo ampio" e "troppo wiki" - non vogliamo incoraggiare domande che non hanno una domanda pratica da risolvere e noi certamente non voglio scrivere un libro "interni di sistema macOS" un capitolo alla volta e un demone alla volta. Mi asterrò dal chiudere da ora - ma ci sono problemi fondamentali nel fare questo sistematicamente IMO.
bmike

hai mai installato un Duetto di Apogee?
Lane,

Risposte:


14

Non c'è molto sul web su ciò che coreduetdfa su un Mac diverso da "è usato per Handoff tra iOS e macOS".

Cosa sta facendo?

Tiene traccia dei vari stati del sistema e delle applicazioni, inclusi gli stati sui dispositivi Apple.

Può essere disabilitato?

Tecnicamente, sì, usando launchctl. Tuttavia, io (altamente) non consiglio di farlo.

Dovrebbe essere disabilitato?

Domanda completamente soggettiva. Solo tu puoi decidere se questo è il corso giusto per te. Ancora una volta, ti consiglio di non farlo.

Quali sono i (potenziali) effetti collaterali della sua disabilitazione (dipendenze)?

Potenzialmente, potrebbero essere interessati :

  • Il trasferimento tra iOS e macOS sarebbe interessato
  • Sincronizzazione iCloud
  • Sincronizzazione della posta con Office 365

Tuttavia, facendo un po 'di svaghi, sono stato in grado di trovare un progetto di ricerca sulla sicurezza iOS (su http://sans.org ) che ha esaminato il coreduet.dbfile su iOS. Ho applicato questo pensiero al coreduet.dbfile su macOS. Ecco cosa ho trovato ...

Facendo una copia del coreduet.dbfile, l'ho esaminato in sqlite3 ottenendo prima un elenco di tutte le tabelle

$ sudo cp /var/db/CoreDuet/coreduet.db ~/

$ sudo sqlite3 coreduet.db

sqlite> .tables
ZCDDMAIRPLANEMODEEVENT    ZCDDMFORECASTINTEGER      ZCDDMSTATISTICINTEGER
ZCDDMAPPNAMEMAPPER        ZCDDMFORECASTREAL         ZCDDMSTATISTICREAL
ZCDDMAPPSTATECHANGEEVENT  ZCDDMFORECASTSCORE        ZCDDMSTATISTICSTRING
ZCDDMATTRIBUTENAMEMAPPER  ZCDDMFORECASTSTRING       ZCDDMSTRINGATTRIBUTE
ZCDDMBACKLIGHTEVENT       ZCDDMINTEGERATTRIBUTE     ZCDDMTHERMALEVENT
ZCDDMBATTERYEVENT         ZCDDMPLUGINEVENT          ZCDDMWAKEDNESSEVENT
ZCDDMBOOKKEEPING          ZCDDMPOOL                 Z_METADATA
ZCDDMBOOTORSHUTDOWNEVENT  ZCDDMPOOLNAMEMAPPER       Z_MODELCACHE
ZCDDMDEVICEEVENT          ZCDDMREALATTRIBUTE        Z_PRIMARYKEY
ZCDDMDEVICEMAPPER         ZCDDMSCREENLOCKEVENT
ZCDDMFORECAST             ZCDDMSLEEPORWAKEEVENT
sqlite>

Sembra che ci sia un numero di eventi di cui tiene traccia. Tuttavia, per vedere cosa abbiamo potuto vedere, ho aperto la tabella Z_PRIMARYKEY:

sqlite> SELECT * FROM Z_PRIMARYKEY;
1|CDDMAirplaneModeEvent|0|81
2|CDDMAppNameMapper|0|218
3|CDDMAppStateChangeEvent|0|185302
4|CDDMAttributeNameMapper|0|101
5|CDDMBacklightEvent|0|0
6|CDDMBatteryEvent|0|0
7|CDDMBookkeeping|0|1
8|CDDMBootOrShutdownEvent|0|0
9|CDDMDeviceEvent|0|0
10|CDDMDeviceMapper|0|0
11|CDDMForecast|0|0
12|CDDMForecastInteger|0|0
13|CDDMForecastReal|0|0
14|CDDMForecastScore|0|0
15|CDDMForecastString|0|0
16|CDDMIntegerAttribute|0|0
17|CDDMPluginEvent|0|0
18|CDDMPool|0|79
19|CDDMPoolNameMapper|0|66
20|CDDMRealAttribute|0|0
21|CDDMScreenLockEvent|0|0
22|CDDMSleepOrWakeEvent|0|17
23|CDDMStatisticInteger|0|0
24|CDDMStatisticReal|0|0
25|CDDMStatisticString|0|0
26|CDDMStringAttribute|0|7293
27|CDDMThermalEvent|0|0
28|CDDMWakednessEvent|0|0
sqlite>

Questo particolare database sembra tenere traccia degli eventi di sistema. Dato che sono su un iMac, sarebbe logico che non avessi cose come "BatteryEvent" o "PlugInEvent", ma avrei "AppStateChangeEvents". "AirplaneMode" è un po 'confuso in quanto si tratta di un iMac, ma in genere tengo spento il mio WiFi tranne che per i test; ad un certo punto, questo stato è stato aggiunto al database.

Andando un po 'oltre nel CCDMAirplaneModeEvent, possiamo vedere che tiene traccia non solo di quando, ma dove si è verificato l'evento (anche se il mio database ha 0dati per quei campi) e da chi.

select * FROM ZCDDMAIRPLANEMODEEVENT;

    Z_PK        Z_ENT       Z_OPT       ZAIRPLANEMODEON  ZANONYMIZEDBEACON  ZANONYMIZEDLOCATION  ZLOCALDAYSSINCESUNDAY  ZLOCALTIME  ZLOCALTIMEQUARTERHOURSLOT  ZNETWORKQUALITY  ZUSERID     ZCREATIONDATE
----------  ----------  ----------  ---------------  -----------------  -------------------  ---------------------  ----------  -------------------------  ---------------  ----------  -------------
81          1           1           0                0                  0                    0                      80704       0                          0                0           523938304

2
Eccellente, ma come fai notare: non toccarlo ...
Solar Mike

Infatti. Molto veloce e già molto buono. E "La sincronizzazione della posta con Office 365" è già interessata su un iMac locale e fisso? Questa è una sorpresa.
LаngLаngС,

1
Penso che tu sia sulla strada sbagliata qui. Se si cerca l'app console, i messaggi principali che vengono registrati sono la gestione dell'alimentazione. La mia impressione è che il framework sia e sarà sempre un framework privato in modo che Apple non debba pubblicare alcun tipo di API per gli sviluppatori e che sarà raggiungibile tramite indiretto e altre API più stabili. Deve tenere traccia della modalità AirPlane e dello stato del sistema per sapere quando e come riattivare la CPU per eseguire le attività pianificate - gestire i budget di alimentazione sull'hardware / CPU / GPU.
bmike

1
@bmike - Non penso proprio. Esaminando AppStateChangeEvents, sono inclusi i dati sulla posizione che contengono dati non univoci. Teoricamente, dovrebbe essere lo stesso se si trattasse solo di gestione dell'energia. Tuttavia, sono d'accordo con te, è un framework privato per Apple.
Allan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.