Hoe werkt het X Windows System?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 86536

Topicstarter
Ik heb (na wat uurtjes 'studie' op internet) nog steeds moeite met het begrijpen van de X Windows System structuur.

Klopt het ongeveer zo?
  • "X Window System" is een manier om input (muis+tobo) en output (monitor) te verwerken en vorm te geven.
  • Als je gebruik wilt maken van het "X Windows System" moet je een X-server draaien.
  • De X-server staat tussen de hardware in- en output en een desktop environment (dus bv GNOME) in. Dit maakt de X-server dus een soort 'relais' of doorgeefluik voor in- en output.

Een desktop environment =
X Display Manager +
X Window Manager +
Tools en progs +
Protocollen om een gelijkwaardig uiterlijk na te streven (plaatsing van knoppen e.d.)
Kortom: een D.E. verzorgt de grafische weergave (GUI) via de X-server?

Als ik mijn PC (met daarop bijvoorbeeld Ubuntu) opstart wordt in de volgende volgorde opgestart:
a. BIOS
b. MBR
c. GRUB
d. Kernel + ???
e. X server
Zodra ik nu het login scherm te zien krijg, zit ik nog niet in mijn desktop environment (toch?). Nu type ik mijn gebruikersnaam + wachtwoord waarna de daadwerkelijke Desktop Environment via de X-server wordt opgestart. Het inlogscherm wordt dus puur en alleen door de X-server gestart en is onafhankelijk van de geïnstalleerde Desktop Environment(s)


...Klopt dit allemaal (een beetje)...?
Zo nee, leg uit a.u.b. :)

Verder nog wat vraagjes:
  1. Is X Windows System platform onafhankelijk? Met andere woorden, zou je in theorie een X server op windows kunnen draaien? Of draait het alleen op UNIX varianten?
  2. Maakt een X-server nu verbinding met een Display Manager? En welke plaats neemt hierin de Window Manager in? Of is de Window manager onderdeel van de Display Manager?
  3. Als mijn PC een X-server aan het draaien is, zou het in theorie (en in de praktijk) dus mogelijk moeten zijn meerdere Display Managers en dus meerdere Desktop Environments tegelijkertijd moeten kunnen draaien. Als ik twee schermen aansluit kan dit volgens mij ook. Nu heb ik dus 2 D.E.'s, maar nog steeds maar één X-server draaien. Klopt het dat het daarom onmogelijk is om doormiddel van twee tobo+muis combinaties elke D.E. afzonderlijk aan te sturen? Voor mijn 'gevoel' zouden hiervoor twee X-servers actief moeten zijn.
  4. Als ik op CTRL + ALT + BACKSPACE druk sluit de X-server af, en dus mijn D.E. Wat gebeurt er op dat moment met alle geopende programma's? Ben ik die kwijt of blijven die draaien op de achtergrond? Wat is het verschil in CTRL + ALT + BACKSPACE en een soft-reset van mijn computer (met andere woorden: wat blijft er in het geheugen achter als ik alleen de X-server reset? Alleen de Kernel of ook andere zaken?)
  5. In hoeverre is een programma van GNOME (bijvoorbeeld Rhythmbox) verweven met de D.E.? Communiceert bijv. Rhythmbox altijd via de X-server of ook rechtstreeks met kernel (dus zonder tussenkomst van de D.E. en X-server)

Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Anoniem: 86536 schreef op zondag 14 september 2008 @ 17:28:

