Kuidas saavad KDE rakendused GNOME-s töötada?
GNOME'i ja KDE töölaua keskkondade visuaalsed erinevused on kergesti nähtavad, nii et kuidas on võimalik käivitada rakendust ühest teisest allikast ilma probleemideta? Tänane SuperUser Q&A postitus on vastus.
Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.
Clker.com-i viisakalt libistades käsi „loksutatakse”.
Küsimus
SuperUser-lugeja LeNoob tahab teada, kuidas KDE rakendused saavad GNOME-s töötada:
Kui GNOME kasutab GTK + ja KDE kasutab Qt, kuidas saavad KDE rakendused GNOME-s töötada?
Mis võimaldab KDE rakendustel sujuvalt töötada GNOME-s?
Vastus
SuperUser-i panuse andja vastus on meile vastus:
See on võimalik, sest need töölauakeskkonnad kasutavad sama graafika süsteemi, X11. Kõik graafilised programmid räägivad ainult X11-protokollist X-serveriga (tavaliselt Xorg), saates käske selle joonistamiseks ja sisendfailide vastuvõtmiseks (hiir, klaviatuur jne).
Iga kasutajaliidese tööriistakomplekt, nagu GTK või Qt, on raamatukogude kujul, mida graafiline programm seob. Kasutatakse GNOME jaoks kirjutatud programmi libgdk ja libgtk, ja KDE programm kasutab libQtCore koos libQtGui. Mõlemad tööriistakomplektid kasutavad lihtsalt samu X11 funktsioone, et joonistada kõike vastava programmi aknas.
Enamik kaasaegseid tööriistu, nagu GTK, Qt või EFL, täidavad kõik joonistused ise ja saadavad kogu akna lõppkujutise X11-le. Vanemad tööriistakomplektid, nagu Xaw või Motif, saadavad selle asemel käske primitiivide, näiteks joonte või ristkülikutena, joonistamiseks ja X server teeb kõik renderdamise.
X11 protokoll hõlmab ka akna haldamist, nii et igal töölaua keskkonnal on akna haldur, mis tõmbab aknaraamid („kaunistused”), võimaldab akende liigutamist ja suurust muuta jne. Kaasaegsed „kompositsiooni“ aknahaldurid võtavad tegelikult üle Xorgi töö, kus kõik aknad koostatakse lõplikule ekraanipildile, võimaldades lisada selliseid asju nagu varjud või efektid.
Lihtsaks ühilduvuseks sama graafikasüsteemi ühendamine on fantastiline asi ja hea, kui soovite, et kõik teie lemmikrakendused töötaksid sama töölaua keskkonnas!
Kas teil on midagi lisada selgitusele? Heli on kommentaarides välja lülitatud. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.