« Deport d affichage avec compression NX » : différence entre les versions
m (optimisation ADSL) |
Aucun résumé des modifications |
||
(5 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Paramétrer X Window]] | |||
[[Catégorie:Léa pour les pros]] | |||
= Déport d'affichage avec compression NX = | = Déport d'affichage avec compression NX = | ||
Par [[Utilisateur:Elessar|Elessar]] | |||
Le système graphique X11 permet de lancer des logiciels sur une machine, tout en récupérant leur affichage sur une autre. C'est souvent utile, par exemple pour configurer de chez soi le logiciel de messagerie d'un ami. Seul problème : sur des connexions ADSL, c'est lent, trop lent. | Le système graphique X11 permet de lancer des logiciels sur une machine, tout en récupérant leur affichage sur une autre. C'est souvent utile, par exemple pour configurer de chez soi le logiciel de messagerie d'un ami. Seul problème : sur des connexions ADSL, c'est lent, trop lent. | ||
Ligne 52 : | Ligne 57 : | ||
==== Les proxys NX ==== | ==== Les proxys NX ==== | ||
Tout d'abord le poste local, on lance le proxy NX en mode serveur X11 | Tout d'abord le poste local, on lance le proxy NX en mode serveur X11 : | ||
poste_local$ nxproxy -S | poste_local$ nxproxy -S | ||
Par ailleurs, sur la seconde console du poste local, on ouvre une session SSH sur l'ordinateur distant. On en profite également pour demander au client SSH d'établir un transfert de connexion réseau, pour le port 4008, qui sera utilisé par les proxys NX : | Par ailleurs, sur la seconde console du poste local, on ouvre une session SSH sur l'ordinateur distant. On en profite également pour demander au client SSH d'établir un transfert de connexion réseau, pour le port 4008, qui sera utilisé par les proxys NX : | ||
poste_local$ ssh -R localhost:4008:localhost:4008 utilisateur@poste_distant | poste_local$ ssh -R localhost:4008:localhost:4008 utilisateur@poste_distant | ||
Un fois connecté par SSH, on lance le proxy NX sur le poste distant, en mode client X11, et le laissant tourner en arrière-plan. On précisé qu'il doit se connecter au port local 4008 (8 + 4000, c'est une bizarrerie d'nxproxy), sur lequel écoute le serveur maintenant SSH : | Un fois connecté par SSH, on lance le proxy NX sur le poste distant, en mode client X11, optimisé pour une connexion de type ADSL, et le laissant tourner en arrière-plan. On précisé qu'il doit se connecter au port local 4008 (8 + 4000, c'est une bizarrerie d'nxproxy), sur lequel écoute le serveur maintenant SSH : | ||
poste_distant$ nxproxy -C localhost:8 & | poste_distant$ nxproxy -C link=adsl localhost:8 & | ||
==== Le cookie X11 ==== | ==== Le cookie X11 ==== | ||
Ligne 67 : | Ligne 72 : | ||
poste_local$ xauth list | poste_local$ xauth list | ||
poste_local/unix:0 MIT-MAGIC-COOKIE-1 bba945268dab0548c74c32fcf483e703 | poste_local/unix:0 MIT-MAGIC-COOKIE-1 bba945268dab0548c74c32fcf483e703 | ||
* l'enregistrer sur le poste distant (attention à bien changer le nom du cookie poste_local en poste_distant) : | * l'enregistrer sur le poste distant (attention à bien changer le nom du cookie poste_local/unix:0 en poste_distant/unix:8) : | ||
poste_distant$ xauth add poste_distant/unix: | poste_distant$ xauth add poste_distant/unix:8 MIT-MAGIC-COOKIE-1 bba945268dab0548c74c32fcf483e703 | ||
==== Lancer le logiciel ==== | ==== Lancer le logiciel ==== | ||
Ligne 74 : | Ligne 79 : | ||
Voilà, vous pouvez maintenant lancer le logiciel sur le poste distant, en lui précisant bien d'utiliser l'affichage :8, où le proxy NX est à l'écoute : | Voilà, vous pouvez maintenant lancer le logiciel sur le poste distant, en lui précisant bien d'utiliser l'affichage :8, où le proxy NX est à l'écoute : | ||
poste_distant$ DISPLAY=:8 xclock | poste_distant$ DISPLAY=:8 xclock | ||
<br/> | |||
<br/> | |||
'''<b>[[Administration système|@ Retour à la rubrique Administration système]]</b>''' | |||
<br/> | |||
{{Copy|2009|[[Utilisateur:Elessar|Elessar]]|CC-BY-SA}} | |||
[[Catégorie:Administration système]] |
Dernière version du 14 décembre 2023 à 22:10
Déport d'affichage avec compression NX
Par Elessar
Le système graphique X11 permet de lancer des logiciels sur une machine, tout en récupérant leur affichage sur une autre. C'est souvent utile, par exemple pour configurer de chez soi le logiciel de messagerie d'un ami. Seul problème : sur des connexions ADSL, c'est lent, trop lent.
NX est un protocole de compression qui permet un transfert d'affichage plus rapide. Ils est souvent intégré dans des solutions clef en main de bureau à distance, mais ici, il s'agit simplement de récupérer l'affichage d'un logiciel, pas un bureau entier.
Terminologie
Cette documentation fait intervenir deux ordinateurs :
- le votre, avec votre clavier et votre écran, qui va récupérer l'affichage d'un logiciel exécuté sur une machine distante : il fait office de client SSH et de serveur X11 ;
- l'autre, distant, qui va exécuter le logiciel affiché sur votre machine : c'est le serveur SSH.
Enfin, le logiciel lancé sur l'ordinateur distant s'appelle le client X11, parce que c'est lui qui va demander à votre serveur X11 de lui servir d'affichage, de clavier et de souris.
Logiciels
Sur votre ordinateur local, vous devez disposer :
- d'un client OpenSSH (paquet openssh-client sous Debian et dérivés) ;
- d'un proxy NX (paquet nxproxy sous Debian et dérivés).
Sur l'ordinateur distant, il faut :
- un serveur OpenSSH (paquet openssh-server sous Debian et dérivés) ;
- également un proxy NX ;
- un logiciel graphique à lancer (ici, on utilisera xclock).
Utilisation
Schéma général
Nous allons utiliser le protocole X11 par réseau, un proxy NX et les capacités de transfert de connexion réseau d'OpenSSH, de la façon suivante :
écran X11 NX clavier <--- serveur X11 <--- proxy NX <--- client SSH | poste local souris ^ | SSH | Internet X11 NX | logiciel (client X11) ---> proxy NX ---> serveur SSH | poste distant
Dans ce schéma :
- le logiciel client X11 envoie son affichage au proxy X11 comme s'il s'agissait d'un serveur X11 standard ;
- le proxy NX simule un serveur X11, compresse les données qu'il reçoit, et les envoie sur un port réseau local du poste distant ;
- le serveur SSH écoute sur ce port local, et transfère tout au client SSH ;
- le client SSH reçoit ces données par le réseau, et les transfère à un port réseau local du poste local ;
- le proxy NX écoute sur ce port local, décompresse les données qu'il reçoit, et les envoie au serveur X11 ;
- le serveur X11 affiche le logiciel selon les ordres qu'il reçoit du proxy NX.
Procédure
Vous allez avoir besoin de 2 consoles, ou émulateurs de terminaux, ou onglets d'émulateur de terminal.
Les proxys NX
Tout d'abord le poste local, on lance le proxy NX en mode serveur X11 :
poste_local$ nxproxy -S
Par ailleurs, sur la seconde console du poste local, on ouvre une session SSH sur l'ordinateur distant. On en profite également pour demander au client SSH d'établir un transfert de connexion réseau, pour le port 4008, qui sera utilisé par les proxys NX :
poste_local$ ssh -R localhost:4008:localhost:4008 utilisateur@poste_distant
Un fois connecté par SSH, on lance le proxy NX sur le poste distant, en mode client X11, optimisé pour une connexion de type ADSL, et le laissant tourner en arrière-plan. On précisé qu'il doit se connecter au port local 4008 (8 + 4000, c'est une bizarrerie d'nxproxy), sur lequel écoute le serveur maintenant SSH :
poste_distant$ nxproxy -C link=adsl localhost:8 &
Le cookie X11
Pour finir, pour autoriser l'ordinateur local à accéder (indirectement) à l'affichage du poste local, il faut lui donner le cookie de sécurité X11 :
- récupérer ce cookie sur le poste local :
poste_local$ xauth list poste_local/unix:0 MIT-MAGIC-COOKIE-1 bba945268dab0548c74c32fcf483e703
- l'enregistrer sur le poste distant (attention à bien changer le nom du cookie poste_local/unix:0 en poste_distant/unix:8) :
poste_distant$ xauth add poste_distant/unix:8 MIT-MAGIC-COOKIE-1 bba945268dab0548c74c32fcf483e703
Lancer le logiciel
Voilà, vous pouvez maintenant lancer le logiciel sur le poste distant, en lui précisant bien d'utiliser l'affichage :8, où le proxy NX est à l'écoute :
poste_distant$ DISPLAY=:8 xclock
@ Retour à la rubrique Administration système
Copyright
© 2009 Elessar
![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |