Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Xpra – Établir un accès distant à des applications graphiques sous Linux (Screen for X)

Si vous utilisez Linux, notamment à distance, vous vous êtes peut être déjà demandé comment déporter l’affichage graphique d’une app Linux distante sur un autre ordinateur Linux voire un Windows ou un macOS.

Un début de réponse avait d’ailleurs été posté dans mon article sur l’installation de WSL2 sous Windows 10/11.

Mais il y a encore plus simple et cela s’appelle Xpra. Derrière cet acronyme signifiant « X11 Persistent Remote Application », se cache un outil sous licence libre GPLv2+ connu également sous le nom de « screen for X ».

Xpra permet d’exécuter des programmes X11, généralement sur un hôte distant, puis de diriger leur affichage vers votre machine locale. Ensuite quand vient le moment de vous déconnecter de ces programmes, aucun souci. A la reconnexion à partir de la même machine ou d’une autre, l’état de l’application ne sera pas perdue.

Capture d'écran de l'interface graphique de Xpra pour configurer les options de l'application à distance

Xpra peut également être utilisé pour accéder à des sessions de bureau existantes ou démarrer des sessions de bureau à distance. Plusieurs clients sont disponibles et le serveur Xpra intègre une interface cliente en HTML5.

Xpra est utilisable sur une grande variété de protocoles réseau TCP chiffrés et fait de son mieux pour s’adapter à toutes les conditions de réseau que ce soit SSL, SSH, websockets…etc.

Xpra transmet et synchronise de nombreuses fonctionnalités du bureau Linux, ce qui permet aux applications distantes de s’intégrer de manière transparente dans l’environnement de bureau du client : entrée et sortie audio, imprimantes, presse-papiers, plateaux système, notifications, webcams, etc.

Il peut également ouvrir des documents et des URL à distance et d’afficher du contenu à haute résolution (comme ça votre écran à 3 000 euros ne vous sert pas à rien).

Pour lancer par exemple Xterm depuis une machine distante, entrez la commande suivant en prenant soin de remplacer USER par votre utilisateur et HOST par l’IP de votre machine.

xpra start ssh://USER@HOST/ --start=xterm

Cette méthode est similaire à ssh -X pour ceux qui connaissent, sauf que les performances seront nettement meilleures et que vous pourrez vous déconnecter et vous reconnecter à cette session autant de fois que vous le souhaitez.

Pour vous reconnecter ou vous connecter à cette session depuis une autre machine, utilisez la commande attach comme ceci :

xpra attach ssh://USERNAME@HOST/

Vous trouverez plus d’infos ici sur Github et les binaires sont ici pour Windows, macOS et Linux.


Les articles du moment