displaying Windows program on Linux via ssh / X?

Andrew DeFaria Andrew@DeFaria.com
Tue Jun 14 20:03:00 GMT 2005

Tomasz Chmielewski wrote:

> I couldn't find it on Google and I feel it's a different thing than 
> running Linux X applications (like xterm etc.), which is done by 
> Cygwin/X.
> Is it possible to "display" Windows program on Linux via ssh / X?
> What I mean, normally we do something like that:
> windows_cygwin$ ssh -l user linuxbox -X
> linuxbox$ xterm
> and we start xterm on Linux, but it is displayed by a Windows X server.
> I want to do something in an opposite direction: start Windows apps on 
> Linux display:
> linuxbox$ ssh -l user windows_cygwin -X
> windows_cygwin$ notepad
> or
> windows_cygwin$ iexplore.exe
> And these Windows applications would be displayed on my Linux.
> Is it possible with Cygwin?

You are making an assumption that MS Windows was designed as a networked 
windowing system. It's not. It's not Cygwin's fault nor X windows fault 
rather it is MS' fault in that their concept of GUI windowed apps is not 
cleanly divided into the client/server paradigm. I believe that Windows 
apps are built with an assumption that they are running locally and have 
access to the local heap including data structures that are unique to 
Windows. In X parlance I believe that such structures would normally be 
stored in the X server.

Indeed Windows apps have no concept of the DISPLAY environment variable 
and assume that DISPLAY is always localhost.

That said there are ways....

The only way that I've seen, aside from an application specifically 
written to display on another system, is Remote Desktop. There are 
Remote Desktop clients for Linux that "play" RDP protocol to a Windows 
box that is running, effectively, the server component of RDP. By 
default Windows XP (Pro that is) has this software and allows 1 (count 
'em 1!) remote desktop connection. Additionally when you RDP to a Window 
XP box you'll notice the following: 1) The local desktop is gone! It is 
taken back to the "Welcome screen" or login screen. IOW, "Sorry, still 
not multiuser - graphically at least - only one person or desktop can be 
active". If the local user attempts to login again the RDP session is 
disconnected. And 2) it's all or nothing! When you RDP the whole desktop 
gets displayed at the workstation that's running the RDP client. You 
cannot, for example, simply run notepad through RDP. You instead get 
notepad, the Taskbar, all other running apps, etc. all displayed in a 
window representing the remote desktop.

The server component, RDP server, comes with XP Pro with one "license" 
or the ability to RDP only once. Windows Server (2000 and up) comes with 
a whopping 2 "licenses" though more can be purchased. Additionally on 
Windows Server the local desktop is still active. You can effectively 
have up to 3 people logged in graphically as even 3 different users 
before you need to start purchasing additional licenses...

For Linux there are various rdesktop clients.

Now what if you don't XP Pro or Windows Server? Well there's always VNC 
(and other products such as PCAnywhere). These products provide both the 
server and client portions necessary to do this. They do not, however, 
use RDP protocol but something else. As a result they are much slower 
but give the interesting effect of not changing the local desktop. You 
can sit there and watch somebody else moving your mouse cursor and 
typing in stuff. As a result both the remote party and the local party 
can control the same desktop at the same time.

Why do overlook and oversee mean opposite things?

Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list