Slashdot Mirror


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)?"

62 comments

  1. Not really helpful... by DarkVein · · Score: 4, Informative
    Recently I discovered Cygwin's ability to run XFree86 in rootless mode (startx -- -rootless)

    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.

    1. Re:Not really helpful... by Anonymous Coward · · Score: 0

      Try that again with a story which appears on the default slashdot homepage and at a time of day when America isn't sleeping.

    2. Re:Not really helpful... by Anonymous Coward · · Score: 0

      Sorry my friend, but in reality you secured the last post position.

      Your pal,
      Merlin

    3. Re:Not really helpful... by y0bhgu0d · · Score: 2, Informative

      XFree86 on cygwin just recently got this feature, because of some implementation problems they were having.

  2. Citrix by bob_dinosaur · · Score: 3, Interesting

    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.

    1. Re:Citrix by scrybe_treo · · Score: 5, Informative

      To expand on this, Citrix Metaframe runs on a windows 2000 Application Terminal Server. This adds a lot of manageability and the ICA protocol. You can access applications in "seemless" mode with the modern unix clients. While it is extremely cool and works very well it's not a solution for a single user but more for a department or enterprise level. This is mostly due to cost. Something like 2000+ dollars for the product, 300+ dollars for each connection licence, and 85 bucks for every pre-windows2000 client. Given the potential benefits it is well worth the price if you can avoid having 2 pc's on each desk.

      Disclamer: I am a CCEA and CCI working for a citrix implementer (http://www.vector.com) but it is a blast!!!

      Disclamer Disclamer: I just typed this whole message on my treo300 and I'm just starting to have an attack of "nintendo thumbs"

    2. Re:Citrix by GigsVT · · Score: 2, Insightful

      Citrix is incredibly fast too. One downside is that it is very picky, and the mode you can put it in where you can resize the application window makes some applications unhappy. In other words, it's not nearly as transparent as X, but it is insanely fast and bandwidth efficient.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    3. Re:Citrix by sohp · · Score: 1

      I'll 2nd this recommendation. I run Linux exclusively at home, but my employer of course uses Microsoft for email, networking, office, etc. There is a Citrix ICA client for Linux, and it works with Mozilla if you want to use the web portal. Also, you can map a local directory to a drive letter within the Citrix environment, so you can share files across the systems.

      Combine with our two-factor authentication and running over https, there's enough security to satisfy a lot of the suits' concerns.

      It's very weird to see Outlook '98 running as just another window on my Linux desktop!

    4. Re:Citrix by hughk · · Score: 1
      OTOH, Citrix can be slow and expensive. Windows wasn't really designed for networking so simple stuff like scrolling through a document on the server can eat up large amounts of CPU.

      A question on the pricing, I guess you still have to buy client licences for Win2K Server in addition to the Citrix costs?

      It certainly helps with the management of applications (you just deploy on the server). The price differentials now for clients means that you end up with 8 users killing the 1GHz server dead, whilst they have 1.6GHz systems on their desktops doing almost nothing.

      --
      See my journal, I write things there
  3. A good idea for Macs, too. by RobKow · · Score: 1

    This would be a good thing to have for Mac OS X, too. I'm not holding my breath for either, though.

    1. Re:A good idea for Macs, too. by presearch · · Score: 1

      Yeah. NeXT did that trick and did it quite well.
      I was expecting remote displays in the OS X public beta
      but it's still not there. VNC fills the gap somewhat but
      it's pretty slow. I think I head once that OS X can't do it
      because of how they had to rework the display layer so
      you couldn't grab stills from DVDs, which Apple had to
      to to be license complient. Or maybe it's because they
      are not using Display PostScript.

    2. Re:A good idea for Macs, too. by RobKow · · Score: 2, Informative

      They're using Display PDF which is substantially similar but dumbed down a little. I'm sure they could put a hook in to let you grab anything but the DVDs, intercepting the drawing calls.

      But they're at 10.2 already and haven't yet included an X server with the distribution, I'm not hopeful for X client support any time soon.

      Hopefully they get that new "optimized" X server into 10.3.

      Ob-On Topic: Is there any free PC-Anywhere type project for Windows that intercepts GDI calls? That might be the best starting point.

    3. Re:A good idea for Macs, too. by RevAaron · · Score: 2, Interesting

      It is just as possible to implement these features as it was for NeXTSTEP and OpenStep. However, when Apple was reimplementing the basic graphics engine (Quartz- Display PDF) to use PDF instead of PS, they choose not to implement the remote display features. Which is a shame.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    4. Re:A good idea for Macs, too. by GlobalEcho · · Score: 1

      A shame? Well, yes and no.

      Around the office we would use this feature to vamp off whoever happened to have the fastest machine at the time. Woe betide the lucky bastard with the 200MHz PPro! He would have 5 copies of EOModeler.app running.

    5. Re:A good idea for Macs, too. by Anonymous Coward · · Score: 0

      One of the VNC clones (the name escapes me at the moment) uses a custom video driver to do something like that. One might be able to work from that.

    6. Re:A good idea for Macs, too. by RevAaron · · Score: 1

      Ha!

      My favorite use of this feature was always the dual-mobo cube hack. :) NXHost + Zilla.app = good times!

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    7. Re:A good idea for Macs, too. by snack-a-lot · · Score: 1

      Do you mean UltraVNC, with it's 'mirror video driver'?

  4. Ooooo! by Meowing · · Score: 1

    Someone finally got rootless mode working on Cygwin? Neat.

  5. We do something similar to this at work. by Anonymous Coward · · Score: 2, Insightful

    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.

    1. Re:We do something similar to this at work. by TheTomcat · · Score: 1

      It's not so much that I don't want to use RDP (even though I will need an translation layer in that case) more that I didn't want answers like "Use VNS, or Use rdesktop".

      S

    2. Re:We do something similar to this at work. by MarcQuadra · · Score: 1

      I don't know if advising people to just pirate commercial software does anybody any help. We all know there's ways to get this done with money, we want to know if there's a native way to do it inside the OSS framework.

      A lot of us have an old windows machine laying around just to handle a special app for work (I VNC to one here just to do my timesheets every week). Getting a windows app to output onto my X Server would be the single most convenient addition to my system to date, and I don't feel like breaking the law to get it done, thank you very much.

      --
      "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
  6. Tightvnc: desktop sharing by jeorgen · · Score: 5, Informative
    If you want to get a window on Linux with one single Windows application in it, the screen sharing application tightvnc has a beta (se bottom of page) where you can e.g. share just one window instead of the whole screen. they've named it partial desktop sharing

    /jeorgen

  7. Not yet possible, but XOpenWin wants to be this by khanyisa · · Score: 5, Informative
    No, there are no real X-Clients for Windows currently - I wrote that message you linked to. Like others have suggested, you can use either VNC or RFB to accomplish similar ends.

    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!
    1. Re:Not yet possible, but XOpenWin wants to be this by TheRaven64 · · Score: 1

      I posted this idea to the XwinX mailing list about a year ago, but was told it was too complicated to implement...

      --
      I am TheRaven on Soylent News
  8. Slight restatement by Masem · · Score: 4, Informative
    In Cygwin's XFree: "-rootless" gets you windows without any window decorations at all unless you start an X window manager as well in the session, which gives you X type decorations while in Windows. Of late (since start of 2003?), Cygwin now supports "-multiwindow" which is like rootless, but give control of the window decorations and handling to the Windows OS, thus making such windows appear no different from the other apps you have up.

    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:
    1. Re:Slight restatement by Anonymous Coward · · Score: 4, Informative

      You don't have to set DISPLAY when you use ssh.
      Just use "ssh -X -C remotemachine".
      The -X flag will handle setting DISPLAY for you.
      The -C compression flag is optional,
      but usually speeds up remote X apps.

    2. Re:Slight restatement by Anonymous Coward · · Score: 0

      that doesnt work for cygwin

    3. Re:Slight restatement by TheTomcat · · Score: 1

      I'm pretty sure it DOES work if you use ssh from within an Xterm..

      Can't check right now, though..

      S

    4. Re:Slight restatement by jhunsake · · Score: 1

      This tunnels the remote display over X, which is not always desirable. Especially on a private network. I've seen many apps that are somewhat unresponsive when tunnelled but fine when not.

    5. Re:Slight restatement by Anonymous Coward · · Score: 0

      Try using a lighter encryption protocol (or none at all). Encrypting all that X data can be a serious drain on your CPU.

  9. DESQview/X by Lord+Sauron · · Score: 4, Interesting

    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.

    1. Re:DESQview/X by RevAaron · · Score: 2, Informative

      This isn't what the poster was asking about. DV/X exported the entire Win 3.1 window to X11- not individual applications.

      DV/X was way cool though. Even cooler than regular Desqview- and unlike Win3.1, at the same time, could actually mutlitask between a terminal window downloading something from a BBS and another DOS program. :P

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  10. Underrated? by Anonymous Coward · · Score: 0

    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? ;)

  11. Alkit VNC by richardneish · · Score: 4, Informative

    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.

    1. Re:Alkit VNC by TheTomcat · · Score: 3, Informative

      I'm the asker.

      Thanks for the reply.. that just might work (even though RFB's performance sucks)

      The correct URL is: http://w2.alkit.se/avnc/

      S

    2. Re:Alkit VNC by Anonymous Coward · · Score: 0

      A slightly different tack on this: there's another version of VNC that does "single-window sharing", and it's written as a video driver, which is supposed to be more effecient update-handling-wise. See here.

  12. rootless by Anonymous Coward · · Score: 0

    Thanks for sharing the tip. I've been using cygwin/X for a year and didn't know that. It's extremely useful.

  13. If anyone's interested in coding this... by RobKow · · Score: 2, Informative

    There's a library called "Detours" from Microsoft Research that aids intercepting Win32 calls.

    http://research.microsoft.com/sn/detours/

  14. MOD PARENT UP!!!!!! by Anonymous Coward · · Score: 0

    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!!!!!!!!!!!!!!

  15. nFuse Anybody by GrendelWraith · · Score: 0

    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
  16. Cygwin WINE? by Kiaser+Zohsay · · Score: 1

    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.
  17. Not quite. by FreeLinux · · Score: 2, Informative

    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.

    1. Re:Not quite. by Anonymous Coward · · Score: 1, Informative

      nFuse can also use a Java applet that runs on just about everything.

  18. May be obvious, but... by Jerf · · Score: 2, Interesting

    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.

  19. With Desqview/X you used to be able to that. by netringer · · Score: 2, Informative

    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
    1. Re:With Desqview/X you used to be able to that. by i_am_nitrogen · · Score: 1

      Just what could your 1970's vcr do?

    2. Re:With Desqview/X you used to be able to that. by MyHair · · Score: 1

      Now let me tell you about my what my late-1970s VCR could do that modern ones can't...

      Flash 12:00 in brighter blue?

  20. Well actually by A55M0NKEY · · Score: 1

    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.

  21. XWinX by homer_ca · · Score: 2, Informative

    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.

  22. I love this question and thread. by kinema · · Score: 1

    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

  23. Re:you used to be able to that. by netringer · · Score: 1
    Just what could your 1970's vcr do?
    Here we go offtopic....

    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
  24. Re:you used to be able to that. by i_am_nitrogen · · Score: 1

    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.

  25. Xwin32 by BenTheDewpendent · · Score: 1

    Xwin32 looks to be what he is looking for. X server for windows. Seems to be whats needed here.

    1. Re:Xwin32 by fiiz · · Score: 1

      nope

      he is looking to export the display of a windoze box. XWin32 does the contrary: it allows you to open apps running on a unix machine on your windows machine--another one of those is exceed, which can be used with the PuTTY ssh client for example.

      The contrary is much trickier, and usually involves the use of windows terminal server, as outlined in posts above.

      --

      yours ever, fz.
    2. Re:Xwin32 by BenTheDewpendent · · Score: 1

      DOH.
      my bad...Sorry.

  26. NCD WinCenter, AKA Citrix UIS by leandrod · · Score: 1

    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
  27. RDesktop by jamacdon · · Score: 1

    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

  28. Yes there is. But.... by Dolemite_the_Wiz · · Score: 1

    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!
  29. re by peppermint · · Score: 1

    Win4Lin ? is that what you want?

    --
    eXtreme programming, man!