Sto eseguendo il porting su un'applicazione C ++ / Qt da Windows. Su Windows, il programma viene eseguito come un servizio. È scoraggiato dai programmi in esecuzione come servizio per interagire anche con l'utente e visualizzare gli elementi della GUI.
Pertanto, il mio programma ha due parti. La prima parte viene eseguita come un daemon di servizio e riproduce l'audio in background. Il programma si avvia all'avvio del computer. Il secondo programma, che si avvia quando un utente esegue l'accesso (tramite Menu Start - > Tutti gli utenti- > Avvio), comunica tramite il socket locale con il daemon di servizio per visualizzare un pop-up della GUI durante la riproduzione dell'audio.
Passare a MacOS, qual è la procedura migliore per utilizzare lo stesso programma?
Dovrei unire entrambi i programmi in uno solo ed eseguirlo come root tramite launchd e far visualizzare al demone un GUI e riprodurre l'audio?
O dovrei piuttosto tenerlo come due programmi come è adesso - il demone root riproduce l'audio e trova un modo in cui il secondo programma può essere eseguito automaticamente quando ogni utente esegue l'accesso?