Comment utiliser les outils GUI sur un serveur distant?

26

J'ai un serveur Ubuntu fonctionnant sur EC2 (que je n'ai pas installé moi-même, je viens de prendre une AMI). Jusqu'à présent, j'utilise puttypour travailler avec, mais je me demande comment travailler avec des outils GUI (je ne suis pas familier avec les outils Linux UI, mais je veux apprendre). Idiot, je manque la commodité de l'Explorateur Windows.

Je n'ai actuellement que Windows à la maison. Comment configurer les outils GUI pour travailler avec un serveur distant? Dois-je même faire cela, ou dois-je m'en tenir à la ligne de commande? Les réponses changent-elles si j'ai une machine Linux locale avec laquelle jouer?

ripper234
la source
Si le transfert X11 est assez rapide (il y a des cas où il ne l'est pas), ça devrait aller. La CLI est toujours plus puissante, il est donc utile de ne pas l'ignorer, mais cela ne signifie pas que les GUI ne sont jamais utiles :)
sakisk
Mais quel genre de tâches voulez-vous accomplir sur le serveur? Quels outils souhaitez-vous utiliser? Ce sont des informations importantes pour une réponse. Dites, vous avez mentionné quelque chose appelé "Explorateur Windows"; mais il n'y a probablement pas d '"Explorateur Windows" sur Ubuntu, donc la solution suggérant d'exécuter à distance certains programmes X ne conviendra pas.
imz - Ivan Zakharyaschev
Il n'y a pas d'équivalent Explorer pour Ubuntu? Sérieusement?
ripper234
1
@imz - actuellement je m'intéresse au problème général. Je ne suis pas du tout expérimenté avec les applications GUI linux, donc je n'ai aucune idée de ce que je veux en ce moment ...
ripper234
1
@ ripper234: Pour naviguer dans les répertoires, consultez mc.
Faheem Mitha

Réponses:

31

Vous pouvez utiliser le transfert X11 via SSH; assurez-vous que l'option

X11Forwarding yes

est activé /etc/ssh/sshd_configsur le serveur distant, et soit activer le transfert X11 à la main avec

ssh -X remoteserver

ou ajoutez une ligne disant

ForwardX11 yes

à l'entrée d'hôte correspondante dans ~/.ssh/config

Bien sûr, cela nécessite un affichage X fonctionnel à l'extrémité locale, donc si vous utilisez Windows, vous devrez installer quelque chose comme XMing , puis configurer le transfert X11 dans PuTTY, comme illustré dans ces références:

ETA: En relisant et en voyant vos clarifications dans les commentaires, FTP pourrait mieux répondre à vos besoins, car il vous permettra de «monter» des dossiers SFTP comme s'il s'agissait de lecteurs réseau ordinaires. Voir ici , ici , ici (pour Windows XP / 7 / Vista) , ou ici (pour Windows 8) .

Shadur
la source
6

Shadur a expliqué comment activer X. Notez que le /etc/ssh/sshd_configserveur se trouve du côté serveur et celui ~/.ssh/configdu client, nous parlons donc en général de deux machines différentes. Le transfert X affichera votre application distante sur l'écran X local. Les deux configurations doivent donc indiquer au distant et au local de permettre à cette opération de se produire, respectivement.

Quant à savoir si vous devez utiliser X, cela dépend. Vous devez considérer (au moins) les facteurs suivants.

  • De quel type de bande passante disposez-vous? Quelle est sa vitesse? Est-ce mesuré? Y a-t-il un plafond? Si vous avez une connexion Internet très rapide et sans restrictions, ce X est plus utilisable, sinon il peut être très lent. Gardez à l'esprit qu'en général, X est un porc de réseau; il n'est pas optimisé en bande passante (ou quelle que soit la bonne phrase).

  • Quels outils prévoyez-vous d'utiliser sur X? Y a-t-il des remplacements / équivalents non-gui? Si vous donnez des exemples des types d'outils que vous envisagez d'utiliser, les gens pourraient suggérer des alternatives si elles sont disponibles. Sachez également que certains outils bien connus se présentent à la fois sous forme de GUI et de ligne de commande / console. Par exemple. emacs, aptitude, reportbug.

En général, ma recommandation est d'utiliser la ligne de commande (apt, wget, rsync) ou les applications curses (comme aptitude ou mc) si elles sont disponibles et faire ce dont vous avez besoin. Ces applications ne sont pas nécessairement pires que les applications X; certains d'entre eux sont de belles applications. Par exemple. Les logiciels de John Davis, par exemple jed et slrn, les deux applications de console, montrent son esthétique distinctive et sont des œuvres d'art. BTW, exécuter un serveur X sur un client Windows pour se connecter à un serveur Linux est une option, mais pas particulièrement bonne.

Si vous avez un serveur Linux local, les problèmes de bande passante disparaissent et X est une option beaucoup plus viable.

Faheem Mitha
la source
Je conviens qu'à moins que vous ne travailliez sur un lien assez rapide (une faible latence étant légèrement plus importante que la bande passante), il est généralement préférable d'utiliser des outils de ligne de commande s'ils sont disponibles.
Shadur
1
@Shadur - ma latence n'est pas un grand événement sur la ligne de commande, peut-être que je ne devrais même pas essayer un outil d'interface utilisateur car il sera probablement trop lent.
ripper234
5

J'ai trouvé freenxet nxclientêtre une solution de bureau à distance très haute performance, bien meilleure que vncou X11. J'essaierais.

Steve
la source
3

Vous devriez envisager de vous en tenir à la ligne de commande, car a) la plupart des serveurs n'ont même pas d'interface graphique installée, et b) toutes les interfaces graphiques sont un peu lentes à utiliser sur les réseaux.

