Si', e' abbastanza esatto
L'unica nota da fare e' sulle librerie usate su Linux...
Per interagire col server X si usano le XLib. Librerie di livello piu' alto (tipo GTK, Qt etc) sono basate sulle XLib. Definiscono funzioni di piu' alto livello per facilitare la vita al programmatore. Programmando direttamente con le XLib per fare anche la cosa piu' semplice, come aprire una finestra, c'e' da ammattire abbastanza ed inoltre non esistono funzioni tipo "disegna un bottone", ma andrebbe disegnato da capo, mettendosi in ascolto degli eventi delle XLib (molto piu' complessi di quelli offerti dalle altre libs) e cosi' via.
Credo che le API di win$, nonostante siano integrate nel sistema operativo, siano ad un livello molto piu' alto delle XLib...