Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
xrdp [Le 13/02/2010, 19:35] legaub Plus dans l'esprit |
xrdp [Le 17/02/2023, 20:47] (Version actuelle) 78.196.241.242 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Karmic bureau_à_distance tutoriel BROUILLON}} | + | {{tag>Xenial bureau_à_distance tutoriel BROUILLON vetuste}} |
---- | ---- | ||
====== XRDP ou comment se connecter depuis un client RDP® sur un serveur Ubuntu====== | ====== XRDP ou comment se connecter depuis un client RDP® sur un serveur Ubuntu====== | ||
+ | |||
+ | <note warning>Cette documentation est largement obsolète. Les modifications des fichiers de configuration au point 3 sont certainement inutiles et empêchent probablement le fonctionnement de xrdp.</note> | ||
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]]. | 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. | Si l'on souhaite se connecter depuis ces machines sur un serveur Ubuntu, une seule solution : 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. | ||
- | |||
- | ===== Présentation ===== | ||
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. | 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. | ||
Ligne 21: | Ligne 17: | ||
* 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. | * 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. | ||
- | ===== Installation ===== | + | ===== Prérequis ===== |
+ | Installer vnc4server - Virtual network computing server software, ça fonctionne tel quel donc pas de configuration à modifier. | ||
- | <code>sudo apt-get install vnc4server</code> | + | Si Vino est déjà installé et actif il n'y aura pas de conflit. Il peut donc être ignoré. |
- | Maintenant que le terrain est bien déblayé, un petit : | + | ===== Installation ===== |
- | <code>sudo apt-get install xrdp</code> | + | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>xrdp]]**. |
- | installe le paquet xrdp, la dernière version étant la 0.4.1, elle est présente dans les dépôts. | + | <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 ===== | ||
- | Pour l'instant, rien ne fonctionne, car la section [Xvnc] du fichier /etc/xrdp/sesman.ini ne contient que deux arguments : | + | === 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> | <code> | ||
param1=-bs /* désactive le "backing store support" sur tous les écrans */ | 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 */ | param2=-ac /* interdit l'édition des listes de contrôle d'accès par le client */ | ||
+ | param3=-nolisten | ||
+ | param4=tcp | ||
</code> | </code> | ||
- | Il faut donc en compléter la section [Xvnc] avec : | + | Il faut compléter cette section, de la manière suivante: |
- | <code>param3=-fp | + | |
+ | <code> | ||
+ | param3=-fp /* ces quatre paramètres corrigent le bug #78282 du paquet vnc4server */ | ||
param4=/usr/share/fonts/X11/misc | param4=/usr/share/fonts/X11/misc | ||
param5=-extension | param5=-extension | ||
Ligne 48: | Ligne 54: | ||
Personnellement, j'y ai aussi ajouté : | Personnellement, j'y ai aussi ajouté : | ||
- | <code>param7=-depth | + | <code> |
+ | param7=-depth /* pour forcer la profondeur de couleur */ | ||
param8=16 | param8=16 | ||
- | param9=-localhost | + | param9=-localhost /* pour contraindre la connexion via xrdp */ |
- | param10=-NeverShared</code> | + | </code> |
- | On peut aussi ajuster les autres paramètres à sa convenance (sections [Globals], [Security], etc. ...). N'oublions pas de redémarrer avec : | + | 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.) |
- | <code>sudo /etc/init.d/xrdp restart</code> | + | === Menu de connexion === |
+ | |||
+ | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/xrdp/xrdp.ini**. | ||
- | Pour finir, on peut modifier le fichier /etc/xrdp/xrdp.ini, pour n'y laisser paraître que la connexion que nous avons correctement ajustée. On conserve simplement les sections [globals] et [xrdp1] que l'on renomme pour le fun : | + | Conserver simplement les sections [globals] et [xrdp1] que l'on renomme pour le fun : |
<code>[globals] | <code>[globals] | ||
Ligne 75: | Ligne 84: | ||
</code> | </code> | ||
- | Redémarrons le service. Vous pouvez désormais vous connecter à votre serveur en utilisant le protocole RDP<sup>®</sup>. | + | 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 ===== | ===== Problème de configuration ===== | ||
- | Une nouvelle difficulté surgit si l'on veut passer, par exemple -DisconnectClient=0. En effet, impossible de glisser le signe "=" nulle part. | + | Une difficulté surgit si l'on veut passer, par exemple -DisconnectClients=0 ou -NerverShared=1. En effet, impossible de glisser le signe "=" nulle part. |
- | On s'en sort grâce au script /etc/xrdp/startwm.sh auquel on ajoute la ligne suivante : | + | [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/xrdp/startwm.sh**. |
- | <code>vncconfig -set DisconnectClients=0</code> | + | Ajouter les lignes suivantes : |
- | pour avoir finalement : | + | |
- | <code bash> | + | <code>vncconfig -set NeverShared=1 |
- | #!/bin/sh | + | |
- | + | ||
- | if [ -r /etc/default/locale ]; then | + | |
- | . /etc/default/locale | + | |
- | export LANG LANGUAGE | + | |
- | fi | + | |
- | + | ||
vncconfig -set DisconnectClients=0 | vncconfig -set DisconnectClients=0 | ||
- | |||
- | . /etc/X11/Xsession | ||
</code> | </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. | 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. | ||
- | ===== Désinstallation ===== | + | <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> | ||
+ | ===== Utilisation en mode client ===== | ||
+ | Installer **rdesktop**. | ||
- | ===== Liens ===== | + | Exemple de commande: |
+ | rdesktop -u <REMOTE USER> 111.222.333.444 -p <PASSWORD> -f -k fr -5 -K -r clipboard:PRIMARYCLIPBOARD | ||
+ | |||
+ | ===== 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.]] | * [[http://xrdp.sourceforge.net/|(en) XRDP chez sourceforge.]] | ||
* [[:vnc|VNC (Virtual Network Computing)]] sur la documentation ubuntu-fr. | * [[:vnc|VNC (Virtual Network Computing)]] sur la documentation ubuntu-fr. | ||
- | * [[http://planet.ubuntu-fr.org/post/2007/06/04/Connexion-a-Ubuntu-Linux-a-partir-de-windows-:-xrdp|Le tuto de juin 2007]] sur planet ubuntu-fr, qui présente bien l'aspect théorique. | + | * [[https://forum.ubuntu-fr.org/viewtopic.php?id=372863|RDP sur un serveur ubuntu ?]] sur le forum ubuntu-fr. |
- | * [[http://forum.ubuntu-fr.org/viewtopic.php?id=372863|RDP sur un serveur ubuntu ?]] sur le forum ubuntu-fr. | + | |
---- | ---- | ||
- | //Contributeurs principaux : [[http://perso.nordnet.fr/stephane.patin-gaubert/fiches/fiche16.html|legaub]]// | + | //Contributeurs principaux : [[http://patin.gaubert.free.fr/fiches/fiche16.html|legaub]]// |