Slashdot Mirror


Making Mac OS X Work Like X Windows?

X Fiend asks: "Is it possible to configure Mac OS X's window manager to run in a client-server mode like X Windows? I'd like to use my (rather anemic) iBook as an X Terminal, with apps running on my (manly dual-processor) desktop machine, but I don't want to have to use X Windows to do it- I want to use Mac OS X's native window manager. Any ideas?"

20 of 110 comments (clear)

  1. Not possible by teridon · · Score: 4, Informative

    The closest you'll get to this is using software like VNC, Apple Remote Desktop, or Timbuktu to display the desktop's screen on your laptop.

    --
    I hold it, that a little rebellion, now and then, is a good thing. -- Thomas Jefferson
  2. In theory... by sco08y · · Score: 5, Interesting

    In theory, all IPC is done through Mach messages, whether the underlying transport is TCP/IP or shared memory.

    In theory, you can intercept messages between two ports and run them through arbitrary filters.

    Since the window server process is nothing but another port to Mach, you *should* be able to catch everything going to it, send it over the network and have it appear on another Window Server on another machine.

    In practice there would be a lot of details to take care of like configuration and non-display. But the nature of Mach is that any IPC can be generalized to take place over any kind of network connection.

    1. Re:In theory... by Leimy · · Score: 3, Informative

      Mach usually requires another special process to do TCP/IP message forwarding... my understanding is Mac OS X doesn't currently have this...

      You are correct about the design of Mach being such that it can operate on a network transparently. The caveat is you need all the appropriate pieces to do so.

  3. Re:Yawn. Here ya go: by mithras+the+prophet · · Score: 5, Insightful

    That's completely uninformative.

    Apple Remote Desktop is a VNC or Timbuktu-like program, which pushes the (compressed) bitmap of a desktop to the client machine. While it can work for the situation the questioner asked about, it
    (a) is not a truely native solution, in which the API calls are transmitted rather than the bitmap of the screen, and
    (b) is geared towards education, where it can be used by a teacher to show a demonstration on a set of student computers.

    It also costs $300.

    NeXT's Display Postscript had the ability to run remotely, like X, but those hooks were abandoned when Apple converted the display model to Quartz/Display PDF.

    --
    four nine eighteen twenty-7 thirty-nine forty-7 fiftyeight sixty-nine seventy-9 eighty-8 one-hundred-and-nine one-twenty
  4. Re:Yawn. Here ya go: by Space+Coyote · · Score: 4, Funny

    That, of course, is the real answer. It is also no fun

    The fun comes in watching every karma-whore wax technical about different characteristics of the underlying technology that make it easy / difficult to implement feature X on system Y, while missing the original point entirely. Just part of the fun of reading /., really.

    --
    ___
    Cogito cogito, ergo cogito sum.
  5. Re:Yawn. Here ya go: by mithras+the+prophet · · Score: 4, Insightful

    Sorry I was aggressive in my post. But your aggression to the asker of the question rankled me. The submitter has a point.

    As for my points:
    (a) Yes. Apple Remote Desktop is a bitmap-pusher, like VNC or Timbuktu. It does *not* hook into Quartz in the same manner that remote X hooks into X, or that RDP hooks into Window's GDI.
    (b) Read about the product. It's not a protocol for sharing apps across different computers, although it could work that way. As I (admittedly awkwardly) said, it emphasizes a scenario in which a teacher has a program running on his or her computer, and that teacher's screen is "pushed" onto a bunch of student computers, so they can watch the teacher's demo.

    And I'll elevate the price issue to
    (c) it costs $300.

    So while the poster may appreciate your link, Apple Remote Desktop is not a direct answer to his question, any more than a link to VNC or Timbuktu would be.

    There remains a real issue here of the non-remoteness of the Quartz APIs, an issue that Apple really should try to deal with. Many, many people want them to re-implement this, after it was lost from NeXT.

    (By the way, if you have an old copy of OS X Server 1.2 around, you CAN do remote display on that platform, since it still used Display Postscript instead of Aqua)

    --
    four nine eighteen twenty-7 thirty-nine forty-7 fiftyeight sixty-nine seventy-9 eighty-8 one-hundred-and-nine one-twenty
  6. Re:Yawn. Here ya go: by TiMac · · Score: 5, Informative
    Point a) is quite correct. Apple Remote Desktop is a (rather poor) OS X implementation of Apple Network Assistant 4, which served for years as the may to manage multiple Macs at once. Both ANA and ARD transmit a complete bitmap of the screen across the network, including the remote cursor, and its performance is not only tough on some networks, it is slow as a dog. It is great to be able to watch what is going on on the machine if you are away from it, but it is not nearly the same.

    Point b) is also very valid because it details what the intended purpose of different technologies is. Whereas X allows you to load JUST an application, such as eterm, on the remote machine, ARD forces the entire server screen buffer to be loaded...in its own window (blech!). X also lets you log into the server as any user and run programs, regardless of which user is currently logged into the GUI. ARD forces you to use the current user, and takes the machine over.

    mithras was right in his analysis of the technology. ARD is to be used in labs, large deployments, etc to manage multiple machines (install files, mass reboot, system status, monitoring, etc), but is hardly a client-server ideal setup like X.

    I had heard somewhere that rumors persist of the hooks still existing in OS X, but the APIs are secret. That's not fact though. I WISH Apple would produce a system like that, but I fear they will not. It might also be possible that because of how Display PDF works (creating a PDF for each screen element, then compositing them together), it is not possible to merely send the screen draw APIs. Maybe?

    But if you're like me, and you WANT this capability, Tell Apple!

    --

  7. try VNC by constantnormal · · Score: 4, Informative

    here's a link for the only OS X VNC server that I know of:
    http://www.redstonesoftware.com/osxvnc/

    Other VNC servers and clients can be found at:
    www.realvnc.com

    It works, but you'd better be running a 100Mbps LAN with plenty of horsepower on both ends of the connection. OS X is a lotta GUI to be managing remotely.

    1. Re:try VNC by diverman · · Score: 3, Informative

      Well, you need that bandwidth for the higher quality graphics. I run OSXVNC on my PowerMac at home, and access it from my PowerBook through my DSL line. Not quite 100Mbps, but in 8bit mode, I can get to the basic things I need to.

      Certainly not usable for primary work over such a slow connection. When I'm local, it's decent under the 11Mbps of 802.11b. But I have to agree, to be usable on a regular basis, 100Mbps minimum is needed. I can't wait for Gigabit switches to come down in price so we can really use the power of the network adapters in our Macs. :)

      -Alex

  8. Re:Yawn. Here ya go: by skinfitz · · Score: 4, Informative

    I was under the impression - admittedly a glib one - that it's possible to send remote Aqua events using Applescript over any of the network layers.

    It may be, but not for ARD.

    I also was under the impression - mistakenly, since you've said ARD is a bitmap pusher - that ARD used this capability to reduce network clutter.

    If only. It's a bitmap pusher, that's all.

    The bitmap issue, of course, is key. VNC wins, hands-down - since ARD ain't free.

    VNC is also MUCH more reliable and can easily be invoked (and shut down) from a remote shell.

    If it came down to it, though, ARD will still get the job done - and may have the added advantage that with a fast network connection, ARD may one day be able to do such things as play Quicktime movies (albeit buffered) seamlessly ...

    ARD is not suitable as an X replacement. For starters it only supports one client connection at a time. Secondly it freezes - often. No good having a remote admin tool if it doesnt work. Thirdly it's bandwidth intensive, as it's a bitmap pusher. Admittedly bandwidth is becoming less of an issue however the less you need to push around the faster you can do it.

    Also, isn't ARD included with all 10.2 Server packages now?

    No it isn't, but it should be.

    ARD is a screen controller, nothing more. There is also the security aspect - if you are controlling a machine remotely, anyone who is physically able to can see what you are doing and take over at any time. For example - someone sees you log in as the admin, or perhaps root then unplugs the network cable to tinker with the box. This would not be possible with correctly configured X.

  9. Re:Sloppy Focus by Mark+Hood · · Score: 3, Informative

    So do what Microsoft (unofficially) did - release a 'TweakUI' app which allows you to do this...

    That way, it's not something Joe Average can enable by accident, but those who want it can get it.

    Mark

    --
    Liked this comment? Why not buy me something nice
  10. coming soon to a aqua screen near you? by spike666 · · Score: 4, Informative

    the multiple user GUI Aqua interface rumor has been running around for a while. most recently Mac OS Rumors has been reporting that it is something Apple is working on. MOSR recommends those who want to be able to use Aqua as if it were X-windows should contact Apple and make the request.

    but to answer your question, there is NO way to do what you want short of taking over the desktop machine's screen. (or buying a new faster *book...)

  11. NextSTEP and Rhapsody NSHosting by petienne · · Score: 3, Informative

    Both NextSTEP and its later Apple incarnation, Rhapsody, included a feature very similar to Xwindows remote hosts: NSHosting.

    This was supported by the windowing system, then based on Display Postscript. If my memory serves me well, you could even display an application running on different OSs as long as you had OpenStep installed locally.

    Moving to Quartz, this wonderful feature unfortunately didn't make it...

    Some say some of the hooks are there for a third party to implement it (CGRemoteOperation.h).

    1. Re:NextSTEP and Rhapsody NSHosting by good+soldier+svejk · · Score: 3, Informative


      I once saw this (the legacy hooks in Quartz) documented in detail on a GnuStep mailing list, but I can't google it and their archive does not seem to be searchable.

      My Apple tech reps don't want to discuss it, or anything else interesting for that matter. I did find a mention of it on Ars Technica and Planet PDF.

      --
      It is cowardly, and a betrayal of whatever it means to be a Jew, to act as a white man

      -James Baldwin
  12. Re:Sloppy Focus by foniksonik · · Score: 4, Informative

    Go to Versiontracker and search for VirtualDesktop. This software besides giving you virtual desktops (up to 100 in a 10 x 10 grid) also enables 'focus follows mouse' which is in essence sloppy focus and works pretty damn well...

    try it you won't be dissapointed.

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
  13. The killer app for multiple user log-in by dbrutus · · Score: 3, Insightful

    I think that Aqua is such a high overhead system that under current hardware it isn't justified to spend scare Apple engineering hours implementing this functionality. Where it would make sense though would be in the next generation of hardware.

    The PPC 970 seems to be much more multi-processor friendly from what's been released so far. Creating a 8, 16, or 32 way house server in partnership with housing construction firms would make a compelling business proposition because you would have a relatively secure system with low virus potential and you could fold the $10k-$15k cost of such a system into that venerable institution, the home mortgage. Talk about a digital lifestyle, upscale developments created with such home servers as stock features would actually fit into Apple's business plan, be very profitable while expanding the Mac user base, and would provide a compelling need to be able to run multiple graphical user sessions.

    It's such a compelling solution that you might even get Steve Jobs to sign a clone license for such a beastie if Apple didn't want to pursue such a system itself.

  14. Next version of OS X? by SlamMan · · Score: 3, Interesting

    The rumor mills seem to think this'll be available in a future version of OS X.

    See macosrumors.com

    --
    Mod point free since 2001
  15. Re:Sloppy Focus by Benley · · Score: 3, Informative

    There is a very good reason for not supporting sloppy focus in OS X. Think about it for a moment... How in the world would you get to the menu bar for an application without that app losing focus? It wouldn't be possible - whatever app you mouse across on the way to the menubar would gain focus, and you'd get the menubar for a different app. The only way to have sloppy focus be even remotely usable would be to add yet another interface hack to allow you to get at the menubar, such as a hotkey which locked the focus to your current window. Sounds kinda yucky to me, frankly...

  16. Here you go! by SHEENmaster · · Score: 3, Interesting

    OS X is just whoring the letter X as the X-box is. X was first used in a computer project in X10 and later X11(unrelated, but much more fun).

    If OS X is gonna whore the name around, they should do so with style rather than beauty.

    To the original author, just do what I did and install Linux on your iBook. If necessary you can run MoL on your dual processing G4 and run it remotely on your iBook. I use MoL for programs such as Bryce and Flash MX with no trouble to speak of. Configuring networking will be a bitch, I warn you.

    --
    You can't judge a book by the way it wears its hair.
  17. Tricks by theolein · · Score: 5, Insightful

    The OSX Window manager can be made to start without the finder by writing a shell script that , in one file, starts the window manger and then starts an application like the terminal. If you go into the console from the login window with ">console" and login as root, you can then start this shell script and will be blessed thereafter to be able to use MAC OSX without the rather slow finder.

    Why do I write this? This simply illustrates that Apple has done quite a lot in order to hide the window manager, and a lot of other functionality, in the normal view and it is very possible that there are indeed hidden hooks in the window manager to get it to work over a network, such as the ability to create a seperate window from another machine, not just pushing bitmaps around. The technology is certainly there, with Remote Objects in Cocoa. I also don't think it has that much to do with Quartz, as quartz is simply the drawing system and the window manager is the system that actually manages all created windows. Quartz simply composits and draws them. The fact that 10.1 had the hack of enabling one to enable window buffer compression lends some support to this theory. In theory one would simply have to know whether the window manager could send and receive window objects across the network, or if window objects were confined to the local machine.