Je ne suis pas du tout un spécialiste, mais voici ma maigre contribution:
Toutes applications qui souhaitent afficher quelque chose à l'écran doit passer par ce serveur?
Oui et non. Si tu veux afficher quelque chose sur un bureau qui utilise X11, oui. Mais il y a aussi Wayland aujourd'hui, qui va remplacer tôt ou tard X11. Tu peux aussi passer par le framebuffer sans avoir de serveur graphique.
Il y a une API disponible en C ou C++ ou on connait le port d'écoute et le protocole pour communiquer avec le serveur et on envoie une socket TCP?
Généralement quand on veut faire un programme graphique on utilise une bibliothèque qui va gérer tout ça (GTK, Qt, TK...). Pour se passer de ces bibliothèques et dialoguer directement avec X, je ne saurais t'aiguiller.
Le problème si tu codes quelque chose directement pour X11 est la portabilité: ce serveur est utilisé avec Linux, mais pas par Windows par exemple. Et il est sur le point d'être remplacé, donc ton application risque d'être compliquée à maintenir dans la durée. En utilisant une bibliothèque graphique qui est compatible avec plusieurs systèmes tu évites ça.
Meme si je n'ai pas de Bureau graphique, l'interpreteur bash utilise également le serveur X11 pour afficher les sorties des commandes ?
Non, c'est ton émulateur de terminal qui utilise X11, à travers sa bibliothèque graphique (GTK si tu utilises gnome-terminal). Si tu es dans un TTY il n'y a pas de serveur graphique. Mais il reste la possibilité d'utiliser le framebuffer pour afficher des éléments graphiques.
# Réponses
Posté par ted (site web personnel) . En réponse au message renseignement sur le server X11. Évalué à 3. Dernière modification le 27 mai 2019 à 12:11.
Je ne suis pas du tout un spécialiste, mais voici ma maigre contribution:
Oui et non. Si tu veux afficher quelque chose sur un bureau qui utilise X11, oui. Mais il y a aussi Wayland aujourd'hui, qui va remplacer tôt ou tard X11. Tu peux aussi passer par le framebuffer sans avoir de serveur graphique.
Généralement quand on veut faire un programme graphique on utilise une bibliothèque qui va gérer tout ça (GTK, Qt, TK...). Pour se passer de ces bibliothèques et dialoguer directement avec X, je ne saurais t'aiguiller.
Le problème si tu codes quelque chose directement pour X11 est la portabilité: ce serveur est utilisé avec Linux, mais pas par Windows par exemple. Et il est sur le point d'être remplacé, donc ton application risque d'être compliquée à maintenir dans la durée. En utilisant une bibliothèque graphique qui est compatible avec plusieurs systèmes tu évites ça.
Non, c'est ton émulateur de terminal qui utilise X11, à travers sa bibliothèque graphique (GTK si tu utilises gnome-terminal). Si tu es dans un TTY il n'y a pas de serveur graphique. Mais il reste la possibilité d'utiliser le framebuffer pour afficher des éléments graphiques.
Un LUG en Lorraine : https://enunclic-cappel.fr