Kas yra patentuota Linux GUI API?

Tikiuosi, kad tai neatsitiks kaip kvailas klausimas, bet visada paklausiau savęs. „Windows“ („API Win32“) ir „OS X“ („Cocoa“) turi savo API, skirtas >

Girdėjau, kad kai kurie žmonės sako, kad GTK +, bet GTK + yra kryžminė platforma, kaip ji gali būti gimtoji?

365
04 окт. Constan7ine 04 okt. 2012-10-04 00:23 '12 ne 0:23 2012-10-04 00:23
@ 9 atsakymai

„Linux“ grafinė vartotojo sąsaja nėra operacinės sistemos dalis. Daugelyje „Linux“ stalinių kompiuterių randama grafinė vartotojo sąsaja, naudojant „ X Window System“ programinę įrangą, kuri apibrėžia atskirą darbo su ekranais, klaviatūromis ir rodymo įrenginiais būdą.

X >Xlib“ , kuri supaprastina šio protokolo naudojimą, todėl „Xlib“ yra patentuota GUI API. Xlib nėra vienintelis būdas pasiekti „X Window Server“; Taip pat yra XCB .

Įrankių bibliotekos, tokios kaip GTK + (naudojant GNOME ) ir Qt (naudojant KDE ), pastatytos ant Xlib, yra naudojamos, nes lengviau programuoti su jais. Pavyzdžiui, jie suteikia jums nuolatinę programų išvaizdą, supaprastina vilkimo ir nuleidimo naudojimą, pateikia standartinius komponentus šiuolaikinei darbalaukio aplinkai ir pan.

Kaip X pritraukia ekraną, viduje priklauso nuo įgyvendinimo. „X.org“ turi atskirą įrenginio dalį ir nuo įrenginio priklausomą dalį. Pirmieji valdo ekrano išteklius, tokius kaip >tiesioginę atminties prieigą arba per sistemos skambučius į branduolį. Vairuotojas paverčia komandas į formą, kurią supranta kortelės aparatūra.

Nuo 2013 m. Pradedama naudoti nauja >Wayland“ , ir daugelis platinimų parodė, kad jie tam tikru momentu pereis prie to, nors vis dar nėra aiškaus tvarkaraščio. Ši sistema yra pagrįsta OpenGL / ES API, o tai reiškia, kad ateityje OpenGL taps „gimtąja GUI API“ Linux. Darbas vyksta dėl „GTK +“ ir „QT“ prijungimo prie „Wayland“, todėl dabartinėms populiarioms programoms ir staliniams kompiuteriams reikia minimalių pakeitimų. Programos, kurių negalima perkelti, bus palaikomos per X11 serverį, kaip ir OS X palaiko X11 programas per „Xquartz“. Tikimasi, kad GTK + uostas bus užbaigtas per metus , o „Qt 5“ jau visiškai palaiko „Wayland“.

Norėdami dar labiau apsunkinti klausimus, Ubuntu paskelbė, kad ji kuria naują sistemą, pavadintą „ Mir“ dėl problemų, kurias jie suvokia „Wayland“. Ši >

509
04 окт. Joni atsakymas 2012-10-04 00:38 '12 12:38 AM 2012-10-04 00:38

Linux yra branduolys, o ne visa operacinė sistema. Yra įvairių >X11“ yra „Linux“ paskirstymų naudojama „Windows“ sistema.

border=0
72
04 окт. Chris Thompson atsakymas 04 spalis 2012-10-04 00:26 '12 0:26 2012-10-04 00:26

taip pat verta paminėti kelią, nes jis daugiausia vadinamas būsimu X11 žudiku .

Taip pat atkreipkite dėmesį, kad „ android ir kai kurios kitos mobiliosios operacinės sistemos neturi „ X11 , nors jos turi „Linux“ branduolį, todėl šiuo požiūriu X11 nėra gimtoji visoms „ Linux sistemoms.

