Recherche de site Web

Comment exécuter des applications X graphiques via SSH sous Linux


Vous pouvez exécuter des applications X à distance sur un serveur Linux et afficher leur sortie sur votre machine locale en utilisant SSH avec le transfert X. Voici comment faire.

Bien que X11 reste la base de la plupart des bureaux Linux, sa transparence réseau, ou sa capacité à afficher des sorties à travers le réseau, est l'une de ses caractéristiques méconnues. SSH facilite et sécurise l'exécution d'applications GUI Linux sur une machine distante et leur affichage sur votre machine.

Pourquoi exécuter des applications Linux à distance ?

Pourquoi voudriez-vous exécuter un programme Linux graphique sur une autre machine ? Si vous utilisiez un programme de calcul scientifique complexe comme R ou Mathematica, vous pouvez l'exécuter sur une machine plus puissante tout en utilisant un environnement informatique léger localement, comme sur un Chromebook.

C'est aussi un excellent moyen de partager des applications techniques entre plusieurs utilisateurs en les installant sur un serveur central.

Autoriser les connexions X sur le serveur

Pour activer les connexions X11 via SSH, vous devez activer le transfert X11 sur le serveur distant. Cela se fait en utilisant le fichier /etc/ssh/sshd_config.

Vous devez ouvrir ce fichier en tant qu'utilisateur root pour le modifier. Faites défiler vers le bas jusqu'à l'option "X11Forwarding" et changez-la en "oui" si elle n'est pas déjà activée. Pour redémarrer le serveur SSH, utilisez la commande systemctl :

sudo systemctl restart sshd

Vous devrez peut-être également supprimer un caractère de commentaire « # » en tête pour l'activer. Une fois cela fait, enregistrez le fichier et démarrez le serveur OpenSSH s'il n'est pas déjà en cours d'exécution. Si vous n'êtes pas l'administrateur, vous devrez peut-être demander à l'administrateur de le faire pour vous.

Exécution d'applications graphiques X à distance en utilisant SSH

Pour exécuter vos applications X à distance, connectez-vous au serveur distant via SSH avec l'option -X, ce qui activera le transfert X côté client.

ssh -X username@server

Pour exécuter vos programmes, appelez-les depuis la ligne de commande comme si vous étiez assis devant un système Linux de bureau. Si tout se passe bien, vous devriez voir le programme apparaître sur votre bureau, même s'il s'exécute ailleurs.

Parce que le transfert X est lent, il peut s'écouler un certain temps entre le moment où vous exécutez la commande et celui où la fenêtre s'ouvre. Si vous avez besoin d'un bureau complet ou si vous souhaitez exécuter des applications plus rapidement, vous voudrez peut-être envisager une autre solution d'affichage à distance comme VNC.

Si vous rencontrez des problèmes, essayez d'utiliser l'option -Y au lieu de -X. Cela désactivera certains contrôles de sécurité mais vous permettra toujours d'exécuter des applications X via SSH. Si cela échoue, assurez-vous que le transfert X est activé sur la machine distante comme mentionné ci-dessus.

Maintenant, vous pouvez exécuter des applications Linux via SSH

Le transfert X SSH facilite l'exécution d'applications GUI Linux à distance. Cela montre à quel point Linux est orienté réseau, car vous pouvez utiliser des systèmes distants comme si vous étiez assis directement devant le clavier et l'écran, peu importe où vous vous trouvez. Une fois que vous avez configuré SSH, les connexions distantes sécurisées sont un jeu d'enfant.