Cette page est considérée comme vétuste et ne contient plus d'informations utiles.
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.

Si l'on souhaite se connecter depuis ces machines sur un serveur Ubuntu, une seule solution : installer XRDP sur ce dernier.

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, à la connexion, entre différents modules. Ceux-ci sont listés dans /etc/xrdp/xrdp.ini, on y trouve bien sûr VNC.
  • appelle PAM pour l'authentification.
  • fait en sorte que le néo client VNC, avatar du client RDP, se connecte à 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.

Avoir un serveur VNC fonctionnel (avec par exemple vnc4server) et les droits administrateurs sur le serveur. Savoir installer un paquet, éditer un fichier et éventuellement contrôler la machine distante à l'aide d'un autre protocole, typiquement ssh.

Installez le paquet xrdp.

La dernière version de XRDP est la 0.4.1, elle est présente dans les dépôts.

Configuration de sesman

Ouvrez le fichier /etc/xrdp/sesman.ini.

Pour l'instant, rien ne fonctionne, car la section [Xvnc] ne contient que deux arguments :

param1=-bs     /* désactive le "backing store support" sur tous les écrans */
param2=-ac     /* interdit l'édition des listes de contrôle d'accès par le client */

Il faut compléter cette section, de la manière suivante:

param3=-fp                         /* ces quatre paramètres corrigent le bug #78282 du paquet vnc4server */
param4=/usr/share/fonts/X11/misc
param5=-extension
param6=XFIXES

Personnellement, j'y ai aussi ajouté :

param7=-depth            /* pour forcer la profondeur de couleur */
param8=16
param9=-localhost        /* pour contraindre la connexion via xrdp */

On peut aussi ajuster les autres paramètres à sa convenance (sections [Globals], [Security], etc. …). ATTENTION, certaines options sont ignorées. (Voir la man page de sesman.ini.)

Ouvrez le fichier /etc/xrdp/xrdp.ini.

Conserver simplement les sections [globals] et [xrdp1] que l'on renomme pour le fun :

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
 
[xrdp1]
name=legaub vous invite sur un serveur Ubuntu
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1

Redémarrer avec :

sudo /etc/init.d/xrdp restart

Vous pouvez désormais vous connecter à votre serveur en utilisant le protocole RDP®.

Une difficulté surgit si l'on veut passer, par exemple -DisconnectClients=0 ou -NerverShared=1. En effet, impossible de glisser le signe "=" nulle part.

Ouvrez le fichier /etc/xrdp/startwm.sh.

Ajouter les lignes suivantes :

vncconfig -set NeverShared=1
vncconfig -set DisconnectClients=0

Attention, l'utilisation de "vncconfig" fait que le nouveau paramètre ne sera pris en compte que lors du démarrage d'une nouvelle session.


Contributeurs principaux : legaub

  • xrdp.1292240596.txt.gz
  • Dernière modification: Le 18/04/2011, 14:40
  • (modification externe)