on remote linux, you need to have the "X11Forwarding yes" line in /etc/ssh/ssd_config

run cygwin64 terminal on workstation, from there launch "startx"

open a local terminal in the Cygwin/X:0.0 window (right click, open terminal here). From the terminal, the command "set | grep DISPLAY" should show DISPLAY=:0.0 (these 0.0 represent the display number and the visual number)

from the terminal, run "ssh -Y user@remotelinux-address" and insert password. You should now get to the remote system in the same terminal window.

from the terminal window, run "xterm", or any other graphical application. After a moment you should see the window come up.

On the remote linux you need to run a display manager that talks xdmcp. I was successful using xdm or gdm3. (for gdm3, on kali linux, I had to set enable=true in the [xdmcp] section of /etc/gdm3/daemon.conf)

From windows cygwin command prompt run xlaunch (do not run startx), then choose open session via XDMCP. this sends some UDP datagrams to port 177 of linux server, after a while, traffic starts flowing in towards local workstation tcp port 6000 (X traffic). You need to have quite an open routing between the workstation and the remote server in order for this traffic to work. A non working symptom is that you just see a black window on your workstation screen.

With these steps I had the keyboard perfectly working in the graphical terminal, and cut and paste to and from the graphical terminal is working well, even with non-ascii accented characters.

Other remote graphical options:
the following options do not require the cygwin/X environment, but just a simple graphical bitmap client.

- xrdp: remote desktop protocol

install xrdp on remote linux server

in remote linux server, start the xrdp service with "service xrdp start" (this starts the listener on the tcp:3389 port)

from windows workstation, run mstsc (remote desktop connection), and login on the graphical page you will get. This will allow graphical login and full remote desktop visibility, with menu and applications

- xvncserver / vnc4server: virtual network computer

install vnc4server on remote linux server

launch vnc4server on remote linux server from a terminal session, define graphic resolution and define a password, and take note of the port identifier assigned to the new session listener. be it n. This starts the listener on tcp port 5900+n

from windows workstation, launch vncviewer client and direct it to open a session on the linux server host, on the destination tcp port 5900+n. If n=1 then it is 5901