Būdamas kryžminiu platformu nėra nieko bendro su vietine. Cocoa pat buvo perkelta į kitas platformas per GNUStep , tačiau ji vis dar yra vietinė OSX .

56
04 окт. atsakymas pateikiamas nė vienas . 2012-10-04 00:49 '12 12:49 AM 2012-10-04 00:49

Griežtai kalbant, Linux API sudaro sistemos skambučiai. Tai yra visos branduolio funkcijos, kurias galima vadinti vartotojo (ne branduolinės) programa. Tai labai žemo lygio sąsaja, leidžianti programoms atlikti tokius dalykus kaip atviri ir skaitomi failai. Žr. Http://en.wikipedia.org/wiki/System_call .

Tikroji Linux sistema taip pat turės visą kitą programinę įrangą, kurioje bus naudojama grafinė vartotojo sąsaja ir kitos funkcijos. Kiekvienas šio kamino elementas pasiūlys savo API.

22
04 окт. atsakymas pateikiamas „ Nibot 04 Oct“. 2012-10-04 00:37 '12 0:37 2012-10-04 00:37

Norėdami padėti tai, kas jau buvo paminėta, šiame tinklaraštyje pateikiama labai gera Linux grafinio steko apžvalga: http://blog.mecheye.net/2012/06/the-linux-graphics-stack/ p>

Tai paaiškina X11 / Wayland ir kt. ir kaip visa tai tinka kartu. Be to, ką jau minėjote, manau, kad verta pridėti šiek tiek apie šią API, kurią galite naudoti Linux grafikai:

Mesa - "Mesa yra daugybė dalykų, tačiau vienas iš pagrindinių dalykų, kuriuos ji numato, kad ji geriausiai žinoma dėl jos OpenGL diegimo. Tai OpenGL API atviro kodo diegimas.

Kairas - Kairas - tai piešimo biblioteka, kurią tiesiogiai naudoja programos arba „Firefox“ arba per bibliotekas, pvz., „GTK +“, skirtas piešti vektorines figūras. "

DRM (Direct Rendering Manager) - tai mažiausiai suprantu, bet iš esmės tai yra branduolio tvarkyklės, leidžiančios be reikalo per X grafiką rašyti grafiką.

18
04 окт. Atsakyti Matt 04 Oct. 2012-10-04 06:40 '12 at 6:40 2012-10-04 06:40

Manau, kad šis klausimas labiau panašus į „Kas yra Linux GUI sąsaja“.

Daugeliu atvejų X (dar žinomas kaip X11) bus naudojamas šiuo adresu : http://en.wikipedia.org/wiki/X_Window_System .

Čia galite rasti API dokumentus .

9
04 окт. atsakymas pateiktas Mark 04 okt. 2012-10-04 00:33 '12 - 0:33 2012-10-04 00:33

„XWindows“ tikriausiai yra arčiausiai to, kas gali būti vadinama „gimtoji“ :)

5
04 окт. atsakymas, kurį pateikė Sergejus Sirotkin 04 okt. 2012-10-04 00:26 '12 0:26 2012-10-04 00:26

Arčiausiai „Win32“ Linux'e yra „libc“, nes jūs paminėtumėte ne tik vartotojo sąsają, bet ir įvykius bei „kitus dalykus“

1
04 окт. atsakymas pateiktas Midhat 04 oct. 2012-10-04 03:54 '12 at 3:54 2012-10-04 03:54

GUI yra aukšto lygio pajėgumų abstrakcija, todėl beveik viskas, nuo „XOrg“ serverio iki „OpenGL“, perkeliama į platformą, įskaitant „Windows“ platformą. Bet jei GUI API reiškia „nix“ grafinę API, galite naršyti „Tiesioginės atvaizdavimo infrastruktūros“.

0
29 нояб. Chawathe Vipul atsakymas lapkričio 29 d 2015-11-29 12:37 '15, 12:37 2015-11-29 12:37

Kiti klausimai apie žymes arba Užduoti klausimą