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

21 of 62 comments (clear)

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

  4. 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

  5. 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!
  6. 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.

  7. 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
  8. 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

  9. 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.

  10. 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
  11. 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/

  12. 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.

  13. 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.

  14. 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
  15. 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.