Als ik mijn PC (met daarop bijvoorbeeld Ubuntu) opstart wordt in de volgende volgorde opgestart:
a. BIOS
b. MBR
c. GRUB
d. Kernel + GNU-Tools
e. X server
De GNU Tools zijn heel erg belangrijk voor je systeem, als je een standaard GNU/Linux distro draait.
Zodra ik nu het login scherm te zien krijg, zit ik nog niet in mijn desktop environment (toch?).
Klopt, je kijkt nu naar een login manager, een grafisch frontend die de environment opstart die jij wilt, en het ziet er wat leuker uit :+
Nu type ik mijn gebruikersnaam + wachtwoord waarna de daadwerkelijke Desktop Environment via de X-server wordt opgestart. Het inlogscherm wordt dus puur en alleen door de X-server gestart en is onafhankelijk van de geïnstalleerde Desktop Environment(s)
Het word inderdaad met hulp van de X-server gestart. Je X-server tekent als het ware de windows. Hoe het getekend moet worden, dat word weer door je DE bepaald. Je kan dit leuk bekijken door naar een VT te gaan (ctrl alt F1 bijv). en daar root te worden, dan /etc/init.d/{kdm,gdm,xdm} stop te typen (kies wat van toepassing is) en dan weer gewone user worden. Zodra je weer in je 'eigen' shell zit, typ je 'X', en dan enter. Je ziet dan de X-server die verder niets doet, dan windows tekenen.
...Klopt dit allemaal (een beetje)...?
Zo nee, leg uit a.u.b. :)
Ik probeer het, maar ook ik kan het fout hebben. Ik ben nou niet echt een X guru ofzo, dus neem het niet als de absolute waarheid aan ;)
• Is X Windows System platform onafhankelijk? Met andere woorden, zou je in theorie een X server op windows kunnen draaien? Of draait het alleen op UNIX varianten?
Cygwin/X
• Maakt een X-server nu verbinding met een Display Manager? En welke plaats neemt hierin de Window Manager in? Of is de Window manager onderdeel van de Display Manager?
Dit weet ik niet precies, ik ben daar ook wel benieuwd naar, maar volgens mij gaat het als volgt:
De Display manager maakt verbinding met de X-server. De window manager draait weer bovenop de Display manager.
• Als mijn PC een X-server aan het draaien is, zou het in theorie (en in de praktijk) dus mogelijk moeten zijn meerdere Display Managers en dus meerdere Desktop Environments tegelijkertijd moeten kunnen draaien. Als ik twee schermen aansluit kan dit volgens mij ook. Nu heb ik dus 2 D.E.'s, maar nog steeds maar één X-server draaien. Klopt het dat het daarom onmogelijk is om doormiddel van twee tobo+muis combinaties elke D.E. afzonderlijk aan te sturen? Voor mijn 'gevoel' zouden hiervoor twee X-servers actief moeten zijn.
Je kan meerdere meerdere DE's draaien, een Xorg op bijv. display 0:0, en een op 0:1. Dit kan volgens mij door X te runnen, en dan de display te definieren, dus iets als X :1 ofzo. Daar zal je even verder op moeten googlen.
• Als ik op CTRL + ALT + BACKSPACE druk sluit de X-server af, en dus mijn D.E. Wat gebeurt er op dat moment met alle geopende programma's? Ben ik die kwijt of blijven die draaien op de achtergrond? Wat is het verschil in CTRL + ALT + BACKSPACE en een soft-reset van mijn computer (met andere woorden: wat blijft er in het geheugen achter als ik alleen de X-server reset? Alleen de Kernel of ook andere zaken?)
ctrl alt backspace killed inderdaad de x-server, en reset hem weer. De programma's die draaien gaan 'vanzelf' ook dood. Dit komt omdat het child processes zijn van je DE, en dat is weer een child van de display manager, die afhankelijk is van de X-server. Je programma's verdwijnen dus uit het geheugen. Probeer het maar, je browser geeft bijv. aan dat hij niet 'normaal' is afgesloten. De kernel, Services (networkmanager, nfs, samba, apache, etc, etc) blijven wel actief, zij zijn geen childs. Dat is dus het verschil met een reset, die wel _alles_ uit het geheugen flikkerd.
• In hoeverre is een programma van GNOME (bijvoorbeeld Rhythmbox) verweven met de D.E.? Communiceert bijv. Rhythmbox altijd via de X-server of ook rechtstreeks met kernel (dus zonder tussenkomst van de D.E. en X-server)
Het communiceert in eerste instantie met GTK+, welke dan weer de calls regelt die naar de X-server gestuurd worden. Het kan tevens communiceren met de kernel, volgens mij is bijv. een map aanmaken afhankelijk van mknod. In ieder geval, als jij in de filemanager van je Rhythmbox een map aanmaakt in je muziekcollectie is dit een kernel call, via /bin/mkdir. Je programma reageert dus ook met andere delen van linux.

