¿Cómo trabajo con herramientas GUI en un servidor remoto?

26

Tengo un servidor Ubuntu ejecutándose en EC2 (que no instalé yo mismo, solo tomé un AMI). Hasta ahora estoy puttytrabajando para trabajar con él, pero me pregunto cómo trabajar con herramientas GUI (no estoy familiarizado con las herramientas de interfaz de usuario de Linux, pero quiero aprender). Tonto, me falta la conveniencia de Windows Explorer.

Actualmente solo tengo Windows en casa. ¿Cómo configuro las herramientas GUI para trabajar con un servidor remoto? ¿Debería incluso hacer esto, o debería apegarme a la línea de comando? ¿Cambian las respuestas si tengo una máquina Linux local para jugar?

ripper234
fuente
Si el reenvío X11 es lo suficientemente rápido (hay casos en que no lo es), debería estar bien. La CLI es siempre más poderosa por lo que es útil para lo ignore, pero esto no significa que las interfaces gráficas de usuario nunca son útiles :)
sakisk
Pero, ¿qué tipo de tareas desea realizar en el servidor? ¿Qué herramientas quieres usar? Es información importante para una respuesta. Digamos que mencionaste algo llamado "Explorador de Windows"; pero probablemente no haya "Windows Explorer" en Ubuntu, por lo que la solución que sugiere ejecutar algunos programas X de forma remota no encajará.
imz - Ivan Zakharyaschev
¿No hay un equivalente de Explorer para Ubuntu? ¿Seriamente?
ripper234
1
@imz: actualmente estoy interesado en el problema general. No tengo experiencia con las aplicaciones GUI de Linux en absoluto, así que no tengo idea de lo que quiero en este momento ... el primer uso que se me ocurre es navegar por las carpetas en un Explorer como la moda, y tal vez editar.
ripper234
1
@ ripper234: para navegar por los directorios, consulte mc.
Faheem Mitha

Respuestas:

31

Puede usar el reenvío X11 sobre SSH; asegúrate de que la opción

X11Forwarding yes

está habilitado en /etc/ssh/sshd_configel servidor remoto y habilita el reenvío X11 a mano con

Servidor remoto ssh -X

o agregue una línea que diga

ForwardX11 yes

a la entrada de host relevante en ~/.ssh/config

Por supuesto, eso requiere una pantalla X que funcione en el extremo local, por lo que si está utilizando Windows tendrá que instalar algo como XMing , luego configure el reenvío X11 en PuTTY como se demuestra en estas referencias:

ETA: al leer nuevamente y ver sus aclaraciones en los comentarios, FTP podría satisfacer sus necesidades aún mejor, ya que le permitirá 'montar' carpetas SFTP como si fueran unidades de red normales. Consulte aquí , aquí , aquí (para Windows XP / 7 / Vista) o aquí (para Windows 8) .

Shadur
fuente
6

Shadur cubrió cómo habilitar X. Tenga en cuenta que /etc/ssh/sshd_configestá en el extremo del servidor y ~/.ssh/configestá en el extremo del cliente, por lo que en general estamos hablando de dos máquinas diferentes. El reenvío X mostrará su aplicación remota en la pantalla X local. Entonces, las dos configuraciones tienen que decirle al control remoto y al local para permitir que esta operación suceda, respectivamente.

En cuanto a si debe usar X, depende. Debe tener en cuenta (al menos) los siguientes factores.

  • ¿Qué tipo de ancho de banda tienes? ¿Cuál es su velocidad? ¿Es medido? ¿Hay una gorra? Si tiene una conexión muy rápida a la red y no tiene restricciones, esa X es más útil, de lo contrario puede ser muy lenta. Tenga en cuenta que en general X es un cerdo de red; no está optimizado para el ancho de banda (o lo que sea la frase correcta).

  • ¿Qué herramientas planeas usar sobre X? ¿Hay reemplazos / equivalentes no gui? Si da ejemplos de los tipos de herramientas que piensa usar, las personas podrían sugerir alternativas si están disponibles. También tenga en cuenta que algunas herramientas bien conocidas vienen en forma de interfaz gráfica de usuario y línea de comandos / consola. P.ej. emacs, aptitude, reportbug.

En general, mi recomendación es usar la línea de comandos (apt, wget, rsync) o aplicaciones de maldiciones (como aptitude o mc) si están disponibles y hacen lo que necesita. Tales aplicaciones no son necesariamente peores que las aplicaciones X; Algunas de estas son buenas aplicaciones. P.ej. El software de John Davis, por ejemplo, jed y slrn, ambas aplicaciones de consola, muestran su estética distintiva y son obras de arte. Por cierto, ejecutar un servidor X en un cliente de Windows para conectarse a un servidor Linux es una opción, aunque no particularmente buena.

Si tiene un servidor Linux local, los problemas de ancho de banda desaparecen y X es una opción mucho más viable.

Faheem Mitha
fuente
Estoy de acuerdo en que, a menos que esté trabajando en un enlace bastante rápido (la latencia baja es un poco más importante que el ancho de banda), generalmente es una mejor idea usar herramientas de línea de comandos si están disponibles.
Shadur
1
@Shadur: mi latencia no es un gran evento en la línea de comando, tal vez ni siquiera debería intentar una herramienta de interfaz de usuario porque probablemente sea demasiado lenta.
ripper234
5

He descubierto freenxy nxclientpara ser una solución de escritorio remoto de muy alto rendimiento, mucho mejor que vnco X11. Yo lo intentaría.

Steve
fuente
3

