Cette page est en cours de rédaction.
Apportez votre aide…
Ceci est une ancienne révision du document !
XRDP ou comment se connecter depuis un client RDP® sur un serveur Ubuntu
On peut être confronté à des machines windows® verrouillées, sur lesquelles on ne peut rien installer, et où seul le protocole RDP® est disponible. Par exemple des clients légers.
Une seule solution alors, si l'on souhaite se connecter depuis ces machines sur un serveur Ubuntu : installer XRDP sur ce dernier.
Pré Requis
Savoir installer un paquet, éditer un fichier et contrôler la machine distante à l'aide d'un autre protocole, typiquement ssh, en vue des tests.
Si le blabla ne vous intéresse pas, rendez-vous ici.
1. Structure générale
Xrdp est une couche s'installant sur le serveur. Elle fait office de serveur RDP® pour le client qui veut se connecter, et se comporte comme un client VNC pour le serveur ubuntu.
Entre les deux, se glisse un gestionnaire de session dénommé sesman, qui :
- donne le choix lors de la connexion entre différents modules. Ceux-ci sont listés dans /etc/xrdp/xrdp.ini, VNC en fait partie.
- appelle PAM pour l'authentification.
- fait en sorte que le néo client VNC, avatar du client RDP, trouve bien une session VNC fonctionnelle. Le plus souvent en la créant, à l'aide des paramètres choisis dans /etc/xrdp/sesman.ini et /etc/xrdp/startwm.sh.
2. Installer et (re)découvrir VNC
Comme XRDP fait appel à VNC, il n'est pas inutile de découvrir ce dernier (si vous ne le connaissez pas déjà).
VNC permet de prendre le contrôle à distance d'une machine (comme déjà décrit ici) et il permet, en outre, de créer autant de machines virtuelles qu'on le souhaite. Ainsi, "à côté" de la session (numérotée :0) ouverte sur la machine distante, peuvent exister d'autres sessions :1, :2, etc. qui utilisent les ressources de cette même machine.
Pour créer une session virtuelle, il n'est pas nécessaire d'être root. Il faut exécuter sur le serveur la commande "vncserver", accompagnée de plusieurs paramètres, dont certains sont indispensables pour corriger (en) le bug #78282 (voir post #57).
Pour visualiser une session distante déjà créée, il faut exécuter sur le client la commande "vncviewer". Celle-ci s'accompagne inévitablement du nom de la machine distante ainsi que du n° de la session créée.
2.1. Sur le serveur
user0@serveur:$~ sudo apt-get install vnc4server
installe le paquet vnc4server qui permet la création des machines virtuelles.
2.2. Sur le client
user0@client:$~ vncviewer serveur:14
visualise la machine virtuelle serveur:14 que nous venons de créer. Il faut saisir le mot de passe donné lors de la première exécution de vncserver. Il n'est pas obligatoire d'être le même utilisateur. Ainsi :
user1@client:$~ vncviewer serveur:14
accède aussi à la machine virtuelle serveur:14, sous réserve de renseigner correctement le mot de passe. On peut enfin tenter :
user0@client:$~ vncviewer serveur:0
afin de voir la session "réelle" éventuellement ouverte sur la machine distante. Cela fonctionne si l'utilisateur connecté à coché la case "Autoriser d'autre utilisateurs à voir votre bureau" dans les préférences du bureau à distance.
3. Rajouter la couche XRDP
Noblabla
Voir aussi
- VNC (Virtual Network Computing) sur la documentation ubuntu-fr.
- Le tuto de juin 2007 sur planet ubuntu-fr, qui présente bien l'aspect théorique.
- RDP sur un serveur ubuntu ? sur le forum ubuntu-fr.
Contributeurs principaux : legaub.