Dit alles is onder voorbehoud, ik kan het ook fout hebben natuurlijk :+

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • Lilith
  • Registratie: Augustus 2006
  • Laatst online: 06-05 12:24
Voor zover ik weet start de Display Manager de X-server op en toont daarop dan een login-prompt. Wanneer Ctrl-Alt-Backspace of een logout dan de X-server afsluit wordt die automatisch opnieuw opgestart.

Acties:
  • 0 Henk 'm!

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 24-04 13:20
Het hoofddoel van X windows is om grafische applicaties te ontkoppelen van het systeem waar de display aan hangt.

De X server is het programma dat draait op het systeem waar de IO aan hangt (grafische kaart, toetsenbord...). De X server bedient die hardware. Hij leest het keyboard uit, en hij kan primitieven tekenen op het scherm.

Een grafische applicatie, dit gaat van een simpele rekenmachine tot bijv. GNOME, maakt via IPC verbinding met een X server. Meestal is dit op een hetzelfde systeem via een UNIX socket. Maar dit kan ook over een TCP verbinding gaan. Dwz dat het grafische programma op een ander systeem kan draaien dan de X server.

Dus je kan ook een X server op windows draaien en een UNIX applicatie op een UNIX systeem, maar het venster wel laten verschijnen op de windows bak.

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 08-05 14:19

Sebazzz

3dp

Ja. En SSH biedt daarvoor ondersteuning aan. Draai maar eens 'xeyes' in een SSH shell (hoewel ik niet weet of het op Windows ook werkt).

Je zal als je nog verder met Linux bezig gaat zijn zien dat heel veel dingen Client/Server based zijn. Kijk bijvoorbeeld maar eens naar ALSA, OSS, of PulseAudio. :) Dit kan natuurlijk zijn voordelen hebben.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Anoniem: 86536

Topicstarter
XTerm schreef op zondag 14 september 2008 @ 19:55:
Dus je kan ook een X server op windows draaien en een UNIX applicatie op een UNIX systeem, maar het venster wel laten verschijnen op de windows bak.
Maar stel dat ik hier op m'n windows pc X server ga draaien, zou ik in theorie dus ook GNOME kunnen draaien, maar die zal zijn grafische output dan via de windows/graphic manager van XP zelf moeten sturen? Dus dan zul je heel GNOME in één windows(xp)-venster te zien krijgen?
icyx schreef op zondag 14 september 2008 @ 18:50:
[...]
Het communiceert in eerste instantie met GTK+, welke dan weer de calls regelt die naar de X-server gestuurd worden. Het kan tevens communiceren met de kernel, volgens mij is bijv. een map aanmaken afhankelijk van mknod. In ieder geval, als jij in de filemanager van je Rhythmbox een map aanmaakt in je muziekcollectie is dit een kernel call, via /bin/mkdir. Je programma reageert dus ook met andere delen van linux.
Bestaat GTK+ naast GNOME of staat GNOME boven GTK+ (en maakt GTK+ dus gebruik van GNOME)?

[ Voor 37% gewijzigd door Anoniem: 86536 op 14-09-2008 22:12 ]


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Anoniem: 86536 schreef op zondag 14 september 2008 @ 22:07:
[...]

Maar stel dat ik hier op m'n windows pc X server ga draaien, zou ik in theorie dus ook GNOME kunnen draaien, maar die zal zijn grafische output dan via de windows/graphic manager van XP zelf moeten sturen? Dus dan zul je heel GNOME in één windows(xp)-venster te zien krijgen?
Ja, in een venster zie je GNOME, KDE of wat dan ook inderdaad. Hier heb je een screenshot. Het 'venster' cygwin bevat heel KDE. klik voor de screenshot
Bestaat GTK+ naast GNOME of staat GNOME boven GTK+ (en maakt GTK+ dus gebruik van GNOME)?
Gnome is als het ware de verzameling van GTK, metacity & 'standaard software' als evolution. Dit alles valt onder de naam GNOME. Metacity is de window manager van gnome. De window manager die de xserver weer aanstuurt zegmaar. Metacity krijgt van programma's opdracht hoe ze 'zichzelf' getekend willen hebben. Deze tekeningen worden dan weer 'ingevuld' aan de hand van de GTK+ Library, knoppen, taakbalken, schuifbalken e.d. worden dus door GTK+ verzorgd, en door Metacity getekend, waardoor ze GNOME vormen ;).

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Anoniem: 86536 schreef op zondag 14 september 2008 @ 22:07:


