Noah: Bash on Ubuntu on macOS
github.com
github.com
https://en.wikipedia.org/wiki/GNUstep
But for whatever reason, it’s not really caught on. Even Mono managed to chase C# / .Net more impactfully than GNUStep has chased Cocoa.
Had GNUStep ever become more widely used amongst the Free *nixen, I feel like we could have had a credible, open alternative path to macOS/iOS (not to mention Linux) development.
We are also looking to improve the experience of first-time contributors and we welcome feedback related to how we can make it easier to give you the information and tools you need to contribute to Darling.
Unfortunately, git doesn't work at the moment, however this can be worked around by using Linux git since Darling works in your Linux home folder.
One cool thing that works is lldb, which for the most part fully works.
Darling also supports mounting disk images and installing .pkgs, which is really helpful.
In short, we support most of what you can do from Terminal already.
Homebrew and MacPorts currently don't but once we get them working they should make it easier to install packages in a Darling prefix.
We also have binary compatibility with standard Mach-Os from macOS.
Unfortunately, the other project members (around four of us) and me are often busy with our lives and don't always have the time needed to advance Darling, so we are exploring how we can improve outreach to attract more developers.
While we are similar to the WINE project in goal, at the moment we have nowhere near the resources they do, so it is difficult to accomplish our goals.
Sure. I’m already pretty happy with the informational blog posts you have already; the linker one that was posted earlier this year was quite enlightening.
> we are exploring how we can improve outreach to attract more developers
No promises, but I might take a look sometime.I currently have easy access to macOS so I generally don’t have a good reason to run darling, but if I ever do and I run into a bug that annoys me I’ll see what I can do to help.
Latest commit 19h ago https://github.com/darlinghq/darling
I'd love an iOS equivalent of mingw-w64, which is what I use to produce Windows binaries from my 100% libre GNU/Linux-based development environment.
I for example detest opaque keyboard shortcuts and prefer a mouse or trackpad. I still get plenty of work done so it’s optimal for me.
All binfmt does is allow exec() and friends to run a custom wrapper program; for example, qemu or wine.
Windows / NT subsystems (and specifically, here, picoprocesses), effectively intercept all entries into kernelmode from a particular process; when you execute a syscall instruction, the kernel invokes subsystem-specific code.
https://docs.expo.io/versions/v31.0.0/distribution/building-...
(I work at Docker and used to work on Docker for Mac).
As oautholaf points out, this is a subsystem that runs Linux binaries under Darwin, not a subsystem for Darwin compatibility under Linux.
OK, it's a "Subsystem", which is a subset of a system. What kind of subsystem? A Windows subsystem! This part of the system does Windows... and you're already wrong. The Windows part isn't what the subsystem does, it's what the subsystem is a subset of. The subsystem does Linux and it's part of Windows. Saying it's a Windows Subsystem for Linux implies it's something like WINE, only moved into the kernel, if you're old enough to remember the "personalities" concept.
That said, I think their interpretation was likely different: it's the =Windows subsystem that is meant for Linux, kind of like how earlier they had SUA, the (Windows) Subsystem (meant) for Unix-based Applications.
"Windows Linux Subsystem" would be better and still fit that criteria. Just like the old thing they used to have was called "posix subsystem". Throw "Windows" at the start and you are good...
Maybe there's no significant overhead to a VMM if it's hardware-accelerated?
I found this presentation by the authors of Noah that explains more about how it works:
https://events.static.linuxfound.org/sites/events/files/slid...
BTW, XQuartz seems to be dead now.
1) Mac users are persnickety about UI and cannot suffer to use the standard tatty UI that prevails in the Linux desktop world.
2) X in general is moribund, as everyone knows Wayland is the future. What's really needed now is a Wayland compositor that can render to Quartz.
Anyway, XQuartz doesn't give you the capability to run Linux binaries -- only to run software commonly available under Linux that's been source-compiled to macOS. Noah allows you to run a full Linux binary distribution under macOS without virtualization.
I agree with you that Mac users are persnickety about UI. In fact, one of my complaints on XQuartz is the lack of retina support. As for wayland, as far as I understand, it does not support network forwarding (yet?)
Indeed, because Nobody Uses That.