GNU/Linux >> Znalost Linux >  >> Linux

Co je nativní GUI API Linuxu?

V Linuxu není grafické uživatelské rozhraní součástí operačního systému. Grafické uživatelské rozhraní na většině linuxových desktopů poskytuje software nazvaný X Window System, který definuje na zařízení nezávislý způsob práce s obrazovkami, klávesnicemi a ukazovacími zařízeními.

X Window definuje síťový protokol pro komunikaci a může jej použít jakýkoli program, který ví, jak tento protokol „vyslovit“. Existuje knihovna C s názvem Xlib, která usnadňuje používání tohoto protokolu, takže Xlib je svým způsobem ten nativní GUI API. Xlib není jediný způsob přístupu k serveru X Window; existuje také XCB.

Knihovny Toolkit jako GTK+ (používané GNOME) a ​​Qt (používané KDE), postavené na Xlib, se používají, protože se s nimi snadněji programuje. Poskytují vám například konzistentní vzhled a chování napříč aplikacemi, usnadňují používání přetažení, poskytují standardní součásti moderního desktopového prostředí a tak dále.

Jak X kreslí na obrazovce interně, závisí na implementaci. X.org má část nezávislou na zařízení a část závislou na zařízení. První spravuje prostředky obrazovky, jako jsou okna, zatímco druhý komunikuje s ovladačem grafické karty, obvykle modulem jádra. Komunikace může probíhat přes přímý přístup do paměti nebo prostřednictvím systémových volání do jádra. Ovladač převádí příkazy do podoby, které rozumí hardware na kartě.

Od roku 2013 začíná být použitelný nový okenní systém s názvem Wayland a mnoho distribucí uvedlo, že na něj v určitém okamžiku migrují, i když stále neexistuje jasný plán. Tento systém je založen na OpenGL/ES API, což znamená, že v budoucnu bude OpenGL „nativním GUI API“ v Linuxu. Pracuje se na portování GTK+ a QT na Wayland, takže současné populární aplikace a stolní systémy vyžadují minimální změny. Aplikace, které nelze přenést, budou podporovány prostřednictvím serveru X11, podobně jako OS X podporuje aplikace X11 prostřednictvím Xquartz. Očekává se, že port GTK+ bude dokončen do jednoho roku, zatímco Qt 5 již má kompletní podporu Wayland.

Aby to ještě více zkomplikovalo, Ubuntu oznámilo, že vyvíjí nový systém nazvaný Mir kvůli problémům, které vnímají s Waylandem. Tento okenní systém je také založen na OpenGL/ES API.


Linux je jádro, nikoli úplný operační systém. Existují různé okenní systémy a gui, které běží nad Linuxem a poskytují okno. X11 je typicky okenní systém používaný linuxovými distribucemi.


Wayland také stojí za zmínku, protože je většinou označován jako „budoucí zabiják X11“.

Všimněte si také, že Android a některé další mobilní operační systémy neobsahují X11, ačkoli mají linuxové jádro, takže v tomto smyslu není X11 nativní pro všechny systémy Linux.

Být multiplatformní nemá nic společného s nativním. Kakao bylo také portováno na jiné platformy prostřednictvím GNUStepu, ale stále je nativní pro OS X / macOS.


Linux
  1. Linux – Co dělá linuxová možnost „nointremap“?

  2. Jak se naučit vnitřní části systému Linux

  3. Android – Na jaké linuxové distribuci je Android založen?

  1. Co je Linux? Průvodce pro netechnické uživatele

  2. Jaký je proces vyřazování hardwaru vašeho serveru Linux z provozu?

  3. Jaká je velikost atomového zápisu na disk v mém systému?

  1. Co je uživatel Linuxu?

  2. Jaká je aktuální úroveň běhu systému Linux?

  3. Linux – jaké přípojné body existují na typickém systému Linux?