5 votes

Pourquoi le terminal ne supporte pas (ne peut pas ?) le protocole x11 ?

Ce serait génial de pouvoir utiliser le tunnel x via ssh ; pourquoi doit-on utiliser XQuartz (etc) à la place ?

5voto

shsteimer Points 8749

La réponse est simple : Terminal est un émulateur de terminal -- ce n'est pas un serveur X11. Il existe pour fournir un point final de communication textuelle entre votre Mac et d'autres machines.

Le terminal n'est plus un X11 que ne l'est gnome-terminal sous Linux ou cmd sous Windows. Ce qui revient à dire que ce n'est pas du tout un serveur X11. Vous devez faire tourner un serveur X11 sur votre machine locale pour que les applications X11 graphiques et tunnelisées puissent dessiner leur interface utilisateur sur votre Mac. Ce n'est pas vraiment différent pour le Mac de quelque chose comme Linux, c'est juste que Linux, par défaut, fait toujours tourner un serveur X11 pour dessiner votre bureau, donc c'est géré un peu plus gracieusement que sur le Mac. Il suffit d'ouvrir les permissions de votre serveur X11 pour que le tunnelage ssh et la redirection X11 sur un bureau Linux semblent fonctionner.

El Serveur XQuartz que vous exécutez sous OS X vous permet simplement d'obtenir le serveur X11 manquant dont vous avez besoin sur votre session OS X pour pouvoir afficher les commandes de l'interface utilisateur transférées sur votre bureau OS X. Ce n'est pas quelque chose qu'une application Terminal pourrait, ou devrait vraiment, implémenter. Cela ne fait pas partie de la nature d'un terminal. C'est une chose totalement distincte.

Je veux également aborder un point que vous avez mentionné dans votre question :

Ce serait génial de pouvoir utiliser le tunnel x via ssh.

Je suppose que vous voulez dire "ce serait génial de faire une redirection X11 depuis une session ssh démarrée dans Terminal.app vers mon serveur XQuartz en cours d'exécution". Vous pouvez le faire !

Lorsque vous utilisez ssh dans Terminal.app, il suffit d'inclure le fichier -X pour activer la redirection X et votre Mac lancera XQuartz automatiquement. Il n'est pas nécessaire d'utiliser l'application terminal dans XQuartz, qui est plutôt nulle.

Vous pouvez également modifier ~/.ssh/config et ajoutez :

ForwardX11 yes

à ce fichier pour activer la redirection X par défaut pour toutes les sessions ssh. Vous pouvez même lancer des programmes X sur la machine distante en arrière-plan comme suit :

ssh username@remoteserver -f -X xeyes

Cela fonctionne à partir du Terminal.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X