OSX Gripe: Why can't Quartz programs work like X11 programs?
Ok, here's the situation. My lazy ass is sitting on the couch with my Powerbook while my other Mac is on my desk, hooked up to some decent speakers. I want to log into that Mac and run iTunes remotely, so that I can play music over the speakers without leaving the couch.
Being able to run a graphical program (like iTunes) on another computer through ssh, and have its graphics and windows display on my local computer has been one of the key features of X11/X-Windows since forever. Why can I not do this with Quartz-based programs?
I could write a whole bunch of applescripts, I guess, to play mp3s on my other mac, via my Powerbook, but that is way too much trouble. Do you think Apple will build in the capability to run Quartz programs remotely in this way, or just expect users to shell out for Remote Desktop to do stuff like this.
Alternatively, does anyone know of any good X11 iTunes clones that I could use for this purpose?
Being able to run a graphical program (like iTunes) on another computer through ssh, and have its graphics and windows display on my local computer has been one of the key features of X11/X-Windows since forever. Why can I not do this with Quartz-based programs?
I could write a whole bunch of applescripts, I guess, to play mp3s on my other mac, via my Powerbook, but that is way too much trouble. Do you think Apple will build in the capability to run Quartz programs remotely in this way, or just expect users to shell out for Remote Desktop to do stuff like this.
Alternatively, does anyone know of any good X11 iTunes clones that I could use for this purpose?
Comments
Originally posted by Wesley Willis
Ok, here's the situation. My lazy ass is sitting on the couch with my Powerbook while my other Mac is on my desk, hooked up to some decent speakers. I want to log into that Mac and run iTunes remotely, so that I can play music over the speakers without leaving the couch.
Why don't you use a VNC client/server combination? Or play the files wia mpg123 (command line tool)?
When you ssh into a server with the -X flag, programs that you are *run* on the server are *displayed* on your client computer.
Here's an example:
You have Photoshop, BLAST, Logic, Maya, and some other beefy apps on your Dual 2GHz G5 server in your office. You also have an iBook, but none of that software installed on it because it would run so slow. You are roaming around on a wireless connection and you are inspired by a sketch and want to fire up Maya to hash out a model. If you could use the -X flag, you could launch Maya so that it would be running on the G5 server (entirely using its CPU, memory, etc.) but so it would send all display commends to your iBook, acting as if it was right there like a normal app.
This is *not* the same as VLC. It's far superior. The app in this mode acts like a normal app. It's not rooted inside a display like VNC. It uses far less bandwidth because it has significantly less screen area to refresh and because window transforms (like dragging) can be done on your host computer (the iBook).
I use this rather frequently with X11 apps. It is a *huge* boon that saves me from having to trek out to a lab across campus in the middle of the night.
Here you can see I've just opened up MATLAB and Maple remotely from the university's servers onto my Mac:
I, for one, would **love** for Apple to implement this kind of functionality. However, I suspect the biggest block is Aqua. XWindows interfaces are extremely simplistic and much more coordinate and vector driven. Aqua uses bitmaps for everything (as well as double-buffering it all) and I suspect this would put an incredible strain on bandwidth, making it only suitable for working on a LAN.
I'm no expert though.
Originally posted by Brad
I, for one, would **love** for Apple to implement this kind of functionality. However, I suspect the biggest block is Aqua. XWindows interfaces are extremely simplistic and much more coordinate and vector driven. Aqua uses bitmaps for everything (as well as double-buffering it all) and I suspect this would put an incredible strain on bandwidth, making it only suitable for working on a LAN.
I'm no expert though.
The main obstacle is the window server, which for time-to-market reasons is only capable of local display. I've heard from here and there that Apple is working on fixing that.
Bitmaps are no big deal. If an OS X box tells an OS X box to display a window, the latter has all the bitmaps already, and it knows which to put where in the case of the "stoplight"; for the rest it only needs coordinates.
http://www.macupdate.com/search.php?...mote&os=macosx
Quite a few solutions out there...
Why don't you buy a Bluetooth usb key (eg Dlink) and buy an Ericsson T68i and run control it from your Mobile. Thats efficient use of technology!
Other then that try VNC as suggested.
Dobby.
I say let them take their time on this one. It's too core and too important to screw up. The transition to Carbon/CoreFoundation/CoreGraphics *has* to come first... as reliance on Classic apps dies off, it'll be easier to do. (And even then, Carbon, CoreFoundation and CoreGraphics have a bit of work to do to get up to snuff for this sort of abstraction. It's getting there though.)
Originally posted by Kickaha
There are some sticky problems with making Quartz remotely hostable, and it's not something you want to screw up and then have to go back and patch while keeping backwards compatibility with older apps that assume past incorrect behaviours. :}
I say let them take their time on this one. It's too core and too important to screw up. The transition to Carbon/CoreFoundation/CoreGraphics *has* to come first... as reliance on Classic apps dies off, it'll be easier to do. (And even then, Carbon, CoreFoundation and CoreGraphics have a bit of work to do to get up to snuff for this sort of abstraction. It's getting there though.)
Do you mean they will implement a type of NXHost option (or am should I get another Coffee and re-read the post )?
Dobby.
Originally posted by Amorph:
The main obstacle is the window server, which for time-to-market reasons is only capable of local display. I've heard from here and there that Apple is working on fixing that.
What he said.
Originally posted by Hobbes
Check out "iTunes remote" on, say, MacUpdate.
http://www.macupdate.com/search.php?...mote&os=macosx
Quite a few solutions out there...
Thanks - I'll check them out. Thanks to everyone else who provided information. Hopefully this functionality will arrive at some point if Apple is serious about OS X being "a real Unix."
Originally posted by dobby
Pity apple didn't use the -NXHost parameter available on OPENStep.
Why don't you buy a Bluetooth usb key (eg Dlink) and buy an Ericsson T68i and run control it from your Mobile. Thats efficient use of technology!
Dobby.
I have SallingClicker for my bluetooth phone, but as far as I know, I can only go forward and back among songs in a playlist - can't browse the iTunes interface on the phone.
Originally posted by G-Dog
As was said earlier about the qindowing system being double-buffered and all bitmaps, which is heavy bandwidth stuff to keep up with. Couldn't the "server" first translate all the complex double-buffereing and bitmaps into simple cooridnate maps of all the windows with some vector stuff thrown in, then send it over the lines to the clients which would then display it?
Individual programs don't store their own aqua bitmaps... at least for commonly used widgets from system APIs. Why transmit those bitmaps when the client machine already has a copy? Also, the client should maintain it's own double-buffering, not the server.
There are technical hurdles to making Aqua a remote windowing system... but they aren't really related to Aqua's heavyweight features. The hurdles are just the more abstracted difficulties of extending any windowing system.
[EDIT: I just reread my post and realized that I was in fact agreeing agreeing with you. Heheh, Sorry]