An X-Client Wrapper for Microsoft Windows?
S asks: "In my opinion, one of X11's most underrated features is the ability
to export the display of an [X] application to an X-Server that can be physically separated from the application's host (use a remote display). I have used this countless times to dramatically increase my ability to 'get stuff done' from a distance. Recently I discovered Cygwin's ability to run XFree86 in rootless mode (startx -- -rootless) where there is no main X root window, and imported displays get their own 'native-looking' window on the Microsoft Windows platform. This also has saved me much headache when working from a Windows machine to do Linux-type things. My question is: Is there some way to export the display of Microsoft Windows windows to a remote X-Server? I'm not talking VNC/RFB here, and terminal services (via rdesktop) ALMOST fits the bill, but I don't want a root window. I want to simply export the display of (say... photoshop) to my X workstation. Googling is not an easy task; 'windows' is too much of a generic term to get usable results. What I have found, however, suggests
Wine as a buffer between native Windows GUI calls and the X protocol, but offers no actual solution. Does anyone know of software that allows allows Windows to export the display of
its windows to an X server (ie, an X-Client wrapper for Windows)?"
My comment isn't really helpful, but I wanted to chip in with a clarification. Rootless mode is not a feature of Cygwin, but XFree86 itself. It is of primary use for MacOS X users who want to run X apps [locally or not]. It is also useful for running a second X server on top of another, though the applications of that are particular.
I'm as mimsy as the next borogove but your mome raths are completely outgrabe.
allows you to export a single application rather than a full desktop, so it appears as if the app is running on a local machine instead of the server. I'm not sure if WTS supports it, but it's worth a try. Oh, and it doesn't play well with window-managers like Vern.
This would be a good thing to have for Mac OS X, too. I'm not holding my breath for either, though.
Someone finally got rootless mode working on Cygwin? Neat.
I work in retail, for the time being. Recently, they put in new time clocks and scheduling software.
The machines scattered around the store are widely varied and many of them are quite new, but all of them have the same software: Win95, and some Novell shit that looks more like a dieing gasp than a functional program.
The point? These machines suck, overall.
But that's not really the point, is it? No.
The scheduling software runs on a Win2k AS box somewhere in the store, and uses 8-bit RDP for local display. You just run the scheduling app like any other app, and a Win2k startup banner appears in the middle of the monitor, just like any other window... It runs quite fast once the session boots up.
RDP is, therefore, more flexible than the poster appears to give it credit for.
And the trick, therefore, is not some funky-ass, nonexistant X/Win32 translation suite, but just to use existing, native protocols, and one of the many free RDP clients available with X output.
Nevermind, of course, that licensing for Win2k AS is hideously expensive. You've all got an eye patch sitting around somewhere - if not, just "borrow" one from a friend.
There would be amazing advantages to doing it differently though - for more discussion on this see XOpenWin
although nothing has yet been accomplished through this project. The key things to do which would make this possible are:
- separate out the Wine GDI and x11drv dlls (see this message)
- port these dlls to cygwin
- persuade windows to use them in place of the normal gdi
If anyone is really interested in that solution, it will take time and effort, but is definitely possible. Join the mailing lists!My only nits about either modes is that you still have a root X window (standard grey crosshatch) that's started minimized but otherwise sits in the process list and can sometimes make quick switching a bit more difficult without activating the wrong X app. I'd wish that the Cygwin X server could be started as a background service such that 1) it stays off the process list, and 2) to get an xterm to a remote computer up, I would simply have to ssh to that computer via putty or cygwin's ssh, point DISPLAY back , and let loose the X applications, as opposed to having to start the X server on Windows manually each time.
"Pinky, you've left the lens cap of your mind on again." - P&TB
"I can see my house from here!" - ST:
I read some people here say there isn't such thing YET, but as a matter of fact, there WAS. Unfortunatelly, no more.
In ye good ol' DOS times, there was DESQview/X, that allowed you to run Win 3.1 in a X-Window, and display it on any X-Server. It could also turn any 386 w/ DOS in a X-terminal.
Pretty cool stuff, but probably little market share. You can see screenshots here. More info here. If you don't care for 95/2000/XP support, as it doesn't have it, you can download DESQview/X here (I didn't test it, though.
In my opinion, one of X11's most underrated features is the ability to export the display of an [X] application to an X-Server that can be physically separated from the application's host (use a remote display).
;)
Underrated? What other good features does X have?
I know you specifically said "not VNC/RFB", but Alkit VNC may do what you want. It is a modified version of WinVNC that allows you to share a single window instead of the entire desktop.
I don't know what relationship (if any) it has to the modified version of TightVNC mentioned in another thread, but I've used it and it works.
Thanks for sharing the tip. I've been using cygwin/X for a year and didn't know that. It's extremely useful.
There's a library called "Detours" from Microsoft Research that aids intercepting Win32 calls.
http://research.microsoft.com/sn/detours/
This is absolutely perfect!!!!!!!!!!! Although it doesn't solve the articles problem, since they want X dispplaying Windows apps it is a great solution.
This saves me a bunch of steps and the compress switch cuts my bandwidth usage for one app from 7Mbps to 0.18Mbps. Awesome!!!!!!!!!!!!!!
nFuse is a great application from Citrix that runs on w2k. It allows you to build a web page with application icons. You only get icons to the apps you have rights to. More importantly the app launches on your desktop in a seamless window as if it was local. Including the ability to print and map drives, rights permitting.
So no Citrix Client roll out to your users, just username\pass on the website click the icon of the app you wish to launch and poof it shows up on your system as if it was a local app.
The tools exist. The question is do you really want to pay MS and Citrix for them.
One good thing about music... when it hits you, you feel no pain. So hit me with music. -Bob Marley
How perverse would that be?
Use WINE compiled on win32 with the cygwin runtime to execute a windows app, but set WINE's display variable to the remote machine.
I built the mtools package once upon a time with cygwin to copy files into and out of a Bochs disk image file. But WINE would be way out there.
I am not your blowing wind, I am the lightning.
nFuse is very nice but, it isn't quite as simple as you stated, So no Citrix Client roll out to your users
nFuse must have the client installed in order for it to connect to the Citrix server. However, nFuse GREATLY simplifies the installation of the client. Code can be embedded in the nFuse web page to automatically download and install an Active X client plugin for IE and Win32 Netscape users, and links to the client install can be placed on the nFuse login page for those that cannot use the Active X plugin. It does negate the need for an administrator to manually install the client software on each client machine but, client software must still be installed, either via the plugin or the user clicking the link.
Citrix offers free client software for *ANY* platform including DOS, Win32 and Pocket PC, Mac, Linux, Java and more. nFuse is a very nice add-on to Citrix and it is free. Citrix however, ain't cheap.
It may seem obvious, but if you can run the program under Linux in Wine, you can export the display anywhere you want it to go. Don't recommend it for games, but I did it once for a "real application" over my LAN once, just to try it, and it works fine.
Of course Wine doesn't run everything, but my experience is that if it does run something, it runs it stably. Try both wine and winex (the latter even if you aren't trying to run a game, I've had mixed experiences with both), and if it runs the app(s) you're looking to share, you're "done".
I know it's not perfect and I know it's not quite what you're looking for, but sometimes you have to take what you can get.
This is one of those times where "old" fxrts like me tell nostalgic war stories that begin with "You used to be able to do that...."
You used to able to do that with Desqview/X but Microsoft's "innovations" sidled it out of the market.
Now let me tell you about my what my late-1970s VCR could do that modern ones can't...
Ever dream you could fly? Get up from the Flight Sim. I Fly
I never knew about it so just mentioning it helped me. Now I don't have to buy ReflectionX to use my linux apps from my windows box at work. Nice. I never knew about --rootless
Eat at Joe's.
XWinX is a similar project that exports a windows desktop to a remote X server. It can't run rootless yet, but that is a planned feature.
This is a great question and thread. I think it shows very well that X's network transparency is a great feature and is very useful. --adam
It had a wired remote control that had a silver slider bar that would allow playback in any speed from 15x to 1/4x. It had a patented chip that made the sound intelligible at any of those speeds. In other words, when you played the program at 4 times normal, the sound stayed live and instead of hearing people talk like Mickey Mouse, they talked in their regular voices but 4 times faster. Some mini-tape recorders of that time got the same technology.
It had skip and rewind to mark where any time your made a new recording it would put a undetectable audio mark on the tape where you can skip forwards or backwards to the mark.
The whole thing was mechanical so when you pressed play or rewind cams and gears and belts would come into play with a sequence of clunk-clunks-clunkc to change modes by pushing up and down on the piano keys on the front.
It was one of the first VCRs with a remote control. I still have tapes I recorded in those days, like the original Lathe of Heaven from PBS and Walter Cronkite's last CBS Evening News.
Ever dream you could fly? Get up from the Flight Sim. I Fly
You should probably back those tapes up to a modern format as soon as possible; video tape typically only has an archival shelf life of 20 years.
A solution to the problem with music today
Xwin32 looks to be what he is looking for. X server for windows. Seems to be whats needed here.
I used NCD WinCenter in conjunction with MS Windows NT 3.51, later Citrix bought if off and renamed it UIS, Unix Integration Services or something the like. Had MS Office displaying nicely in my 21-inches Trinitron Sun Solaris SPARC system. Wonderful!
Perhaps you can find them in some abandonware site?
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
There is a quick and dirty solution to this and I use it all the time.
It is an RDP client that will connect to a Terminal Server and give you an windows desktop. You just need to type this from the command line.
rdesktop -s app.exe myserver.com
You can get rdesktop from http://www.rdesktop.org.
One of the best Windows/Linux Open Source utilities out there.
Joe MacDonald
Are your connections secure? I don't see it noted here.
You can have all the cool toys in the world but if you're passing info in clear text, why even bother with all this?
Citrix can do the job for numerous 'nix platforms.
You also might want to check out WRQ as they have been perfecting Excellent, Secure X Emulation products for many years.
Dolemite
Save the World! Use a Quote!
Win4Lin ? is that what you want?
eXtreme programming, man!