Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
xrdp [Le 15/12/2011, 15:17] – modification externe 127.0.0.1xrdp [Le 05/11/2019, 10:49] (Version actuelle) – [Prérequis] 88.180.233.94
Ligne 1: Ligne 1:
 +{{tag>Xenial bureau_à_distance tutoriel BROUILLON}}
  
 +----
 +====== XRDP ou comment se connecter depuis un client RDP® sur un serveur Ubuntu======
 +
 +On peut être confronté à des machines windows<sup>®</sup> verrouillées, sur lesquelles on ne peut rien installer, et où seul le protocole [[wpfr>Remote_Desktop_Protocol|RDP®]] est disponible. Par exemple des [[wpfr>Client_léger|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<sup>®</sup> 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.
 +
 +===== Prérequis =====
 +
 +Installer vnc4server - Virtual network computing server software, ça fonctionne tel quel donc pas de configuration à modifier.
 +
 +Si Vino est déjà installé et actif il n'y aura pas de conflit. Il peut donc être ignoré.
 +
 +===== Installation =====
 +
 +[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>xrdp]]**.
 +
 +<note>sur 14.04 Trusty server,tout fonctionne sans aucun paramétrage supplémentaire... Certe la fenêtre texte est un peu petite! </note>
 +
 +===== Configuration =====
 +
 +=== Configuration de sesman ===
 +
 +[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/xrdp/sesman.ini**.
 +
 +Pour l'instant, rien ne fonctionne, car la section [Xvnc] ne contient que les quatre arguments :
 +
 +<code>
 +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 */
 +param3=-nolisten
 +param4=tcp
 +</code>
 +
 +Il faut compléter cette section, de la manière suivante:
 +
 +<code>
 +param3=-fp                         /* ces quatre paramètres corrigent le bug #78282 du paquet vnc4server */
 +param4=/usr/share/fonts/X11/misc
 +param5=-extension
 +param6=XFIXES</code>
 +
 +Personnellement, j'y ai aussi ajouté :
 +
 +<code>
 +param7=-depth            /* pour forcer la profondeur de couleur */
 +param8=16
 +param9=-localhost        /* pour contraindre la connexion via xrdp */
 +</code>
 +
 +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.)
 +
 +=== Menu de connexion ===
 +
 +[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/xrdp/xrdp.ini**.
 +
 +Conserver simplement les sections [globals] et [xrdp1] que l'on renomme pour le fun :
 +
 +<code>[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
 +</code>
 +
 +Redémarrer avec :
 +
 +<code>sudo /etc/init.d/xrdp restart</code>
 +
 +Vous pouvez désormais vous connecter à votre serveur en utilisant le protocole RDP<sup>®</sup>.
 +
 +=== Configuration du clavier ===
 +Les configurations du clavier en local et en distant sont différentes. Ainsi si Ubuntu est en anglais à la base et même si en local, vous avez bien configuré le clavier en azerty, le clavier distant reste en qwerty.
 +Voici la commande à exécuter **en local**, (pas en session distante) !
 +<code>sudo xrdp-genkeymap /etc/xrdp/km-0409.ini</code>
 +relancer votre session distante si elle était ouverte.
 +
 +===== Problème de configuration =====
 +
 +Une difficulté surgit si l'on veut passer, par exemple -DisconnectClients=0 ou -NerverShared=1. En effet, impossible de glisser le signe "=" nulle part.
 +
 +[[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/xrdp/startwm.sh**.
 +
 +Ajouter les lignes suivantes :
 +
 +<code>vncconfig -set NeverShared=1
 +vncconfig -set DisconnectClients=0
 +</code>
 +
 +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.
 +
 +<note>{{ :capture2.jpg?nolink&300|}} Essais sur ubuntu 16.04 depuis Windows 7 : Le log de connexion me renvois une erreur après une autentification réussie, même en apportant les modifications à sesman.ini décrites plus haut :
 +</note>
 +<note>meme erreur depuis Ubuntu v16.04 (client RDP Remmina) vers ubuntu 15.04
 +</note>
 +<note>Il semble que les bureaux Unity et Gnome ne soient pas compatibles avec xrdp.
 +Mais cela fonctionne en installant xfce4 : <code>sudo apt-get install xfce4</code>
 +Il faut ensuite indiquer à Ubuntu que c'est le bureau xfce qui doit être utilisé : <code>echo xfce4-session >~/.xsession</code>
 +Ensuite redémarrer xrdp : <code>sudo /etc/init.d/xrdp restart</code>
 +NB: Et **il faut conserver le fichier /etc/xrdp/sesman.ini d'origine**.
 +Testé avec Ubuntu 16.04 depuis un Windows 7.
 +</note>
 +===== Désinstallation =====
 +Et si vous voulez désinstaller xrdp 
 +tapez:
 +apt-get remove xrdp
 +===== Pour en savoir plus =====
 +
 +  * [[http://xrdp.sourceforge.net/|(en) XRDP chez sourceforge.]]
 +  * [[:vnc|VNC (Virtual Network Computing)]] sur la documentation ubuntu-fr.
 +  * [[http://forum.ubuntu-fr.org/viewtopic.php?id=372863|RDP sur un serveur ubuntu ?]] sur le forum ubuntu-fr.
 +
 +----
 +
 +//Contributeurs principaux : [[http://patin.gaubert.free.fr/fiches/fiche16.html|legaub]]//