Inicio del programa GUI de Windows en Windows a través de Cygwin sshd desde el cliente ssh


10

Me gustaría ingresar a mi cuadro de Windows con Cygwin sshd y ejecutar la aplicación GUI de Windows en ese cuadro de Windows. No quiero reenviar X.

Por ejemplo, desde la terminal del servidor ubuntu, ingreso a Windows con sshd y luego lanzo un notepad.exe. El notepad.exe se mostrará en Windows, no en ubuntu-server sin X windows.

Respuestas:


12

El método adecuado parece tener algún problema:

http://cygwin.1069669.n5.nabble.com/Windows-GUI-programs-eg-notepad-start-but-are-invisible-after-ssh-login-td56256.html

http://cygwin.com/ml/cygwin/2007-10/msg00334.html

Vuelva a instalar 'sshd' especificando el indicador '-i' en 'cygrunsrv' o edite el servicio actual en "Herramientas administrativas" -> "Servicios" y marque "Permitir que el servicio interactúe con el escritorio" en la pestaña "Iniciar sesión" del servicio "Propiedades".

Así que trato de hackear. Creo un cygwin_screen.cmd y lo pongo en la carpeta de inicio de Windows.

@echo off 
C:
chdir C:\cygwin\bin
bash --login -i "/home/username/bin/start_screen.sh"

start_screen.sh es simple y se asegurará de que tengamos la pantalla para adjuntar.

#!/bin/bash
screen -dmS "my_screen"

Ahora puedo iniciar sesión remotamente en Windows desde el cliente ssh y adjuntarme a esa pantalla cuando quiero ejecutar la aplicación GUI de Windows.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc

Esta solución funciona para mí, pero cuando la desconecto nuevamente, el proceso de la pantalla del cliente se bloquea. Debo hacer ctrl-z y matar el proceso. Crear el demonio en un contexto (en el cuadro de Windows) y adjuntarlo desde otro (inicio de sesión ssh) parece crear este problema. Crear y luego conectar desde mi conexión ssh no causa el conflicto.
Tim Rupe

1

Use PSTools y ejecute el comando como se muestra a continuación desde el cliente SSL. ./PsExec.exe -i -d -s \\\\127.0.0.1 notepad


0

Mi solución es similar a la de Win Myo Htet, excepto que usa tmux, que tiene más flexibilidad.

  1. Inicie tmux en una terminal local de Cygwin.

    cygwin-host$ tmux

  2. Use ssh para ejecutar el comando de forma remota, alojado en la sesión tmux.

    other-host$ ssh cygwin-host tmux new-window notepad

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.