Debería considerar apegarse a la línea de comando, porque a) la mayoría de los servidores ni siquiera tienen una GUI instalada, yb) todas las GUI son un poco lentas de usar en las redes.

Dicho esto, sugeriría echar un vistazo a VNC. Hay clientes nativos para Windows y servidores para Linux, por lo que no tendría que configurar X11 en su caja de Windows.

kuhkatz
fuente
1

Si usó Emacs, podría ejecutar un Emacs instalado localmente en su Windows y hacer edición de archivos, administración de archivos y directorios ( dired ), control de versiones, compilación y también algún otro trabajo aleatorio en el shell ( M-xshello M-xeshell), y probablemente algunas cosas más a través de TRAMP en su Emacs local. (Algunos videos de demostración fáciles de encontrar que tal vez puedan hacer que una persona no tenga tanto miedo de los desconocidos Emacs, y TRAMP, etc .: 1 , 2 ).

Esa es una ilustración de que los programas X remotos pueden no ser la solución adecuada para usted. A diferencia de la forma remota de los clientes X, la forma TRAMP no implica tráfico "gráfico" pesado en la conexión remota, usa la conexión ssh solo para enviar listados de directorio, archivos y salida de comandos de un lado a otro.

Digamos que si desea trabajar con el "Explorador de Windows", entonces todavía no habrá un "Explorador de Windows" en el servidor Ubuntu, por lo que no puede ejecutarlo de forma remota.

Pero si el "Explorador de Windows" tenía algo como TRAMP como una característica (para accesos remotos a través de SSH), podría continuar utilizando felizmente su "Explorador de Windows" local, si eso es todo lo que necesita.

imz - Ivan Zakharyaschev
fuente
Está preguntando sobre las herramientas GUI, no un editor GUI para archivos de configuración. [ xkcd.com/378/] aparte, Emacs no es la respuesta para todo, y en este caso te encuentras empuñando un martillo solo buscando una manera de describir el problema como un clavo.
Shadur
@Shadur: (Me reí.) Todavía no ha especificado qué tipo de herramientas necesita. GUI Editor también es una herramienta GUI, ¿no? ¿O tiene una comprensión especial de lo que es una "herramienta"?
imz - Ivan Zakharyaschev
@Shadur Por cierto, el punto de mi respuesta es sugerir un enfoque potencial para una solución que coincida con sus demandas de la manera más precisa posible, sin que sepamos exactamente qué tareas quiere resolver. Mi lógica es: 1) le gusta "Windows Explorer" 2) no sabemos qué características de "Windows Explorer" le gustan porque no ha especificado esto. ==> Entonces, si "Windows Explorer" tuviera algo como TRAMP, esa sería una especie de solución y respuesta ideal: las características que le gustan están allí, y funcionaría con su servidor remoto.
imz - Ivan Zakharyaschev
Es mi respuesta irrelevante para esta pregunta .. :) No, no lo creo, porque ripper234 está buscando ideas -? (S) que escribe "¿Debo incluso hacer esto, o debería atenerse a la línea de comandos?" Y esa es una idea nueva: busque también soluciones similares a TRAMP. Eso es similar a mi experiencia personal: cuando me pregunté sobre una forma conveniente de trabajar en un servidor remoto, un amigo mío dijo al IIRC que está feliz de usar TRAMP en Emacs; y comencé a considerar esto como una opción también.
imz - Ivan Zakharyaschev
1
Y ocasionalmente uso el equivalente en gedit a través de los backends ssh / sftp para gnome-vfs. Una vez más, "una forma de usar un editor de GUI para cambiar los archivos de configuración en un sistema remoto" es una pregunta diferente de "usar las interfaces de administración de GUI de forma remota"
Shadur
1

A diferencia de RDP, X pierde la sesión si el servidor o el túnel ssh se desconecta. Puede usar XVNC, que presenta un servidor X a los programas cliente y se conecta a un cliente VNC. Esto mantiene viva la sesión X y le permite conectarse y desconectar la sesión VNC.

Lo he hecho funcionar con éxito en una conexión DSL Jetstart de 128k / 128k (Sí, ¡Telecom NZ realmente solía ofrecer un servicio DSL de 128k / 128k!). Fue bastante sensible, solo se ralentizó cuando tuvo que descargar un gran mapa de bits al cliente VNC.

Puede ver cómo hacer un túnel VNC sobre ssh en este artículo.

Preocupado por TunbridgeWells
fuente
0

Lo uso nautilus --no-desktopen el servidor Ubuntu 11.04 para la funcionalidad de tipo MS Windows Explorer.

bschafer
fuente
¿Cómo ayuda esto con el acceso remoto?
reinierpost
0

Encontré que el gvfs-treecomando, o en algunos sabores de Linux tree, es útil para ver una representación CLI del árbol de directorios.

jkm
fuente
2
¡Bienvenido a U&L! Voy a arreglar el formato de la respuesta después de esto, pero voy a señalar que, si bien gvfs-treey treepuede ser comandos útiles, ¿cómo abordan este punto de la pregunta "¿Cómo puedo configurar las herramientas de interfaz gráfica de usuario para trabajar con un servidor remoto? " ?
Jeff Schaller
Su publicación tenía varias preguntas, ("No estoy familiarizado con las herramientas de interfaz de usuario de Linux, pero quiero aprender" y "¿Debería hacer esto, o debería seguir la línea de comandos?"). consciente del comando gvfs-tree podría hacerlo sentir más cómodo en la CLI, lo que haría que una interfaz gráfica de usuario fuera menos necesaria.
jkm