Comment exécuter une application GUI via SSH?

10

J'ai l'habitude de travailler sur Unix / Linux et j'ai récemment déménagé sur Mac. En était capable de le faire:

derick@linux1:~$ ssh -X linux2
derick@linux2's password:
derick@linux2:~$ xclock

J'ai installé X11 depuis maxports et je peux faire la même chose depuis mon mac. Si j'essaie l'inverse en ssh-ing dans mon mac depuis linux, je ne peux exécuter que certaines applications:

  • /usr/X11/bin/xclock fonctionne bien
  • Quelque chose comme /Applications/Preview.app/Contents/MacOS/Previewouvre l'interface graphique sur le mac.

    Il semble que ce ne soit pas possible sur un mac? Sinon, comment exécuter une application à distance (sur un Mac) avec un affichage local (Linux)? Ai-je besoin d'une application tierce?

Mise à jour: Pour être plus précis: j'ai une synergie et j'utilise Mac pour le codage. Sur mon PC Linux, j'aimerais voir l'affichage d'une autre application (GUI) depuis Mac. Ainsi, les applications de «partage d'écran en direct» comme VNC ne fonctionneront pas.

Par exemple, je travaille sur mon mac dans l'application A (disons Word) et je veux voir la sortie d'Excel (fonctionnant sur mac) sur mon PC Linux à côté de moi. (Simulation d'un double écran via le réseau). Cela a bien fonctionné sur Linux, en espérant une solution pour mac.

Derick Schoonbee
la source
S'il n'y a pas de solution via SSH, cela m'intéresserait également. Le problème est que je veux exécuter l'affichage d'une application locale sur un PC via le réseau à côté de moi comme je le faisais avec Linux.
Derick Schoonbee
Puis-je vous demander pourquoi vous voulez éviter VNC? Problèmes de décalage réseau?
Nicholas Smith
Je travaille actuellement sur Mac, donc l'écran est "occupé". Je veux exécuter une autre application sur le mac avec la sortie affichée sur le PC à côté de moi. Comme je l'ai fait avec Linux. En espérant voir une solution sur mac.
Derick Schoonbee
Au fait, vous n'avez pas besoin d'installer X11 par macports ... X11 est livré avec OS X.
Yuji
Ah hah, donc votre objection à VNC n'est pas due à des problèmes de VNC, mais à cause des contraintes d'écran?
Nicholas Smith

Réponses:

9

Donc, si je ne me trompe pas, le problème que vous avez actuellement avec VNC est qu'il partage l'écran actuel de l'utilisateur Mac avec des applications ouvertes que vous ne voulez pas voir sur votre autre ordinateur? Lion introduit la possibilité de filtrer les utilisateurs partagés qui sont connectés en arrière-plan . Citant le texte du lien:

  • Activez le partage d'écran et définissez un mot de passe VNC.
  • Prenez note de l'adresse IP de votre ordinateur.
  • Lancez un client VNC sur une autre machine.
  • Connectez-vous à l'adresse IP de votre ordinateur avec le mot de passe que vous avez défini précédemment.
  • Vous verrez l'écran de connexion Mac OS X qui apparaît lorsque vous démarrez l'ordinateur pour la première fois. Si vous vous connectez à l'utilisateur actuellement actif, vous contrôlerez l'écran de l'ordinateur. Si vous sélectionnez un autre utilisateur, vous serez connecté au bureau de cet utilisateur en arrière-plan. Cela n'affectera pas ce qui est vu sur l'écran de l'ordinateur physique.

Vous aurez probablement juste besoin de créer un autre utilisateur pour le partager.

cftarnas
la source
Génial, cela semble être ce que je veux! Maintenant, j'ai une autre motivation pour passer à Lion . Je testerai bientôt et accepterai probablement ceci comme réponse. Merci!
Derick Schoonbee
Bon sang, je viens de mettre à jour et je reçois l'écran de connexion via VNC. Mais il ne veut pas prendre mon clavier caressé. Ainsi, je ne peux pas me connecter :(
Derick Schoonbee
C'est très étrange - quel client VNC utilisez-vous?
cftarnas
17

L'application native Mac OS X n'utilise pas le protocole X pour le rendu, mais le protocole spécifique Mac. Vous ne pouvez donc pas utiliser le transfert de protocole ssh X comme vous le pourriez avec un poste de travail Linux.

Comme vous l'avez découvert, l'inverse n'est pas vrai, vous pouvez installer un serveur X sur Mac OS X et faire apparaître le programme Linux sur votre Mac.

Ce que vous pouvez faire est d'utiliser la fonction de partage de bureau propre à Mac ou d'installer un serveur VNC. Ensuite, depuis votre box Linux, vous vous connectez à votre Mac via VNC au lieu de ssh.

Sylvain Defresne
la source
Merci pour l'information. Ce que je veux savoir s'il existe des fonctionnalités similaires que je peux utiliser sur le Mac. Par exemple, puis-je utiliser la fonction de partage de bureau de linux1 pendant que je travaille / me connecte sur mon mac?
Derick Schoonbee
Oui, vous pouvez exécuter un serveur VNC sous Linux et le connecter à partir de Mac avec un client VNC (il existe des clients VNC gratuits sur Mac et un serveur VNC gratuit sous Linux).
Sylvain Defresne
Hmm .. VNC ne le coupe pas: je travaille sur mon mac dans l'application A (disons Word) et je veux voir la sortie d'Excel (fonctionnant sur mac) sur Linux PC à côté de moi.
Derick Schoonbee
Comme l'explique Sylvain, ce n'est pas possible sur Mac. L'architecture sous-jacente du système d'exploitation ne permet pas ce type d'utilisation.
Samuel Mikel Bowles
3
Voir ma réponse, mais avec Lion, c'est possible si vous utilisez un autre utilisateur sur le Mac pour la session VNC.
cftarnas
7

Comme Sylvian l'a mentionné, vous ne pouvez pas exécuter vos applications Mac et les afficher sur Linux. Le mieux que vous puissiez faire est VNC. Vous verrez tout l'écran, pas seulement une application.

Activez un mot de passe VNC dans les préférences de partage d'écran:

Préférences de partage d'écran

Vous pouvez ensuite utiliser n'importe quelle application client VNC sous Linux.

bahamat
la source
0

Vous n'avez pas un peu de chance, mais ScreenRecycler va vous rapprocher le plus possible. Fonctionne sur VNC mais convainc OS X que la connexion VNC est en fait un moniteur séparé, il devrait vous permettre de vous rapprocher de ce dont vous avez besoin. Je l'ai utilisé, c'est plutôt bien, il y a un essai gratuit alors c'est assez bon marché. J'ai arrêté de l'utiliser uniquement parce que j'étais sur un réseau de merde et qu'il y avait trop de latence à moins que je ne connecte directement les deux.

Nicholas Smith
la source
0

Obtenir un peu de créativité, mais vous pouvez également exécuter une application java en utilisant VNC qui a soit un serveur http, soit, dans mon cas, utilise une boucle pour rechercher un fichier et créer ce fichier en utilisant SSH.

Voici mon application java.

Erik B
la source