Bestaat GTK+ naast GNOME of staat GNOME boven GTK+ (en maakt GTK+ dus gebruik van GNOME)?
Lees http://developer.gnome.org/doc/GGAD/z2.html even door, dan is je vraag beantwoord :) Gnome is afhankelijk (zelfs voor grote delen gebouwd op/met) GTK+

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Acties:
  • 0 Henk 'm!

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 02-04 23:13

daft_dutch

>.< >.< >.< >.<

de Windows manager beheert de windows niet X. de WM tekent het window om een applicatie die X gebruikt.
voor X onder windows kan je beter xming gebruiken.

>.< >.< >.< >.<


Acties:
  • 0 Henk 'm!

Anoniem: 86536

Topicstarter
daft_dutch schreef op zondag 14 september 2008 @ 23:42:
de Windows manager beheert de windows niet X. de WM tekent het window om een applicatie die X gebruikt.
voor X onder windows kan je beter xming gebruiken.
maar de windows manager doet dat wel via X toch?

Acties:
  • 0 Henk 'm!

Anoniem: 69437

Ja, een windowmanager is een pluggable (je mag zelf kiezen welke je wil draaien) onderdeel van de X-server. Het is verantwoordelijk voor hoe de vensters er uit zien op je systeem. Compositing windowmanagers kunnen bijvoorbeeld de vensters naar een onzichtbaar plaatje tekenen, en dan het plaatje als een soort drilpudding animeren: het wobbly effect. Ze kunnen ook een mooie rand met knopjes eromheen tekenen ( _ O X ). Dat laatste is overigens meestal weer een pluggable onderdeel van de windowmanager: een window-decorator.

Het booten van je computer gaat eigenlijk zo:

1 BIOS
2 MBR
3 GRUB
4 Linux (het programma dat alle andere programma's uitvoert)
5 Allerlei programma's die system-wide draaien
6 Virtual terminals (nu heb je consoles van Ctrl+Alt+F1 tot F6)
7 X server in de zevende virtual terminal
8 Display manager (xdm, gdm, kdm) om in te loggen
9 Allerlei programma's die voor jouw user draaien (dat wordt meestal Gnome, of KDE, of whatever genoemd, maar je kan ook zelf een lijstje met programma's bedenken)

[ Voor 32% gewijzigd door Anoniem: 69437 op 15-09-2008 16:10 ]


Acties:
  • 0 Henk 'm!

  • Sir Isaac
  • Registratie: September 2002
  • Laatst online: 27-10-2024
De WM is in principe een programma als alle anderen. Je kunt X ook zonder WM draaien. Dat gebeurt bijvoorbeeld als je in ubuntu bij het inloggen onder sessie "fail safe" kiest. Er wordt dan ipv een windowmanager een xterm gestart. Je kunt dan nog steeds verschillende programma's starten, maar schakelen van de een naar de ander wordt lastig.

Acties:
  • 0 Henk 'm!

Anoniem: 69437

Sir Isaac schreef op maandag 15 september 2008 @ 16:05:
De WM is in principe een programma als alle anderen. Je kunt X ook zonder WM draaien. Dat gebeurt bijvoorbeeld als je in ubuntu bij het inloggen onder sessie "fail safe" kiest. Er wordt dan ipv een windowmanager een xterm gestart. Je kunt dan nog steeds verschillende programma's starten, maar schakelen van de een naar de ander wordt lastig.
Dan draait nog steeds een Windowmanager. Het is dan de default windowmanager van X. Die heet TWM geloof ik.

Acties:
  • 0 Henk 'm!

  • sam.vimes
  • Registratie: Januari 2007
  • Laatst online: 04-10-2024
Anoniem: 86536 schreef op zondag 14 september 2008 @ 17:28:

[Beschrijving van een X11-omgeving weggelaten]

