Sto cercando di approfondire un po 'di lavoro su OS personalizzato (e sì capisco che fare qualsiasi sviluppo a livello di DE o inferiore su un sistema operativo sia estremamente complesso e non una cosa leggera da intraprendere, la curiosità sta guidando questo però ), Sono in fase di ricerca in questo momento, scavando e imparando dal codice sorgente per esempi di progetti come GNOME, KDE e XFCE.
Non riesco a trovare una buona risorsa o risorse che descrivano come un "ambiente desktop" sia inizializzato, istanziato e disegnato sullo schermo dell'utente (cioè il suo ciclo di vita). So che Xorg / X11 si trova lì da qualche parte, agendo da server e lo schermo degli utenti è il client, e il tuo desktop si trova in cima a questo client. Molte risorse iniziano a parlare di riorganizzare combinazioni di gestori di finestre già sviluppati, app e simili al fine di personalizzare la tua esperienza desktop, ma quello che sto pensando è che cosa se volessi un SO ridotto che consistesse solo in uno schermo con tre pulsanti che hanno eseguito alcune azioni e basta? Non ho bisogno di gestione delle finestre, applicazioni o altri elementi della GUI, solo la possibilità di disegnare un desktop e tre pulsanti ... (ipotetico)
Il mio problema è a livello di distribuzione, come viene registrato un DE come ambiente desktop disponibile, come viene legato all'avvio di distro, cosa succede dopo l'accesso, cosa viene eseguito, qual è la topografia di un DE? Ad esempio, in Ubuntu è possibile avere KDE, XFCE e GNOME installati su una distro e passare da una all'altra effettuando il logout, cambiando la DE attiva e ricollegandosi così come fa la DE a rendere il SO consapevole della sua esistenza in primo luogo?
In realtà ho davvero bisogno di un livello elevato, voglio fare qualcosa di abbastanza semplice in quanto voglio rendere disponibile un DE in una distribuzione come Ubuntu Desktop (non apertamente, intendo solo per me stesso) e inizializzarlo su un desktop vuoto (nessuna barra delle applicazioni, app, window manager, ecc ...; solo lo stato di base più possibile) per capire cosa è necessario per ottenere un DE in esecuzione.
Non ho bisogno di risposte specifiche al codice (dov'è la sfida in questo senso?) ma puntano a buone risorse su come funziona questo processo. Prenderò una risposta testuale ben formata su un blocco di codice mentre sto cercando di capire come funziona, il percorso intrapreso per arrivare a un DE e non a specifiche di implementazione.
Il risultato di questo non verrà pubblicato tecnicamente (in termini di codice) ma sto guardando alcuni post del blog che descrivono il processo di apprendimento di tutto questo e scrivendo il livello DE per ottenere un desktop "Raw" installato e funzionante in un sistema operativo preesistente / stabilito come Ubuntu, Mint, Gentoo o un'altra distribuzione.