Cela dit, je suggère de jeter un œil à VNC. Il existe des clients natifs pour Windows et des serveurs pour Linux, vous n'avez donc pas à configurer X11 sur votre Windows Box.

kuhkatz
la source
1

Si vous avez utilisé Emacs, vous pouvez exécuter un Emacs installé localement sur votre Windows, et faire l'édition de fichiers, la gestion de fichiers et de répertoires ( dired ), le contrôle de version, la compilation, et aussi d'autres travaux aléatoires dans le shell ( M-xshellou M-xeshell), et probablement quelques autres choses via TRAMP dans votre Emacs local. (Quelques vidéos de démonstration faciles à trouver qui peuvent peut-être rendre une personne moins effrayée par les Emacs inconnus, et TRAMP, etc.: 1 , 2. )

C'est une illustration que les programmes X distants peuvent ne pas être la bonne solution pour vous. Contrairement à la méthode des clients X distants, la méthode TRAMP n'implique aucun trafic "graphique" lourd sur la connexion distante, elle utilise la connexion ssh uniquement pour envoyer des listes de répertoires, des fichiers et des sorties de commande dans les deux sens.

Disons que si vous voulez travailler avec "l'Explorateur Windows", il n'y aura toujours pas d '"Explorateur Windows" sur le serveur Ubuntu, vous ne pouvez donc pas l'exécuter à distance.

Mais si "Windows Explorer" avait quelque chose comme TRAMP en tant que fonctionnalité (pour les accès à distance via SSH), vous pourriez continuer à utiliser votre "Windows Explorer" local, si c'est tout ce dont vous avez besoin.

imz - Ivan Zakharyaschev
la source
Il pose des questions sur les outils GUI, pas sur un éditeur GUI pour les fichiers de configuration. [ xkcd.com/378/] à part, Emacs n'est pas la réponse à tout, et dans ce cas, vous semblez brandir un marteau juste à la recherche d'un moyen de décrire le problème comme un clou.
Shadur
@Shadur: (moi en riant.) Il n'a pas encore précisé le type d'outils dont il a besoin. GUI Editor est également un outil GUI, n'est-ce pas? Ou avez-vous une compréhension particulière de ce qu'est un "outil"?
imz - Ivan Zakharyaschev
@Shadur BTW, le point de ma réponse est de suggérer une approche potentielle d'une solution qui répondrait à ses demandes aussi précisément que possible, sans que nous sachions exactement quelles tâches il veut résoudre. Ma logique est la suivante: 1) il aime "Windows Explorer" 2) nous ne savons pas quelles fonctionnalités de "Windows Explorer" il aime parce qu'il ne l'a pas spécifié. ==> Donc, si "Windows Explorer" avait quelque chose comme TRAMP, ce serait une sorte de solution et de réponse idéale: les fonctionnalités qu'il aime sont là, et cela fonctionnerait avec son serveur distant.
imz - Ivan Zakharyaschev
Ma réponse n'est-elle pas pertinente pour cette question? .. :) Non, je ne le pense pas, car ripper234 cherche des idées - il écrit "Dois-je même faire cela, ou dois-je m'en tenir à la ligne de commande?" Et c'est une nouvelle idée: recherchez également des solutions de type TRAMP. Cela ressemble à mon expérience personnelle: lorsque je me suis interrogé sur un moyen pratique de travailler sur un serveur distant, un de mes amis a dit à l'IIRC qu'il était heureux d'utiliser TRAMP dans Emacs; et j'ai commencé à considérer cela comme une option aussi.
imz - Ivan Zakharyaschev
1
Et j'utilise parfois l'équivalent dans gedit via les backends ssh / sftp pour gnome-vfs. Encore une fois, "une façon d'utiliser un éditeur d'interface graphique pour modifier les fichiers de configuration sur un système distant" est une question différente de "utiliser les interfaces d'administration de l'interface graphique à distance"
Shadur
1

Contrairement à RDP, X perd la session si le serveur ou le tunnel ssh se déconnecte. Vous pouvez utiliser XVNC, qui présente un serveur X aux programmes clients et se connecte à un client VNC. Cela maintient la session X active et vous permet de vous connecter et de déconnecter la session VNC.

Je l'ai fait fonctionner avec succès sur une connexion Jetstart DSL 128k / 128k (Oui, Telecom NZ avait vraiment l'habitude d'offrir un service DSL 128k / 128k!). Il était assez réactif, ne ralentissant que lorsqu'il devait télécharger une grande image bitmap sur le client VNC.

Vous pouvez voir comment tunneler VNC sur ssh dans cet article.

ConcernedOfTunbridgeWells
la source
0

J'utilise nautilus --no-desktopsur le serveur Ubuntu 11.04 pour la fonctionnalité de type MS Windows Explorer.

bschafer
la source
Comment cela aide-t-il avec l'accès à distance?
reinierpost
0

J'ai trouvé la gvfs-treecommande, ou dans certaines versions de Linux uniquement tree, utile pour voir une représentation CLI de l'arborescence de répertoires.

jkm
la source
2
Bienvenue chez U&L! Je vais corriger la mise en forme de votre réponse après cela, mais je vais souligner que tout gvfs-treeet treepeut - être des commandes utiles, comment traitent-ils le point de cette question de « Comment puis-je mettre en place des outils de l' interface graphique pour fonctionner avec un serveur distant? " ?
Jeff Schaller
Son post avait plusieurs questions, ("Je ne suis pas familier avec les outils Linux UI, mais je veux apprendre" et "Dois-je même faire cela, ou devrais-je m'en tenir à la ligne de commande?").) Je pensais que le faire connaître la commande gvfs-tree pourrait le rendre plus à l'aise dans la CLI, ce qui rendrait une interface utilisateur moins nécessaire.
jkm