...Klopt dit allemaal (een beetje)...?
Zo nee, leg uit a.u.b. :)
Je hebt het goed begrepen en verwoord. De naam is overigens X Window System. Gezien je voorkennis zul je het wikipedia-artikel Wikipedia: X Window System ongetwijfeld al gelezen hebben. (Zo niet: onmiddellijk doen :) )

[...]
  1. Is X Windows System platform onafhankelijk? Met andere woorden, zou je in theorie een X server op windows kunnen draaien? Of draait het alleen op UNIX varianten?
    Ja. Ja. Nee. Er bestaan X11-servers voor Unices, Linux, VMS, Windows, ... Zowel commercieel als open source.

    Het maakt voor de X-server niet uit of zijn clients zich nu op dezelfde machine bevinden of een machine aan de andere kant van de wereld.
  2. Maakt een X-server nu verbinding met een Display Manager? En welke plaats neemt hierin de Window Manager in? Of is de Window manager onderdeel van de Display Manager?
    Ik neem aan dat je met Display Manager het "inlogscherm" (xdm, kdm of gdm) bedoelt. Het is precies andersom. De display manager start de X-server als subproces en toont vervolgens als client van die X-server een mooi inlogschermpje. Nadat je je hebt geauthenticeerd, start de display manager je desktop environment als subproces. Ook de DE is client van de X-server voor wat betreft het gebruik van de Display.

    Voor de beeldvorming kun je er van uitgaan dat de X11-server de interface is tussen jouw hardware (videokaart, beeldscherm, toetsenbord, muis, tekentablet) en de software die grafische uitvoer of menselijke invoer (toetsaanslagen, muisbewegingen, z.g. X-events) wil hebben. Een samenhangende set van hardware heet een Display. De software communiceert met de X11-server via een API (Xlib). De API zal voor de communicatie in de regel een tcp-socket of andere IPC-verbinding openen.
  3. Als mijn PC een X-server aan het draaien is, zou het in theorie (en in de praktijk) dus mogelijk moeten zijn meerdere Display Managers en dus meerdere Desktop Environments tegelijkertijd moeten kunnen draaien. Als ik twee schermen aansluit kan dit volgens mij ook. Nu heb ik dus 2 D.E.'s, maar nog steeds maar één X-server draaien. Klopt het dat het daarom onmogelijk is om doormiddel van twee tobo+muis combinaties elke D.E. afzonderlijk aan te sturen? Voor mijn 'gevoel' zouden hiervoor twee X-servers actief moeten zijn.
    Dit klopt niet helemaal. Er is in de praktijk geen verschil tussen X-server en Display Manager. De X-server probeert in beginsel AL je hardware voor "human interfacing" (video, toetsenbord) te beheersen. Delen met een andere X-server kan niet (of geeft problemen).

    Het is wel mogelijk om in de X11-configuratie de hoeveelheid beheerste hardware per X-server in te perken. Als je dus twee videokaarten hebt, kun je bijvoorbeeld 2 X-servers configureren waarbij de ene de ene kaart+beeldscherm gebruikt, en de andere de andere kaart+beeldscherm. De normale configuratie zou zijn dat 1 X-server beide kaarten en beeldschermen aanstuurt.


    De DE zal als één van zijn vele subprocessen een Window Manager (WM) starten. de WM is een client van de X-server. Dit is een fundamenteel verschil met Microsoft Windows, waar de WM een onderdeel is van de grafische omgeving (van de "server"dus) . De WM is wel een bijzondere client, in die zin dat er maar één tegelijk actief kan zijn.

    De WM verzorgt zaken als:
    • de rand om de vensters heen
    • de titelbalk
    • het gedrag bij trekken aan een vensterrand
    • de plaats en stapelvolgorde van vensters
    • ...
    De client-applicatie houdt zich dus bezig met de INHOUD van een venster, de WM houdt zich bezig met wat zich buiten dat venster bevindt.

    Als de client speciale wensen heeft (bijvoorbeeld "venster mag niet groter of kleiner worden gemaakt), moet hij dat door een protocol (ICCCM) dat via de X-server loopt aan de WM verzoeken. De WM kan vervolgens dat verzoek honoreren (of niet).
  4. Als ik op CTRL + ALT + BACKSPACE druk sluit de X-server af, en dus mijn D.E. Wat gebeurt er op dat moment met alle geopende programma's? Ben ik die kwijt of blijven die draaien op de achtergrond? Wat is het verschil in CTRL + ALT + BACKSPACE en een soft-reset van mijn computer (met andere woorden: wat blijft er in het geheugen achter als ik alleen de X-server reset? Alleen de Kernel of ook andere zaken?)
    Als je de X-server killt (Ctrl-Alt-BS) worden de communicatiekanalen met de clients (alle programma's die op dat moment van de diensten van de X-server gebruik maken) aan één kant afgesloten.
    In de praktijk betekent dat, dat de eerstvolgende read() of write() die de client (via de Xlib API) naar het communicatiekanaal uitvoert een fatale fout op zal leveren. Het is mogelijk om in de executable aan de client-kant een errorhandler te installeren, maar meestal wordt de client gewoon beëindigd.
    Zolang de client (door de Xlib API) geen interactie met de X-server heeft, zal hij dus ook niet doorhebben dat de X-server het loodje heeft gelegd en gewoon doordraaien. Dit duurt echter meestal niet lang, omdat de meeste clients een event-loop hebben die continu bij de X-server pollt of er nog X-events (toetsaanslagen etc.) zijn opgetreden.

    De X-server is gewoon één van de (vele) processen die op je Linux-PC draaien, en Ctrl-Alt-BS zal alleen dit proces beëindigen. De rest van de processen draait gewoon door.
    Één van die rest is waarschijnlijk de display manager (xdm, kdm of gdm), die zal constateren dat zijn childproces (de X-server) is gekilld en weer een nieuwe X-server zal starten en daarin vervolgens weer een loginscherm zal tonen.

    Het verschil met een reset van je computer (bijvoorbeeld met de aan/uit-knop) is dat in dat geval opeens de processor weer op adres 0 met zijn boot-sequence begint. Alle lopende processen (inclusief de Linux-kernel) beginnen weer van voren af aan.
  5. In hoeverre is een programma van GNOME (bijvoorbeeld Rhythmbox) verweven met de D.E.? Communiceert bijv. Rhythmbox altijd via de X-server of ook rechtstreeks met kernel (dus zonder tussenkomst van de D.E. en X-server)
    Voor alle afhandeling van beeldscherm, toetsenbord en muis zal de clientapplicatie ("client" is dus in de relatie met de X-server!) communicaren met de X-server. Voor alle andere hardware zal de applicatie op een andere manier met het operating systeem moeten communiceren.

    Het is dus in deze context niet vanzelfsprekend (maar wel gebruikelijk) dat de display en (bijv.) de geluidskaart zich in hetzelfde PC bevinden.

Acties:
  • 0 Henk 'm!

  • Sir Isaac
  • Registratie: September 2002
  • Laatst online: 27-10-2024
@DOT: Het is net hoe iets op een bepaalde distro is geconfigureerd. Bij mij (ubuntu 8.04, upgrades van 4.10) kun je kiezen voor een "failsafe-terminal" session waarin zelfs geen wm draait. De terminal neemt dan de functie van de WM over in de zin dat de X sessie wordt afgesloten als de terminal wordt afgesloten. Je kunt dit bijv gebruiken om verschillende windowmanagers te proberen zonder dat je steeds een nieuwe Xsessie hoeft te starten of configureren.
Omdat er geen window manager draait worden de windows op één plek over elkaar gepleurd. Zie onder
Afbeeldingslocatie: http://martijn.dynalias.org/temp/no_wm.png

[ Voor 24% gewijzigd door Sir Isaac op 15-09-2008 23:13 ]


Acties:
  • 0 Henk 'm!

Anoniem: 86536

Topicstarter
sam.vimes schreef op maandag 15 september 2008 @ 16:33:
[...]
Voor alle afhandeling van beeldscherm, toetsenbord en muis zal de clientapplicatie ("client" is dus in de relatie met de X-server!) communicaren met de X-server. Voor alle andere hardware zal de applicatie op een andere manier met het operating systeem moeten communiceren.

Het is dus in deze context niet vanzelfsprekend (maar wel gebruikelijk) dat de display en (bijv.) de geluidskaart zich in hetzelfde PC bevinden.
[/list]
Gaat X daadwerkelijk over alleen tobo+muis of zal zoiets als een joystick ook via X gaan (of een teken-tablet, afstandsbediening, etc.)?

Waar staat trouwens de 11 in X11 voor? (Versienummer?)

Bedankt iedereen voor de reacties trouwens _/-\o_ Fijn dat jullie de tijd nemen het duidelijk uit te leggen! Het is erg verhelderend allemaal. Dit helpt me echt problemen (als Linux beginner) makkelijker te kunnen oplossen, omdat je daadwerkelijk snapt wat je doet.
Dit vind ik wel erg prettig aan Linux; het is wel even ingewikkeld, maar als je het snapt kun je echt problemen oplossen door logisch na te denken, i.p.v. (zoals met XP) een tooltje hiervoor downloaden, een fix daarvoor, 10x de-installleren en opnieuw installeren en duimen dat het weer doet.

Het voelt wel een beetje alsof ik opnieuw in de 'waarom-fase' zit... waarom dit, waarom dat :P

[ Voor 23% gewijzigd door Anoniem: 86536 op 16-09-2008 00:02 ]


Acties:
  • 0 Henk 'm!

Anoniem: 69437

De 11 van X11 is het versienummer van het protocol tussen clients (apps) en de server. Dat zal waarschijnlijk niet meer veranderen.

Tekentabletten worden door X afgehandeld (is immers een cursor). Van joysticks en afstandsbedieningen weet ik het niet.

Acties:
  • 0 Henk 'm!

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 07-05 17:25
Anoniem: 86536 schreef op maandag 15 september 2008 @ 23:55:
[...]

Gaat X daadwerkelijk over alleen tobo+muis of zal zoiets als een joystick ook via X gaan (of een teken-tablet, afstandsbediening, etc.)?
Ja alle input gaat via x11 (al ben ik niet 100% zeker over joysticks, nooit iets mee gedaan). Heb hier al verschillende dingen aan x gehangen waaronder tablets, afstandsbediening rf en ir, bedraad / bluetooth toetsenbord en muis, touchscreens. Elk device moet in je xorg.conf vermeld worden.

Acties:
  • 0 Henk 'm!

  • Borromini
  • Registratie: Januari 2003
  • Niet online

Borromini

Mislukt misantroop

icyx schreef op zondag 14 september 2008 @ 22:30:
[...]

Ja, in een venster zie je GNOME, KDE of wat dan ook inderdaad. Hier heb je een screenshot. Het 'venster' cygwin bevat heel KDE. klik voor de screenshot

[...]

Gnome is als het ware de verzameling van GTK, metacity & 'standaard software' als evolution. Dit alles valt onder de naam GNOME. Metacity is de window manager van gnome. De window manager die de xserver weer aanstuurt zegmaar. Metacity krijgt van programma's opdracht hoe ze 'zichzelf' getekend willen hebben. Deze tekeningen worden dan weer 'ingevuld' aan de hand van de GTK+ Library, knoppen, taakbalken, schuifbalken e.d. worden dus door GTK+ verzorgd, en door Metacity getekend, waardoor ze GNOME vormen ;).
GTK op zich is geen deel van Gnome. Het is een set bibliotheken (de 'GIMP toolkit') waarom Gnome gebaseerd is, maar het is niet Gnome zelf. XFCE is bv. ook op GTK+ gebaseerd. Vergelijk het met Qt, dat is ook geen deel van KDE, maar zonder is KDE niet veel waard :+

Got Leenucks? | Debian Bookworm x86_64 / ARM | OpenWrt: Empower your router | Blogje


Acties:
  • 0 Henk 'm!

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Borromini schreef op dinsdag 16 september 2008 @ 01:40:
[...]

GTK op zich is geen deel van Gnome. Het is een set bibliotheken (de 'GIMP toolkit') waarom Gnome gebaseerd is, maar het is niet Gnome zelf. XFCE is bv. ook op GTK+ gebaseerd. Vergelijk het met Qt, dat is ook geen deel van KDE, maar zonder is KDE niet veel waard :+
True, je hebt gelijk, de scheidingslijn heb ik nou in al mijn enthousiasme maar laten vervagen :o

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Acties:
  • 0 Henk 'm!

  • deepbass909
  • Registratie: April 2001
  • Laatst online: 02:04

deepbass909

[☼☼] [:::][:::] [☼☼]

IcE_364 schreef op dinsdag 16 september 2008 @ 00:21:
[...]

Ja alle input gaat via x11 (al ben ik niet 100% zeker over joysticks, nooit iets mee gedaan). Heb hier al verschillende dingen aan x gehangen waaronder tablets, afstandsbediening rf en ir, bedraad / bluetooth toetsenbord en muis, touchscreens. Elk device moet in je xorg.conf vermeld worden.
Klopt niet helemaal, een afstandsbediening gaat op kernel niveau via Lirc, die een device aanmaakt in /dev. Daar kunnen vervolgens weer client-apps op reageren, zoals irexec (cmdline app van Lirc) of klirc (kde lirc client). Afhankelijk van hoe je Lirc configureert wordt de io-afhandeling puur in X11 gedaan of vanuit een lager systeem niveau, wat vergelijkbaar is met een keyboard.
Voor joysticks geldt eigenlijk hetzelfde, ook die worden op kernel niveau aangestuurd, maar de uitvoering is afhankelijk van configuraties op hoger niveau. Je kan dacht ik in Xorg.conf een joystick vrij makkelijk instellen dat hij werkt als muis.

Waarschuwing, opperprutser aan het werk... en als je een opmerking van mij niet snapt, klik dan hier


Acties:
  • 0 Henk 'm!

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 07-05 17:25
deepbass909 schreef op dinsdag 16 september 2008 @ 09:21:
[...]


Klopt niet helemaal, een afstandsbediening gaat op kernel niveau via Lirc, die een device aanmaakt in /dev. Daar kunnen vervolgens weer client-apps op reageren, zoals irexec (cmdline app van Lirc) of klirc (kde lirc client). Afhankelijk van hoe je Lirc configureert wordt de io-afhandeling puur in X11 gedaan of vanuit een lager systeem niveau, wat vergelijkbaar is met een keyboard.
Voor joysticks geldt eigenlijk hetzelfde, ook die worden op kernel niveau aangestuurd, maar de uitvoering is afhankelijk van configuraties op hoger niveau. Je kan dacht ik in Xorg.conf een joystick vrij makkelijk instellen dat hij werkt als muis.
Dat hangt er dan schijnbaar maar net van af wat voor ab je hebt, mijn rf ab werd gewoon gezien als input device (usb aansluiting).

Acties:
  • 0 Henk 'm!

  • UDuckling5
  • Registratie: Juni 2001
  • Laatst online: 22-12-2021

UDuckling5

Nachteend

Volgens mij wordt hier X-client en X-server nogal eens omgedraaid. Gelukkig blijft het een duidelijk verhaal :)

Flap


  • QkE
  • Registratie: April 2002
  • Laatst online: 20:50

QkE

In your face Gnagna

UDuckling5 schreef op dinsdag 16 september 2008 @ 16:24:
Volgens mij wordt hier X-client en X-server nogal eens omgedraaid. Gelukkig blijft het een duidelijk verhaal :)
Dit is precies mijn gedachte. De naamgeving is ook niet zo heel intuitief. Volgens mij, maar verbeter me als ik het fout heb, is het zo dat de x clients programma's zijn die gebruik maken van de functionaliteit (scherm, toetsenbord en muis) die de xserver biedt.

En nou komt het verwarrende. Als er gebruik wordt gemaakt van een remote server (via bijv internet) om programma's op te draaien, draait er op de server een xclient die gebruik maakt van de xserver die op jou clientmachine draait. :+

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 02-04 23:13

daft_dutch

>.< >.< >.< >.<

het beste kan je de naam "Xclient" zo veel mogelijk proberen te beperken.
Elke applicatie is een Xclient. of dit nu een server of client based programma is.
Dat verwart.
Xserver draait op de desktop. (of de server als vnc server of zo)

>.< >.< >.< >.<

Pagina: 1