Slashdot Mirror


Run Mac OS X Apps On Linux?

I have the urge to commit my 24" Core 2 Duo iMac to a single Linux operating system, thus giving up the goodness of my beloved Mac OS X. I am not a stranger to Linux, but I am a stranger to running Mac apps on Linux. On my PowerPC I can use SheepShaver to run Classic apps. The Mac-on-Linux project can run OS X apps, but it requires a PowerPC, not an x86. Virtualizing and emulating are inefficient, especially given the wonderful results the WINE project has had in getting Windows apps to run on Linux. What I would like is an equivalent: a software compatibility layer that will allow Linux to run Mac OS X apps at native performance. I believe there is some additional complexity in accomplishing this. Mac OS X apps aren't just Mac OS X apps. They are Carbon. They are Cocoa. They are universal binaries. They are PPC code with Altivec. Does such a project exist yet? If not, why not?

72 of 497 comments (clear)

  1. Cocoa and Carbon by morgan_greywolf · · Score: 5, Insightful

    Duh. The Cocoa and Carbon libraries aren't open source. Wine doesn't really emulate Windows libraries, it runs them directly. I suppose there might be some way of getting Carbon and Cocoa onto Linux, but I'm guessing that it's no easy task. And even then, you'd be subject to the same thing you are in Windows -- undocumented APIs, less-than-fully documented APIs, etc.

    Wine has taken years to get as far as it has. I suspect that an 'OS X Wine' would take as long.

    1. Re:Cocoa and Carbon by Anonymous Coward · · Score: 3, Informative

      Wine is an open source implementation of the Windows API, though it can use Microsoft dlls if you supply them.

      An OS-X Wine would probably not take as long I suspect, due to the techniques developed in writing Wine and the fact that OS-X has BSD roots. Still, not exactly a simple project.

    2. Re:Cocoa and Carbon by ozmanjusri · · Score: 4, Informative
      By the time full XP support is available in WINE, XP will be 2 generations past.

      Nice troll, but Wine aims for compatibility with Win32 code, not some specific version of the OS. It already supports more than 90% of the API.

      --
      "I've got more toys than Teruhisa Kitahara."
    3. Re:Cocoa and Carbon by morgan_greywolf · · Score: 5, Insightful

      Wine is an open source implementation of the Windows API, though it can use Microsoft dlls if you supply them.


      Correct. I'm operating under the assumption that Cocoa and Carbon use Unix APIs at some level, since they sit on top of a Unix core. So as Wine is an implementation of the Win32 API, the Win32 API is just a fairly low-level API that lets you make windows and buttons and pull-down menus, access the filesystem, access task and memory management, etc., but if you want any of the niceties of newer Windows applications, like toolbars, reconfigurable menus, fancy controls, Windows media, etc., you need Windows/Microsoft DLLs that aren't a core part of the Win32 API proper. Sure, Wine provides open source implementations of some of these, but in most cases you need them provided from the application or from a copy of Windows. The analogy is not quite the same, with Cocoa and Carbon, but I think you get my point.
    4. Re:Cocoa and Carbon by derrida · · Score: 5, Funny
      So according to the Ninety-ninety rule:

      "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."
      one may assume that full API support will arrive at 2017.
      --
      nemesis. Home of an experimental fe code.
    5. Re:Cocoa and Carbon by somersault · · Score: 3, Insightful

      He obviously doesn't want to run their software, otherwise he wouldn't be asking for compatability layers in Linux to run other people's software without having to run a certain OS.

      Quit with your trollish BS already Anonymous - I really wish you'd get a job and stop posting what seems like thousands of comments a day on /.... :o

      --
      which is totally what she said
    6. Re:Cocoa and Carbon by Bert64 · · Score: 3, Interesting

      A wine-like system for OSX would actually be a lot easier to accomplish...
      There is already something iBCS, which lets Linux run binaries from other x86 unix-like systems (SCO, Xenix etc... old stuff), and various BSD's have the ability to execute Linux binaries...
      You only need to emulate the kernel interfaces, and then the user mode programs/libraries should run atop a Linux kernel just like they run on OSX's existing kernel. Then you can begin reimplementing the proprietary libraries one by one. Those libraries which are BSD licensed you can directly port the source.
      All in all, a much easier job than wine.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    7. Re:Cocoa and Carbon by HeroreV · · Score: 4, Informative

      Wine doesn't really emulate Windows libraries, it runs them directly. Wine implements the Windows API. Wine does not use any software from Microsoft. Windows programs are just run with the Wine implementation instead of the Microsoft implementation.

      The Cocoa API is based on the OpenStep API, which has a full open specification. We've had a FOSS implementation of the OpenStep API for years: GNUstep. GNUstep has even implemented some of the Cocoa additions. Producing a Cocoa compatibility layer should be much easier than producing a Windows compatibility layer.
    8. Re:Cocoa and Carbon by init100 · · Score: 2, Insightful

      That you want to run Windows software does not imply that you want to run Microsoft software. Thus, you are not undermining the business models of companies whose software you want to run. Or is the fact that their software only runs on Windows integral to their business models?

    9. Re:Cocoa and Carbon by bytesex · · Score: 2, Informative

      The WIN32 API is a moving target; it gets extended with every version of windows. The original poster isn't completely wrong.

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    10. Re:Cocoa and Carbon by hitmark · · Score: 2, Insightful

      and the devil is in those last 10%.

      especially those undocumented ones that ms use to make office and similar look good on their own platform.

      dont take me a troll for saying so. they are there, the wine devs can testify to it.

      --
      comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
    11. Re:Cocoa and Carbon by TheRaven64 · · Score: 4, Informative

      Producing a Cocoa compatibility layer should be much easier than producing a Windows compatibility layer. There are a few more things required than just GNUstep. GNUstep gives source compatibility and is now fairly good at reading nib files. In order to run OS X pure-Cocoa applications you would also need a Mach-O binary loader. Linux uses ELF as the format for binaries, and so the loader can not start and link OS X applications. Next you would need to compile the Apple (NeXT) Objective-C runtime library on Linux. This is pretty easy (the code is ASPL), but currently GNUstep has problems running with the NeXT libobjc (it uses the GNU one by default).

      If you did this, you could run applications that just used Cocoa. Unfortunately, a lot of OS X applications also use Carbon. There is no open source version of Carbon, although a few people have written GNUstep wrappers for the parts of Carbon which are toll-free bridged with Cocoa. You would also not be able to run anything that depends on WebKit (unless you use GNUstep's SimpleWebKit as a stop-gap), QuickTime, or any of a number of other frameworks that have not yet been added to GNUstep.

      WINE has had a lot of time and effort put into it because there are a huge number of proprietary Windows-only applications that would be useful on other platforms already deployed. There are far fewer essential applications for the Mac (90%+ of computer users don't use any OS X apps, after all), and so no one has bothered. For the few apps that would be worth supporting, it is probably easier to re-write them from scratch than it is to write a general purpose compatibility layer.

      --
      I am TheRaven on Soylent News
    12. Re:Cocoa and Carbon by Sparks23 · · Score: 2, Informative

      Carbon is a sort of bizarre chimera library, which was intended to provide a compatible set of APIs between classic Mac OS and Mac OS X. So that once OS X was on the way, you could carbonize an app under Classic and have it just work on OS X. Brilliant idea, but it means Carbon isn't a close relative of anything. It's a huge library and framework (since it spanned multiple operating systems), and would basically have to be engineered from scratch.

      In contrast, Cocoa is what used to be OPENSTEP; it's just been renamed. GnuStep thus provides the same stuff Cocoa does, but tends to be several years behind. (Also, GnuStep provides source-level compatibility with a given revision of Cocoa, not binary-level.)

      --
      --Rachel
    13. Re:Cocoa and Carbon by omfgnosis · · Score: 2, Insightful

      It might be more prudent to provide Cocoa compatibility and forego Carbon based on the knowledge that the remaining Carbon apps are cross-platform and would likely work under Wine (eg Office, Photoshop) with the notable exception of the Finder, which nobody wants to emulate anyway.

    14. Re:Cocoa and Carbon by shmlco · · Score: 2, Insightful

      You guys need to get serious. It's not just Carbon and Cocoa, but Quartz and Quicktime and Core Audio and Bonjour and all of the other technologies OS X applications are based on.

      You're better off running Parallels and virtualizing Linux. Performance is actually quite good and besides, how much of a hit are you going to take going the other way around, "virtualizing" OS X applications to run under Linux?

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    15. Re:Cocoa and Carbon by neo8750 · · Score: 4, Funny

      with the notable exception of the Finder, which nobody wants to emulate anyway.

      Well now I just find that hard to believe.

    16. Re:Cocoa and Carbon by larry+bagina · · Score: 2, Informative

      Apple has released some of Core Foundation as open source (APSL probably).

      Cocoa is written in Objective C (and the libraries are well documented). The C-based CoreFoundation is a rewrite of some of the stuff in C. Some of the data structures can be used in a cocoa app as a native Objective C object, but most cocoa apps don't depend on CF.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  2. Simple reasons for this. by Anonymous Coward · · Score: 4, Insightful

    Apple isn't going to allow it to happen. It's very important that Mac OS be seen as part of the Mac -experience-, not something that you can install on any computer. Trust me, they would find some grounds upon which to shut down such a project if it ever became popular.

    The second reason would be that the people who might work on it are already too busy trying to do the same thing for Windows applications, and unfortunately that has a long way to go as well.

    1. Re:Simple reasons for this. by Joe+The+Dragon · · Score: 2, Informative

      Only in the US out side of it they can say what you can do with there os after you buy it. So when 10.5 comes out BUY and hack it to run on any system and apple will not be able to stop you.

    2. Re:Simple reasons for this. by Anonymous Coward · · Score: 2, Interesting

      Not everyone is happy with the closed nature of Apple products, as well as their support for DRM and software patents. I'd certainly be game to dump OS X in favor of linux if it could run my apps.

    3. Re:Simple reasons for this. by General+Lee's+Peking · · Score: 2, Insightful

      Running Mac OS X software on Linux doesn't alter the Mac buyer's perception of the Mac experience because they've got a Mac OS X box, not a Linux box. And hopefully the average person running Linux will be sophisticated enough to understand that running Mac OS X software through emulation isn't the Mac experience either. I don't think Apple has any reason to care one way or the other.

      I've got to give the most weight to your second explanation. MS Windows has a heck of a lot more software than the Mac available for it so emulation for MS Windows is far more important. Also, MS Windows is more oriented towards a system where the more software, the merrier, as opposed to the Mac which is more oriented towards an integrated environment to make working with cameras, iPods, whatever-else, easier. Emulation could better take advantage of the MS Windows model than it could the Mac.

      As for any Mac OS X project becoming popular with the Linux world, I don't think that's going to happen even if Apple promotes it, much less shuts it down. The hypothesis is that the Linux developer's perception of the commercial software world is MS Windows and their goal is to move closer to that. The evidence is that NeXT actually released the standards for what is now used by Apple for Mac OS X way before Microsoft released their standards for .Net and C#; NeXT developed the Objective-C front end for gcc which Apple still supports; and GNUStep is still far less popular than MS Windows flavored projects like Gnome and KDE. The free software world worked on its own C# front end for gcc even without Microsoft helping them out. And then there's Mono, DotGNU, and so on.

      If anything, Apple has actually helped the free software world move closer to what they do with GUIs, libraries and languages, not forbidden it. Looking at the free software projects out there, it is apparent, if not obvious, that the free software world has overwhelmingly chosen the Microsoft flavor of GUIs and libraries.

    4. Re:Simple reasons for this. by cbreaker · · Score: 2, Interesting

      "Apple isn't going to allow it to happen."

      That's just silly, because they wouldn't have any say in the matter. It would be a reimplementation of the OS API's and wouldn't use Apple code. Or, are you so naive to think that if Microsoft had any say in the matter, they'd have let the WINE project just keep on truckin'?

      "The second reason would be that the people who might work on it are already too busy trying to do the same thing for Windows applications"

      That's retarded. Can't you think past your own little box? There's many tens of thousands of programmers out there that could do this work. Windows API's aren't similar to OSX API's. Why would you get the idea that it would be the same people doing a "WINE/OSX" as WINE, and they're "busy" working on Windows WINE?

      --
      - It's not the Macs I hate. It's Digg users. -
  3. 10 years by Constantine+XVI · · Score: 4, Insightful

    Wine took ten years to get where it is now, without any real documentation whatsoever.

    I can guarantee you it would take at least that long to reverse-engineer Carbon from scratch. However, Cocoa is really nothing more than OPENSTEP v2. Linux already has an OPENSTEP implementation (GNUStep), so a portion of the work is done.

    --
    "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
    1. Re:10 years by Abcd1234 · · Score: 2, Informative

      Why? Wine doesn't require a recompile of the executable in question. It simply does a manual load of the PE/COFF file. Creating a similar loader for the Mach-O format is probably no more difficult.

  4. iTunes by egandalf · · Score: 4, Insightful

    All I want is iTunes compatibility. Sure, I can sync my ipod with Amarok or RythmBox, but I haven't found anything that works well for syncing video and I can't purchase music from the store. The kicker is, I would probably purchase LOTS more music if I had a solid linux port.

    This will probably not happen in the near future, though. I think Apple is afraid that a linux port would get reverse-engineered and their DRM would be cracked in a week. But with their apparent success in locking down the iPhone, I find that unlikely.

    --
    Those who have telepathy have no need to RTFA.
    1. Re:iTunes by chill · · Score: 4, Interesting

      Because if your iPod has a nervous breakdown -- and there is a good chance it will -- only iTunes as the "Restore" button. Amarok can't restore a corrupt database and wil just refuse to work with the iPod. Time for a trip to the Apple store.

      Now, if there is a nice FOSS "iPod Restore" tool, that would help. Integration into Amarok as a plugin or something would be even better.

      --
      Learning HOW to think is more important than learning WHAT to think.
    2. Re:iTunes by croddy · · Score: 3, Insightful

      The Linux and OS X desktop user bases have been roughly the same size for several years now, although I believe the OS X user base has finally begun to slightly outnumber the Linux share. I think the argument you want to make here is that the technically-oriented and freedom-inclined Linux user base would be unlikely to purchase low-bitrate DRM'ed AAC files.

    3. Re:iTunes by Hatta · · Score: 2, Insightful

      How about not buying hardware that ties you to a specific platform for no reason? If you buy a product locked to proprietary software on specific operating systems, don't complain when it doesn't work anywhere else.

      --
      Give me Classic Slashdot or give me death!
    4. Re:iTunes by vux984 · · Score: 2, Informative

      All I want is iTunes compatibility.

      Seeing as iTunes has been ported to windows, have you explored running the Windows version of iTunes on Linux instead of the OSX version?

      It seems that iTunes 6 at least has been successfully done...

      http://pimpyourlinux.com/linux-feature-review/itun es-in-linux-not-any-time-soon/

      Not sure when that was written, so someone may have figured out 7.

      It sounds like 6 can't access the itunes store anymore; but this is certainly a partial solution. And is priobably the avenue to watch -- unlike iTunes (OSX), lots of people are actively working on getting iTunes (Windows) running.

  5. Purpose. by saintlupus · · Score: 4, Insightful

    I have the urge to commit my 24" Core 2 Duo iMac to a single Linux operating system, thus giving up the goodness of my beloved Mac OS X.

    Why?

    It seems sort of silly to deliberately kneecap yourself like this. Generally, you only see this behavior in serious FLOSS zealots. They're the ones not trying to run closed-source Mac OS X applications.

    --saint

    1. Re:Purpose. by saintlupus · · Score: 5, Funny

      Flamebait? Fucking crackhead mods.

      The guy refers to "my beloved Mac OS X" and then goes on and on about how he wants to get rid of it, but can't leave behind the application support. Why?

      "Dear Slashdot, I've got this urge to kill my beloved wife. Could you please tell me how to do it, and how to simultaneously make her sister as hot as she is and have her marry me instead?"

      What the fuck is he trying to gain?

      --saint

    2. Re:Purpose. by Anonymous Coward · · Score: 5, Funny

      Okay, okay...

      Please stop the Hans Reiser bashing right now.

    3. Re:Purpose. by antifoidulus · · Score: 4, Funny

      "Dear Slashdot, I've got this urge to kill my beloved wife. Could you please tell me how to do it, and how to simultaneously make her sister as hot as she is and have her marry me instead?"

      Didn't Hans Reiser submit that story?


      Sorry, that was in poor taste :P

  6. Resist the Urge by DrDitto · · Score: 3, Insightful

    Why would you want to replace OS/X with Linux? Thats like replacing a shiny new Mercedez-Benz with a rebuilt Chevy.

    1. Re:Resist the Urge by GrumpyOldMan · · Score: 5, Interesting

      I'm in the same situation. For 99% of what I do, MacOSX is a flaky pain in the neck. I'd love to be able to confine MacOSX to a window. Here is my background:

      I've run *nix on the desktop for roughly 17 years. Last year, after we had a baby and I had essentially no time, I finally got tired of maintaining my system, and thought the "just works" aspect of MacOSX might be a nice change. I've been running 10.4.x on my Core 2 Duo iMac since last October. I've found that after more than a decade and a half of being able to customize my desktop behavior, I just can't adjust to the MacOSX gui. I hate the menu bar at the top, I hate not being able to define *MY* hotkeys for resize, move, and iconify, I miss the easy X11 1-click cut and 1-click paste, etc. To get around some of this, I run most of my shells via xterm. However, X locks solid every few weeks (usually when I scroll too much or too fast in some window).

      I also find that the only MacOSX application I ever use is iTunes. I started out using Mail and Safari, but I moved back to Thunderbird and Firefox for the plugins. Specifically, the external editor plugin for Thunderbird so that I can edit messages in xemacs, and the noscript and adbplockplus extensions for Thunderbird.

      I also hate that my 4 USBserial connectors are flaky, and have to be re-plugged before they'll all show up on boot. Neither Linux nor FreeBSD had this problem.

      At any rate, how is the codeweavers support for playing iTunes videos? That's really the only thing I use iTunes for is video.

    2. Re:Resist the Urge by Anonymous Coward · · Score: 2, Insightful

      Ummm... Run X11 (found in the Utility folder in the Applications folder). Run it in take over the screen mode. Or replace the window manager with your choice.
      Take the linux apps you love. Build them on the mac. Minor fixes may be needed, far less than recreating OS X on Linux. Use any number of the guides to slim down OS X to the bare minimum foot print. Enjoy your Linux-lite experience on your nice iMac and get all the benefits of optimized drivers for the hardware. Set your environment up so that at login it all starts automatically. Enjoy. I recommend Fink for ease of getting apps to your Mac ... They'll have most of what you want. I _know_ this does not answer the original question, but it is a more practical solution given the lack of actual requirements or desires for why Linux when Mac OS X is beloved by the original author...

    3. Re:Resist the Urge by molarmass192 · · Score: 2, Informative

      VMWare Fusion ... download it ... it's really good on OS X. I have 3 Linux images I regularly use with almost no perceptible performance hit. It has a really slick full screen mode. Also, there's nothing stopping you from imaging your machine with Linux and installing OS X in a VMWare VM, it's a bit flaky on the redraws, but you'll have access to iTunes since you DO have a valid OS X license after all. The downside to that is you won't have access to firmware updates from Stevie.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
  7. "darwinux" by johkra · · Score: 3, Informative

    I was searching for the same thing (I wanted to test a crash Mac users experienced with an cross-platform app, but I don't own a Mac.), but I found nothing usable.

    There's "darwinux" (http://lwn.net/Articles/229088/), but this far away from being usable.

  8. You Answered Your Own Question by organgtool · · Score: 5, Insightful

    Mac OS X apps aren't just Mac OS X apps. They are Carbon. They are Cocoa. They are universal binaries. They are PPC code with Altivec. Does such a project exist yet? If not, why not?
    I think you answered your own question. Mac apps are very complex due to all of the mechanisms they use to maintain backward compatibility. Reimplementing all of those libraries is a huge task. Wine exists as a reimplementation of Win32 and DirectX strictly out of necessity, but there is little need to run Mac apps in Linux. Most people who want to run Mac apps prefer to run them on Apple hardware. Seeing that you already own an iMac, I think the bigger question is why are you so insistent on running Linux on your Mac?
    1. Re:You Answered Your Own Question by hummassa · · Score: 2, Interesting

      Even though Linux is "free" it would probably cost me $5-15/month in electricity to run it on my Mac, and it would at the same time put more wear and tear on my hardware. Funny, my laptop runs cooler under linux than under WindowsXP. It suspends automagically if I close the lid, and takes like five seconds to restore when I open the lid and press any key. I smell some FUD here.
      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  9. Why? by jessecurry · · Score: 4, Insightful

    I just want to know why you would want to replace OS X with Linux? I understand the FOSS ideals, but you could always run linux in a virtual machine. I've installed Linux on quite a few of my Macs over the years, but since OS X I find that almost all of the linux functionality is sitting right in OS X.
    What do you hope to gain by installing Linux as the full-time OS? Please don't flame me, I'd like some logical points, or even a "just because".

    --
    Those who know, do not speak. Those who speak, do not know. ~Lao Tzu
  10. Funny you should mention this... by SpinyNorman · · Score: 5, Funny

    I'm looking for a way to convert my Lamborghini Diablo into a lawnmower.

    1. Re:Funny you should mention this... by tgd · · Score: 5, Funny

      Thats easy. I'll trade you my lawnmower for it.

    2. Re:Funny you should mention this... by DaveCar · · Score: 2, Insightful


      Well, Lamborghini did start out making tractors ....

      http://en.wikipedia.org/wiki/Lamborghini

  11. You can't by suv4x4 · · Score: 4, Insightful

    There's no much motivation right now for "Mac Wine" since there isn't such a flood of Mac-only apps that are essential to Linux users.

    You're trying to do something stupid here: a Mac is only good as Apple sold it to you. They've went to thoroughly extensive work to ensure it is so, trying to get something production ready with OSX apps under Linux is begging for problems.

    You bought a Mac, use OSX (you can dual boot still, or virtualize).

  12. Why? by ZipprHead · · Score: 2

    Isn't OSX based off of BSD? Won't most Linux apps run with a little with tweaking to them?

    OSX is the reason I stopped using windows with a linux server in the other room.

  13. Why not? by grammar+fascist · · Score: 5, Insightful

    Does such a project exist yet? If not, why not?

    • There's not much demand for it.
    • Most commercial Mac software exists in Windows, so you can run the Windows versions under WINE in Linux.
    • Most people who buy a Mac are even less inclined to tinker than a typical Windows user, and therefore much less likely to switch to Linux.
    • Every Apple computer extends the Steve Jobs reality distortion field to the computer user, ensuring lifelong devotion to the product. I haven't a clue why it doesn't affect you this way.

    It's a fair bet the real answer is one or all of those.
    --
    I got my Linux laptop at System76.
    1. Re:Why not? by Bert64 · · Score: 2, Interesting

      You can virtualize OSX...
      You might need to download a "dodgy" version to do it, but as far as the legal implications go, you *do* have a legal copy and you *are* running it on apple hardware, the license agreement doesn't state that you must run it on the bare hardware and not under a virtualization environment.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  14. Huh? by Cereal+Box · · Score: 3, Informative

    I will never understand why someone would buy a $2000 iMac and negate the entire reason for purchasing from Apple -- to run Mac OS X. You can run Linux for a lot less money, you know.

    Honestly though, Mac OS X really isn't that bad -- in fact, I think it's pretty nice, especially if you come from a Linux background. You do realize that you can run pretty much any Linux app (as long as it doesn't do any funky OS-specific things) natively on Mac OS X, right? You could even run a full-fledged Linux installation via Parallels if you so desire. ... Or is the main issue that you're one of those people who gets the "heebie-jeebies" at the thought of running software that isn't open source? In that case, my advice is to get a life -- it's just software! The world won't end if you run a piece of non-free code!

    1. Re:Huh? by Dystopian+Rebel · · Score: 2, Interesting

      I will never understand why someone would buy a $2000 iMac and negate the entire reason for purchasing from Apple -- to run Mac OS X. The word "never" is a reliable marker for silly thinking.

      OS X is not the sole reason for buying Apple hardware. Some Apple hardware is very nice. The Mac Mini is a great little computer, period; I run Linux and Windows on mine. I have never owned an iMac, but I assume that the Intel generation hardware offers no obstacles (except Apple Bluetooth for non-XP Windows).

      Although I like OS X and think it's better than Windows, it isn't perfect. The Finder in OS X leaves .DS_STORE droppings everywhere. Network browsing is annoying. I use the OS X Finder enough that these two problems make Ubuntu my desktop OS of choice.
      --
      Rich And Stupid is not so bad as Working For Rich And Stupid.
  15. Use VMWare or similar by Wooky_linuxer · · Score: 3, Insightful

    is your best bet right now. I am not sure if OS X can be properly virtualized, since it seems to check whether you are running it on Apple hardware - of course, if you are going to use an iMac, then you are indeed using Apple hardware, but it doesn't seem so to the OS. You'd need to use a hacked version I guess - oh the irony!

    If you asked me, I would advise the contrary: run Linux in a virtual environment under OS X. Less trouble to get it running, no need to use hacked versions, and there is a good possibility that features such as Coherence from Parallels or the equivalent in VMWare Fusion might be available for Linux guests someday.

    --
    Where is that guy who'd die defending what I had to say when I need him?
  16. Why not Linux apps in OSX? by malevolentjelly · · Score: 4, Informative

    Let's see- you take your unix kernel, build a fully rewritten, GL-optimized X Windows system... solidify your GNUStep libraries until they're fully compatible with cocoa-

    Then be certain you're only running systems with SSE3 or above, since all the intel binaries are optimized for that.

    Whoops- also gotta build a compatible CoreAudio system.

    Oh no, looks like you're now Apple.

    If you're using Mac OS X, you're already using a NeXT compatibility layer on top of a streamlined X and a really high end specialized desktop unix. The question is- why are you trying to run linux? You're using a much higher end unix system that supports X11 and has a full BSD layer, with package managers available. Why don't you just run linux apps in OS X?

    Making an OS X "compatibility layer" would essentially just require you to create a shoddy set of OS X libraries- something Apple's already done better.

    Take advantage of your resources.

    Let me repeat this - OS X is a "mac compatibility layer" running on top of a unix kernel already- it's a totally insane waste of time to re-implement it. If you're that interested in making OS X, you should work for Apple.

    1. Re:Why not Linux apps in OSX? by Bert64 · · Score: 4, Insightful

      Because currently you can only buy that Mac compatibility layer from one place.
      If Apple goes bankrupt, or drops it, then your left out in the cold.
      Similarly if Apple don't move it in the directions you want, then your stuck. (think very cheap lowend hardware, or very tiny laptops)

      I run Kismac, it's a very nice wireless sniffer similar to Kismet on Linux, but graphical and with good gps integration including downloadable maps. I would like to run this on a tablet or a PDA, but Apple don't make such devices, so i have to run Kismet instead (text based) and then import the data into a mapping program later.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  17. Re:also by Trillan · · Score: 4, Insightful

    Some of Apple's Mac OS X binaries are encrypted. However, if you're really talking about an open source clone, you have no business trying to use Apple's binaries.

  18. Funnily enough by simong · · Score: 4, Insightful

    I was just thinking about this coming back from lunch. OS X has become the pragmatic choice of many sysadmins simply because it is the best of both worlds: you get a GUI OS on (generally) reliable hardware that will run Microsoft Office (if you must) but also has a full command line interface that will run most Unix tools without any fiddling. Part of OS X's success is wholly due to this, and the Linux/FOSS community has responded by making the Linux front end more Mac-like with Compiz, Beryl and Etoile.
    In short, you aren't going to gain anything by running Linux, except some nebulous feeling of self-satisfaction about something or other, and you are going to lose an awful lot. Running Windows on a Mac makes the Baby Jesus cry; running Linux exclusively gives him slight heartburn.

  19. Re:Why? by jessecurry · · Score: 4, Interesting

    I'd have to ask what environment you write code in. I find that Xcode on OS X is one of the best environments that I've ever developed in, there are a few things about the IDE that bother me, but it's great overall and is getting better with each new release, and designing websites is really where OS X shines.
    I can agree with you on Linux being an easier to use server platform, but OS X runs almost all of the same tools so that may change if I used it as a server more often.

    --
    Those who know, do not speak. Those who speak, do not know. ~Lao Tzu
  20. Market Share by bernywork · · Score: 4, Insightful

    I know this is really stating the obvious, but it comes down to this, market share. Windows has a large market share, and therefore has a large amount of developers building applications. There is also a lot of work done on WINE by CodeWeavers and Cedega, these are builds of WINE that are commecially supported for applications and gaming respectively. (Not to take anything away done by others on WINE, but these people are contributors as well)

    The real reason that these companies exist, is that there isn't THAT much of a demand for Mac apps on Linux. There is a large demand for Windows apps on Linux because there are so many Windows developers and subsequently applications that run on Windows. That's why we have WINE.

    It would be possible I guess to do Carbon and Cocoa on Linux, re-implement the APIs, but for the amount of applications that there are on Mac that aren't on Windows, there isn't much point.

    If Apple opensourced Carbon and Cocoa (Not likely) then I guess they would get ported to Linux by someone, but till then, someone isn't going to do this as the amount of developers out there just isn't high enough. There isn't the interest.

    --
    Curiosity was framed; ignorance killed the cat. -- Author unknown
  21. Thoughts by RAMMS+EIN · · Score: 4, Insightful

    Some of my thoughts, in no particular order:

    - The Officially Sanctioned API (TM) for OS X apps is Cocoa. This is basically an extension of OpenStep. So is GNUStep. GNUStep even aims to implement Cocoa's extensions so as to allow Cocoa apps to be linked with GNUStep. However, for the time being, compatibility is incomplete and only at the source level. You might have some luck compiling GNUStep apps on Cocoa/OSX, but not running compiled Cocoa apps on GNUStep/Linux.

    - Some people tried to get Darwin binary compatibiltiy into NetBSD. However, the project is now dead, purportedly due to lack of user interest. This is the only Darwin binary compatibility project I am aware of. What this means is that, at the moment, you can only run Darwin (AKA OS X) executables on Darwin.

    - QEMU is a fast and open source emulator that can be used to emulate, among others, x86 PCs, AMD64 PCs, and Power Macs. This should allow you to run OS X as a guest OS. If you use QEMU to emulate an x86 on an x86, or an x86 or AMD64 on AMD64, it should run close to native speed. That is, as far as the CPU is concerned. Other hardware, graphics hardware in particular, will not have native performance.

    - I've been a GNU/Linux user for over ten years. I also used Mac OS X for a couple of years. Eventually, I got frustrated with it and installed Linux on my iBook. I've never looked back. Of course, I am primarily a GNU/Linux and BSD user, which causes the little (sometimes significant) oddities of OS X to frustrate me. If you're primarily an OS X user, this will likely work the other way around.

    - GNU/Linux does have some definite advantages over OS X. Just throwing down a few: more customizability, easier maintenance (given a decent package manager, such as apt-get), better compatibility with open-source software, and several possible advantages that depend on your choices: lower memory usage, lower latency, lower disk usage.

    - Given that you have a Mac, OS X also has some advantages over GNU/Linux. Among others: it supports your hardware (what you get from Apple, anyway; Linux has the edge when it comes to third-party hardware), companies are more likely to support it (think software, hardware, and manuals), and ... well, can't think of anything more right now.

    - As for why there is no compatibility layer yet: probably just because it's a monumental task. Think about how old Wine is and how well it works. Then think about Apple's yearly OS upgrades. Then consider that Apple has also moved architectures (PPC -> x86) since the introduction of OS X, and probably will again (x86 -> AMD64 - they ship that hardware, but the OS is still at least mostly x86). Then look at GNUStep and the instructions for building it (you're allowed to shiver at this point). A Mac OS X compatibility layer won't happen anytime soon.

    --
    Please correct me if I got my facts wrong.
  22. Re:Of course you can't by Cheerio+Boy · · Score: 5, Funny

    *sprays can of Troll-Be-Gone*

    Damn. This stuff must be expired!

    Either that or I'm not using enough of it...

    --

    "Bah!" - Dogbert
  23. If not, why not? by Lally+Singh · · Score: 4, Insightful

    If not, why not?


    Because it's a terrible, terrible idea. The Mac software stack is *large*, with API compatibility going back 20 years. 3 full-size APIs are supported (bsd, carbon, and cocoa), and they're all constantly being improved by apple. Any such project, while also being an absurd waste of time, could never catch up. Not to mention all the GPU stuff they're doing these days, integrated into the window server (Quartz Extreme, CoreAnimation, etc.). Feel like extending X11 to get decent performance? I don't, and neither does anyone else.

    You've already gone past the hurdle that keeps most from using Linux: buying a Mac. If you want all the linux software, just download port from http://www.macports.org/ and let it download prebuilt binaries of traditionally linux applications for your mac. The website is crap but the tool's good and the repository is active and well maintained. They run just like the linux side, only you don't have to start hating your life by using Linux as your desktop OS. Switching back from OS X to Linux is about as painful as shoving a screwdriver in your eye. There's no point.

    Some corrections:
      * Parallels/VMWare aren't emulating anything. They're using newish x86 instructions to let the system run 2 OS's simultaneously
      * Ever consider recompiling? I mean, it's called open source for a reason.

    Also, if you're gonna tinker, consider Solaris. It's free and Parallels supports it with nice X11 extensions for mouse sharing, etc. Also, it's BrandZ lets you run Linux binaries.

    --
    Care about electronic freedom? Consider donating to the EFF!
  24. Purposes by simpl3x · · Score: 2, Informative

    That probably could have been stated better! I believe the question is what is each good for? If free is a goal, then why not run Linux as an OS? But, why on Apple hardware, not that the cost is bad nowadays compared with the "general" hardware quality and design if that's your thing.

    If you need OS X applications, why not run Linux through Parallels or some VM? If Linux is your primary OS, use BootCamp to allow access to OS X. These approaches make sense depending upon your needs. Want access to everything at the same time -- Parallels. Want to run everything within Linux, and only need to access OS X once in a while -- BootCamp. Want to run open applications -- us X11. This doesn't seem any more complicated than using Windows and OS X applications. But if performance is an issue, why are you using a consumer machine?

    Aside from workflow and high performance issues, it has never been so easy to work across platforms, and frankly I feel that Apple has done a pretty decent job of developing the right resources.

  25. Some rationales for an OSX-Linux 'switch'. by delire · · Score: 2, Insightful
    People I know seem to have 'switched' for reasons that are perhaps most eloquently stated by Dive Into Python author (and veteran Apple user) Mark Pilgrim:

    In many ways, the tale of my switch is more of the same old story. Mac OS X was "free enough" to keep me using something that was not in my long-term best interest. But as I stood in the Apple store last weekend and drooled over the beautiful, beautiful hardware, all I could think was how much work it would take to twiddle with the default settings, install third-party software, and hide all the commercial tie-ins so I could pretend I was in control of my own computer.
    So he went and bought an IBM machine.. and put Ubuntu on it.

    He has also expressed what has frustrated many, that Apple's love of closed formats can result in data-loss and/or data not being readable in future.

    I'm not claiming that either Free Software or open formats are a silver bullet. There are many risk factors, and Free Software mitigates some of them some of the time. There are many layers -- data on top of applications on top of operating systems on top of hardware -- and open formats can reduce the friction between some of them some of the time. They're both lubricants that help you to slide out one layer and replace it without the whole thing toppling down. Apple would prefer that I not replace any of their layers, and they have gone out of their way to increase the friction between them.

    Which brings us back to John Gruber's oranges. His counter-argument -- that lock-in hasn't been a problem for me yet, so why all the fuss now -- could not be further from the truth. It's been a constant problem for 22 years. Much of the data I've spent my life creating has been lost or seriously degraded through a series of proprietary formats and forced migrations. This is why I felt so betrayed, in particular, by Mail.app "upgrading" me away from mbox format. It took a lot of forethought on my part, not to mention actual time and effort, to convert all my disparate mail archives from all those different mail programs. I finally got everything into a single archive in an open, stable format... and just 3 short years later, Apple found a way to screw me one last time. It'll be the last time they get the chance.
    Naturally he can run FOSS MTA's, clients and mailbox formats on OS/X but his point is that the Linux (as a platform) is concerned with open-formats right from the get-go without any fight, tweaking, hackery or worry about the OS itself dropping application support in future. Transparency and decentralisation actually come to be things you trust over time. For this reason if one cares for the longevity of their data - in the sense of future readability - Linux is the wiser choice over OS/X. In 8 years with Linux I haven't had to worry at all about the things he (and many others) complain about above even once.

    There is great comfort to be found in the Linux community's commitment to/love of open-standards and transparency and this, as I understand it, is a very valid reason to justify a switch.
  26. Linux on Mac by rev_karol · · Score: 3, Interesting

    I put Ubuntu on my macbook recently and was seriously impressed. Really looks up to scratch for the desktop. First off, pretty much everything worked without too much googling. Picked up the graphics, sound, wireless, etc., no problem. I read I can get the webcam working quite easily too. The only thing I didn't try was the dual screen/extended desktop. The compiz stuff worked as soon as I turned it on (I'd miss exposé otherwise). I have a usb tv-receiver that won't work but I expected that since it's built for Mac. It was the responsiveness that really got me though, Ubuntu was far snappier than OSX (and I've 2GB of memory) - Mac apps like to think about things for a while sometimes (and they're not using the CPU to think, whatever the hell they're doing).

    There are a couple of Mac apps I'd miss. Number one is Omnigraffle. Really handy for making diagrams. There's nothing close on linux as far as I can see (although I've just tried the OpenOffice Draw program and there's potential there). Second one is Keynote. OSX also has PDF built in as a native format, which is really nice, and the drag and drop support is unparalleled.

    I use Linux in a virtual machine on Mac for college. It's about a 2GB code base (or something ridiculous) so I won't be trying to recompile for mac any time soon. It works, but native would be much nicer.

    I think the Apple hardware is pretty decent. They cram a lot of good stuff into a small space. I've been hard pressed to get all the same features in a Dell for the same price last time I tried (and it's usually twice the size/weight).

    So I think Linux on Mac makes sense for some of us.

  27. Re:Why? by AnObfuscator · · Score: 4, Informative

    That's a good question. For me, my move from OS X to Linux is motivated by several reasons.

    1. Portability
    OSX runs on Apple Hardware. It can be hacked, sure, to run on some non-Apple systems, but widescale hardware compatibility is lacking (just look at the difficulties in getting a GeForce 8x00 series card running). With Linux, I have a much wider choice of hardware vendors.

    2. Flexibility
    Linux gives me a lot more control over my OS. While this is pointless for 90% of users, for me, it is very nice to be able to custom compile a kernel with the options I need, recompile any given app for the characteristics I need, and so on. I can enable, disable, theme, customize, and otherwise hack my environment to suit my needs much more easily than in OS X.

    3. Security
    OSX is pretty good, but I'm a little worried at Apple's highly negative response to security concerns (anyone remember the wireless driver exploit fiasco?). Also Linux offers some features that OSX doesn't currently offer, such as MAC. 10.5 is supposed to have MAC, but I can't find any info on it. While both systems are good, I perceive the Linux market as responding more credibly to security issues.

    4. Software Ecosystem
    OSX software is great. However, Linux offers me a great deal more choice, and that choice tends to be much more configurable to my needs. While I love the Cocoa API and what it allows apps to do, Linux is catching on fast, and I find that good GNOME or KDE apps perform most, if not all, the functionality I care about in OSX, while being beer free, and offering me more choices (i.e. Anjuta, Geany, Eclipse, KDevelop vs XCode, Eclipse). There's also a lot of software I like to use that aren't available on OSX yet. I'm starting to learn CUDA, for example, and that is not yet offered for OSX. Also, VMWare workstation offers some nice features targeted at developers (such as host-to-VM project deployment & debugging) which I haven't seen offered yet on OSX.

    5. Usability
    I know a lot of people disagree with this, but I find a lot of OSX's UI broken, at least for how I use my system. I find the window management to be frustrating, the Dock to be very limited, and the lack of decent app launching & management to be very frustrating (although QS does manage to solve app launching in a pretty nice way). GNOME's clean usability and massive customization have allowed me to create a Linux system that I actually find to be more usable for me than OSX.

    I guess I could summarize all of that by one word: choice. For my needs and uses, I find the flexibility of Linux far more convenient.

    If OSX's behaviors work well for you, and you are happy with Apple's hardware offerings, then you have the choice of OS X instead!

    Isn't freedom of choice a great feeling?

    --
    multifariam.net -- yet another nerd blog
  28. You're not doing it right... by porkchop_d_clown · · Score: 5, Funny

    You're supposed to drink it. A couple of shots of Troll-be-gone and suddenly everyone you meet is +5 insightful.

  29. Mac on Linux on PPC yes, Intel? Nope Won't Work. by aqui · · Score: 3, Informative

    >>>>> I realize your request is for "intel" MacBooks... but for those of you with PPCs or Developers...

    I'm pretty sure Mac On Linux (MOL) won't work for intel machines, but if it did it would more or less do what you want. A short search shows it probably doesn't work, maybe someone should look at porting it to intel hardware (if its doable).

    The feature list for processors http://mac-on-linux.sourceforge.net/wiki/index.php /Features doesn't mention anything remotely intel.

    I think for now the VMWare (answer already given by other posters below) is as good as its going to get. That is simply the problem with closed source stuff.

    For those of you reading this post looking for solutions for PPCs though, MOL is probably the way to go.

    Mac On Linux supports all of the PPC architectures well, and I've got linux and Mac OS X co-existing nicely
    by booting into Ubuntu linux (6.10) and then running Mac On Linux with my OS X install.

    Effectively I have Mac OS X in a window on my second workbench and can switch from one OS to the other easily.
    I use both linux and mac apps depending which one I like better.

    Having a 12" PPC with NVidia closed source crap, I cant run the os in a separate screen yet but with SDL drivers and a screen sized window I get pretty close.

    The only thing that doesn't work well in Mac OS X for me right now is sound, (but the MOL team is working on it).
    Network etc. is all available (with some configuration, through a TUN device), and a Samba drive lets me access my linux drives from inside MAC OS X (running in MOL).

    The only reason I don't boot only into linux is that Sleep, and Video out don't work courtesy of NVIDIA closed source crap... (Admittedly they make nice graphics cards, but I will be choosing my set of hardware based on how well they support open source, which likely means it likely won't be an NVIDIA card, given my current experiences, grumble, grumble ;) ).

    MOL can be found here: http://mac-on-linux.sourceforge.net/.
    My personal thanks to the MOL team.

    (Go ahead mod me off topic if you want, but there are still many users reading about this that have PowerPCs)

    --
    ----- "Profanity is the one language that all programmers understand."
  30. No by Craig+Ringer · · Score: 2, Informative

    Mac OS X has a subsystem based on BSD, and it uses it for some system tasks and to present a POSIX runtime environment. It's only a very small part of the system and rather a second citizen. Let's not even talk about their X11 support, which is pretty unpleasant to use for anything but the basics.

    Only a Mac zealot is likely to tell you it's just a "better unix than unix". Real unix users tend to cry when trying to use it, especially since half the man pages are outdated and completely wrong because Apple changed how everything works but didn't document it.

  31. How about just running linux apps on mac by mehemiah · · Score: 2, Informative

    Between MacPorts and Fink, i could potentially run any Linux app I would use under x and be fine. I can run Kde or Xfce and have them running in quartz wm / Xfree86 or X.org right next to aqua. Now that they've fixed some of the HFS issues with the command line apps, the whole thing runns smoothly. You're millage may vary.

  32. Hardware Lock-in by Mawginty · · Score: 2, Interesting

    I've been using Apple computers for about three years now, and I can definitely see why someone would want to transition out of Apple into something else. I bought my iBook because I needed a laptop and I thought it was a good "bang for the buck" computer (with a student discount I think it was). I grew to like OS X a lot, I bought apps that I liked and I've been very happy with the computer.

    But at this point it is starting to get a little long in the tooth, and I'd like to buy another laptop, but I don't like the laptops that Apple happens to be selling right now. MacBook Pros are a little too expensive and a little too big for me, MacBooks are little underpowered (especially in the graphics dept). I can certainly see the appeal of moving to a platform with more hardware choices, but not having to move over sums of data that I've put into platform dependent pieces of software and not having to give up apps that are OS X only that I like. I'll probably just stick it out at this point and wait until Apple starts selling something that I want. But having a WINE equivalent for OS X would allow much greater freedom in hardware configuration.

  33. Why? by slartibart · · Score: 2, Insightful

    No, there's no way to do it, I can tell you that without even googling it, because it's such a stupid idea that no one with the ability to write such an emulator would ever do it. Wine exists to replace the worst part of the windows experience - the OS, while keeping the best part (compatible apps). You're paying extra for OS X (the nice thing about the mac experience) and then throwing it away. For what? To run Mac apps, which aren't compatible with what the rest of the world uses in the first place. Waste of money - just buy some generic hardware if you're going to run linux, and run wine if Linux apps aren't enough.

  34. Emulator name? by Astadar · · Score: 2, Funny

    If WINdows Emulator = Wine, would that make OS X Emulator = OSXE (read: oh, sexy)?

    --
    --Coming up with something clever... please wait...
  35. FOSS iPod Restore Tool by hummassa · · Score: 2, Informative
    like dd?

    dd if=/dev/sdc2 | gzip > ipodbackup.img.gz
    and

    zcat ipodbackup.img.gz | dd of=/dev/sdc2
    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048