X serveur et Terminal X [X] - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 08-03-2003 à 18:31:36
Citation : |
Houla, tu as un problème de vocabulaire.
Un serveur est une machine ou un logiciel qui rend un service. Dans le cas de X, le service est l'affichage d'une application. Donc le serveur X est sur la machine qui affiche réellement l'application. corrolère : Un terminal X est une machine qui a un serveur X.
Donc maintenant, on va parler de serveur d'application (qui execute l'application) et serveur X (qui l'affiche).
Deuxième couche : le serveur d'application se contefout de sa carte graphique (il peut même ne pas en avoir sans que cela change quoi que ce soit). Donc seule la carte du serveur SX va jouer un rôle.
Concernant la qualitée d'affichage, c'est liée à la machine qui va faire tourner le serveur X. Mais globalement c'est pas ça qui pose problème. Sur mon PC (qui a un serveur X), je met au défi de faire la différence entre ce qui tourne en local ou sur un serveur d'application.
Quand au scroll, il n'est généralement pas trop lent. Une application bien programmée pouvant transferré des images dans la mémoire du serveur, si on scroll dans une fenêtre dont tout le contenu (pixmap) est sur le serveur, ça ne se sent pas (mais toutes les applications ne sont pas bien programmées).
Enfin dernière chose, les ordres d'affichage X sont de haut niveau. C'est pas forcément du "allume pixel en 25,52 en rouge", mais ça peut être "affiche le texte machin à tel endroit". Donc il y a finalement pas énormément de traffic sur le reseau (sauf si une andouille essaye d'afficher une vidéo au travers du réseau).
Marsh Posté le 08-03-2003 à 18:39:25
ok, j'ai compris.
Mais que faut-il mettre sur le serveur d'application pour qu'il puisse envoyer des ordres X au serveur X (terminal)? En particulier si je ne mets pas de carte graphique?
Marsh Posté le 08-03-2003 à 18:44:09
Bobor a écrit : |
Qui dit serveur dit client. Dans le cas X, le client X est ce qui va envoyer les ordres d'affichage. Et bien la réponse est :
le logiciel lui même.
Donc pour qu'une application utilise X, il suffit qu'elle soit une application X, et TOUS les logiciels unisque avec une interface graphique sont des applications X. Rien de spécial donc à faire.
Marsh Posté le 08-03-2003 à 18:44:31
Bobor a écrit : |
Ben, les applications !
Marsh Posté le 08-03-2003 à 18:47:50
donc pas de X sur le serveur d'applications. Bon point. Pour le terminal, quelle mini distrib avec donc X, mais peu gourmande en espace disque?
Marsh Posté le 08-03-2003 à 18:58:39
J'avais fait un terminal X à partir d'une Slackware dont j'avais viré tout ce qui était inutile, avec un noyau minimum (qui ne supportait pas grand'chose, juste la carte réseau). Le principal défaut, d'ailleurs, c'était que j'avais aussi viré les polices, et donc X avait besoin de contacter un serveur de polices distants. Ça prend moins de 30 Mo. Avec les polices, ça prend dans les 45 Mo. Mais je suis sûr qu'on peut encore réduire en se basant sur le µlibc, busybox, et le serveur X qui est tout petit mais dont j'ai oublié le nom.
Marsh Posté le 08-03-2003 à 19:06:21
j'ai pensé également à la slack, mais ça a dû changer depuis 6 ans
Tu n'avais pas mis XFree86?
Pour le serveur de fonte, il faut que je stacke ça car il y eu pas mal d'amélioration de ce côté et je ne sais pas si c'est toujours xfs qui gère les fontes sous XFree (les belles fontes ).
Marsh Posté le 08-03-2003 à 19:11:45
je rajoute une petite question. Pour que ce soit bien le serveur d'applications qui execute l'appli et non le terminal, il faut faire un ssh/telnet, ou on peut s'en sortir par un simple export NFS? Dans le deuxième cas je crains que ce soit le terminal qui execute l'appli.
Marsh Posté le 08-03-2003 à 19:24:47
Bobor a écrit : il faut faire un ssh/telnet, ou on peut s'en sortir par un simple export NFS? |
NFS, c'est du partage de disque, ça ne correspond donc pas à ton besoin.
Donc ssh/rexec ou rsh (ou XDCMP)
Marsh Posté le 08-03-2003 à 19:25:07
L'intérêt de la Slack, c'est qu'elle ne va pas essayer de te rajouter plein de trucs même si c'est écrit que c'est utile dans les dépendances. J'avais utilisé une Slack 7, et surtout un XFree 3.3.6, qui supportait mieux la Cirrus Logic 54xx du 486, et surtout qui prend moins de place et moins de RAM (il n'y avait que 8 Mo sur la machine).
Ce n'est pas de ça que je parle pour le serveur de polices. Par défaut, X n'a pas besoin qu'un serveur de polices soit lancé, il peut utiliser directement les polices installées, voir la section "Files" du fichier XF86Config. Tu as des lignes de ce type-là :
Code :
|
Par contre, si tu as un serveur de polices, en général c'est en local, et donc, à la place de ces lignes, tu as quelque chose de ce genre-là pour le FontPath :
Code :
|
Là, je parle d'un cas où le serveur de polices xft n'est pas en local, mais par exemple pour toi, sur le serveur d'applications. Il doit être mancé au démarrage, de la sorte, par exemple (dans un rc.xft ou autre script de démarrage) :
Code :
|
Dans ce cas, donc, il faut que le serveur X qui est sur les terminaux sache où aller chercher les polices (vu qu'il n'y en a pas en local), et ça se fait en mettant dans la section Files du XF86Config ceci :
Code :
|
J'admets, c'est un cas compliqué, mais à cette époque, je voulais arriver à faire tenir tout ça sur moins de 32 Mo, et c'est pour ça que j'avais viré les polices. Si tu n'as pas de restrictions de tailles, je te conseillerais de garder les polices en local, c'est beaucoup plus simple.
Marsh Posté le 08-03-2003 à 19:30:25
Bobor a écrit : je rajoute une petite question. Pour que ce soit bien le serveur d'applications qui execute l'appli et non le terminal, il faut faire un ssh/telnet, ou on peut s'en sortir par un simple export NFS? Dans le deuxième cas je crains que ce soit le terminal qui execute l'appli. |
Tu confonds, là.
Le plus simple, il est vrai, c'est de lancer les sessions avec XDMCP. Pour cela, il faut que xdm (ou gdm, ou kdm, nous, on utilisait GDM qui est assez simple à configurer) soit installé sur le serveur d'applications. Celui-ci attend les connexions sur le port 177 par défaut. Une fois que c'est fait, sur le terminal X, il faut simplement lancer la commande suivante :
~# X -query @IP_serveur
et hop, tu va te trouver devant la fenêtre de login du serveur d'applis. La seule chose qu'exécute le terminal X, c'est X. Les applis X sont lancés par le serveur (et seul l'affichage fait travailler le terminal ).
Marsh Posté le 08-03-2003 à 18:20:24
Lorsqu'on monte un serveur X (et d'applications X) et des terminaux X, qui affiche réellement les applications? Le serveur ou le terminal?
En gros, faut-il une bonne carte graphique sur le serveur ou le terminal?
Quelle mini-distrib conviendrait pour un terminal X. Xtermkit semble un peu dépassé et discontinué.
Quelle qualité d'affichage peut-on obtenir? Le scroll n'est-il pas trop lent?