Forgive the naivety, but what graphical Linux apps are people trying to run that don’t have native MacOS builds? In my experience, Linux GUIs are generally written in Qt or GTK, both of which are multi-platform.
I don’t doubt that they exist, I’m just struggling to think of a popular example.
That's not the use case. The use case is running apps from a remote Linux host as a local window. A performant VNC for specific windows if you will.
For example, you could run VS Code on that machine as a window on your Mac. A more real world example is people accessing guis (e.g. matlab) on lab clusters.
The closest set up for x11 would be to use x11 forwarding with xpra.
> The closest set up for x11 would be to use x11 forwarding with xpra.
Older versions of macOS even had an X server distributed by Apple that you could install on your machine, and if memory serves right you were then easily able to forward X11 from a remote Linux host (or other operating systems running X11 applications) using ssh and have it render to your macOS desktop.
From a quick google search there is apparently still an Apple supported third-party open source project called XQuartz one can use.
X11 forwarding with ssh and XQuartz looks to work the same way that I remember using the Apple distributed X server in the past. Install the X server and then use the -X flag of ssh. Same way that you forward X11 between two Linux computers, or Sun workstations or whatever with an X11 desktop, over ssh.
I tried that a few times back in the day, but I found it so jarring & ugly against the macOS GUI. The problem was that it was rendering the application alone, for a seamless integration. I don't remember if there was even an option to run a compositor or window manager such that you had a proper window with it's own background and the linux apps show up inside that (like the cocoa-way example).
Used to use XQuartz often years ago for (I think?) forwarding Firefox running in containers for browser-facing integration testing. It was pretty slow IIRC. Switched to VNC, which worked much better.
Isn't better to run native VS Code and have remote SSH session? It very much works as if it was local (on fast low latency network). Only issue is moving files.
But in the field of integrated circuit design there’s lots of apps that are Linux-only. I’ve tried to run some of them in containers on Mac. But XQuartz is awful.
If they ever transitioned to Wayland perhaps this would let us run these apps on Mac in a nice way.
On the other hand some of them have started getting ARM builds (for running simulations on certain cloud environments) so maybe native Mac GUI builds could happen someday soon.
The biggest issue I found is that X apps look like ass against the elegant Mac environment. Maybe that's mitigated somewhat by macOS 26's Android-ass looking UI, but the appearance/functionality clash between Mac and generic Unix was a major issue before.
I agree, I think the problem is the seamless integration, where it renders only the application against the macOS environment. I'd much prefer something more like the cocoa-way example where there's a window that has its own background, and the applications run inside that. Not sure if Xquartz supports running a compositor or windowing manager.
XQuartz used to support rooted mode. I played with an early version back in the PowerPC era, and ran a regular desktop with WindowMaker and everything, using software from MacPorts. It was kind of a "parallel universe", as XQuartz would take over the whole screen in rooted mode and you had to switch between it and the Mac desktop, but it looked and functioned like a typical Linux or Unix desktop of the early 2000s.
1. I'd really like to run my development environment for things under Siri for its tiling window management but for better or worse I'm deeply embedded in the Apple ecosystem for everything else, this looks like it could be a really nice way of doing it (possibly once multi monitor support is in).
2. There are still a few applications which have supported Linux builds but no support for macOS (Iridium's Niagara Workbench application for configuration of building management systems springs to mind here). Since Apple ended support for Quartz this has been a bit of a pain to deal with.
It really isn’t. There are a great many people who use macs for work but who do not like Apples design choices. And that number has skyrocketed even further since Liquid Glass was pushed onto people.
In fact one of the front page articles today is literally calling macOS “ugly” in the title.
I've been using Linux on the desktop for decades at this point. KDE Plasma is my current favorite and I've been using it for a few years now. It has everything you'd want in a desktop (maybe a bit more), looks great, and is very fast even on modest hardware.
My current job has me using MacOS on an M3 Pro Macbook and I find it barely tolerable compared to KDE. Usually when I want to do something new or change some configuration, either there is no way to do it, or it's hidden behind some key combination that I never would have guessed. I would describe the overall feel of MacOS as "syrupy." When using the mouse or typing, there is almost always some kind of barely-perceptible latency. Nothing is ever crisp and instant. (This isn't specific to this machine, it feels the same way on every Mac I've borrowed.) It's sort of like someone decided that the only way to make it smooth was to also make it slow.
I don't want KDE but I would much prefer gnome to macos desktop, I think it's both prettier and more functional, and that's not a tahoe thing. I hate finder too, and don't see any way to properly use an alternative.
Go through my post history and you'll see I've been saying the same, or similar, for years :)
Plasma can be configured to rhyme with macOS' GUI. Not as in shitty macOS themes, but button placement, docks, global menus, widgets, Spotlight, Stage Manager, hot corners, keyboard shortcuts, Preview in Finder, etc.
I have Plasma configured to take advantage of my decade+ of macOS muscle memory without having to put up with Finder and the abysmal task-switching and window management experience on macOS.
Whenever I have to use macOS, I am reminded of how much better Plasma is. I'd might even buy a Mac again if I could use it instead of the default UI.
To be honest, I agree a little bit because I remember from my time at customizing KDE that everyone wanted it to make it look like Mac OS
but it feels a bit of peer-pressure/cool-factor, people used to like how Mac OS look but after Tahoe, I feel like most people don't.
To be honest, I am on mac right now but I really like Niri/Hyprland and to a degree KDE as well. I definitely feel like those were immensely more customizable and I miss that customizability, even if some people might use that customizability to make it look like MacOS default.
I was given the latest MacBook Pro at my new job not long ago, but I forced them to exchange it for Alan HP laptop just so I could use Linux on it. Unfortunately it's Ubuntu and not Plasma, but even so I'm happy I don't have to use Apple's software.
I’ll be the second then. I’ve love to use Fluxbox or xmonad on the Mac. I know that tiling mangers exist on macOS, but it’s never been the same experience.
Honest question: why use MacOS at all then? If you prefer KDE, why not run a system that KDE natively supports? Is it a particular MacOS application? Or is it that Linux support on Mac hardware is not good enough?
https://github.com/neonkore/waypipe proxies Wayland over a network. It’s straightforward enough in theory: Wayland core is just a communications protocol plus shared memory; so you just need to forward the messages, and detect and send changes in the shared memory. Not the cheapest thing, but perfectly tractable. Of course, there are also more difficult extensions, like GPU integration, but that sort of thing was a problem for X as well.
Wayland natively isn’t built for forwarding the way X11 is. Waypipe fixes this, providing an X11 protocol equivalent for Wayland. This project is a waypipe client for macOS.
Rio and its predecesor in Unix v8/v10 did it better than X. In some cases we got the worst:
- POSIX bloat vs Plan9's simple C and even simpler API
- ioctl's vs everything it's a file
- Complex socket spawning vs open() and dial() under Plan9/Go
- ALSA vs tuned up OSSv4, or plaing audio/mixerfs under 9front
- find -which syntax is huge- vs walk -f (or -d for dirs) | grep
- RDP/VNC/SSH/NFS/SMB vs just rcpu+auth (9p) and run rio(4) and for files... 9fs which does a simple bind()
- Symlinks and hard links vs bind and namespaces.
- GDB and SSH vs importing a remote /proc in a rio window and remote-debugging your damn remote machine as if it were your own. How cool is that? Ditto with devices. Import sound cards, network cards with the whole IP stack. NAT you say? No more.
- FFSv2 (hello OpenBSD) vs current GeFS under 9front which is like a miracle over what OBSD it's trying, the bad ZFS license or BTRFS not being ready on GNU yet. Probably the Hurd people will port GeFS to Hurd/Mach first, before BTRFS gets even ready...
- Dynamic vs static linking. 9front, a suite of multiarch compilers. Set $objtype, compile, link, deploy a standalone binary. Ready, as if it were a Go binary under Unix, but without glibc oddities. ARM binaries from 386? Done.
You need a crazy long i686-gnu-foo-bar and the rest of crazyness? Not anymore. These come in src form, compile and install them, no internet required. Literal two damn commands to do so, from any to any arch.
- SH/KSH/Bash. Complexity ridden shells. Here's rc. No aliases there, just functions. No complex escaping, just () for strings, ^ to concat, ' ' for quoting. Problem solved.
Even the conditonal words' syntax it's like throwing down all the complexity giving you a weirdly simple shell.
- PCRE and ex commands under vi/nvi/vim (bloat) vs Sam and structural regexes. Sam it's like a graphical vi, period, there's nothing alien of it. Imagine a modeless vi with a small frame to input commands with an easier syntax:
Try building Inkscape or GIMP from source on macOS and see how "multi-platform" those GTK apps feel in practice. Even when a Mac build exists, it is often skinned oddly or lags because somebody has to carry Mac patches against an old fork.
This is for the long tail. The compositor path dodges a pile of volunteer-port churn and runs the Linux build directly, which is a lot more appealing for niche GUI tools and dev apps that barely get maintained on Linux, never mind macOS.
This is exactly why most devs just surrender and ship an 800MB Electron bundle for any cross-platform tool.
I finally got sick of that tradeoff. Ported a local video processing pipeline to Tauri v2 so it just uses the native macOS webview instead of fighting GTK or bundling Chromium. By hydrating heavy dependencies (like ffmpeg) via Rust at launch, the payload dropped to 30MB and idle RAM sits under 80MB.
Leaning on the native OS renderer is the only way cross-platform doesn't feel like a bloated compromise.
I think there are many use cases for this software.
For example, you may not want to run some graphical applications directly on your Mac for security, isolation or testing purposes.
If this software turns out to be lower latency than RDP and CRD, I could also see it being very useful for accessing a remote graphical workstation (e.g.: running heavy software on an beefy machine in a data center instead of taking up resources on my skinny laptop).
I run emacs on linix in X11 mode and display on my mac with Starnet’s FastX. Been doing this since the product was released, and was a customer of their X server before that.
Native GTK apps on macOS are often more broken than running it in a VM or Parallels, in my experience. I used to use Gitg on macOS and it was a terrible experience all around.
This looks like slop? The README is full of emojis and kind of incoherent, there are no implementation details, there claims to be a Metal backend that doesn't seem to exist, etc.
This is definitely not worth using. It doesn't even say what hypervisor its using. Is it using QEMU? Docker? Podman? Lima? Colima?
And also this chart is super weird:
Solution Latency HiDPI Native Integration Setup Complexity
Cocoa-Way Low Yes Native windows Easy
XQuartz High Partial X11 quirks Medium
VNC High No Full screen Medium
VM GUI High Partial Separate window Complex
A standard VM will always be the easiest to set up by far. And latency should be the same across all 4. I mean after all it's a VM running on your local machine. Honestly I don't even know what it means when it says "Latency".
I also looked at some of the code and it's using OpenGL 3.3 Core which is... super old. But it makes sense in the context of this being LLM-generated since most of its training data is probably OpenGL 3.3 Core code....
Overall this project is very strange. It makes me feel more confident in my skills, AI isn't all that great. It's all hype. You can get to the frontpage of HN. And if you're
Peter Steinberger you can get acquired by OpenAI for a billion dollars. But that's about it. The code isn't getting any better.
This reminds me of that C-compiler-in-Rust publicity stunt by Anthropic. There's no substance. It's just a headline.
Gotcha thanks for that info. Yeah that's insane. You have to read the description of a YouTube video to understand what a project on Github is doing. There is no architecture here.
I need something like this for android, termux-x11 is a good start but if termux gets wayland support or there is a way to expose wayland sockets from the android native linux VM, the only thing missing is a native rendering compositor for a smoother experience
Now, if only macOS still had the ability to drop to a Darwin shell without a GUI at all… we could just have a nice UNIX with something like KDE or COSMIC, brew as our package manager… what a dream.
TBH, I would love to install GNU or BSD on my M4 Max Mac Studio. What I really wanted is a modern UNIX workstation. My Studio’s price/performance was the best available, so that’s what I bought. Now, I am happy with that purchase except for the constant diminution in software quality from Apple.
A matter of taste: when I use wine on Linux I prefer to confine all window to a single "real" window. In truth: I suspect that your suggestions is more work to pull off properly.
Incredibly L take.
macOS keyboard commands are great for working in the terminal since system shortcuts use a different key and don't interfere with control codes
Many of the keyboard commands are configurable in settings, complete with switching cmd and ctrl keys around.
Or you can get used in a week or two when switching, this is what I did years ago and now for me Win/Linux is confusing and find the location of the command key more ergonomic on a Mac.
agree. I guess it's a force of habit, but I am so used to the cmd+<whatever> (specially copy & paste) shortcuts, that I configured them into my linux desktop to behave the same way
Being limited to just control and alt definitely cuts down on the options. Conversely, having MacOS command key act as “super” in Emacs opens up some possibilities.
Super key for most keybinds is much nicer than windows in my opinion, where it is entirely wasted on opening the start menu. On Linux it gains a few functions based on the desktop environment but not much.
The use of the Windows key extends far beyond the start menu. Builtin functions include window management, invoking programs on the taskbar, locking the computer, invoking Explorer and Settings, invoking and controlling accessibility functions like Magnifier. The Microsoft Power Toys add a lot of functions using the Windows key by default as well, like screen snipping, screen OCR, color picking, enhanced clipboard, and many more.
My problem is that I don’t use the majority of these functions at all. Command I can use for almost everything no matter how frequent or infrequent. It also replaces most “ctrl+shift” binds which is a great plus for me.
Having a key reserved for OS level actions means you can create your own shortcuts and macros based on it without fear of it conflicting with each app shortcuts.
Since operating systems also don't change often nowadays there is also seldomly any conflicts when a new system shortcut is added.
I also love good old Meta + left click/right click drag for moving and resizing windows in linux.
You totally can, I used Karabiner-Elements to switch command (behaves like ctrl), option (behaves like alt) and control (behaves ~ like super and like control in terminal) to their usual positions. (You could do this even with bare system settings but iirc they could not switch around differently the left and right keys.)
Then I set up a few shortcuts that were different on macOS I actually used, plus a port of a Linux keyboard layout (I think the US layout mostly matches but I use a national one which differs in the AltGr layer). Surprisingly configurable for an Apple product.
Absolutely. I went through great lengths to install Asahi on my work M1, only to have most things not work (RTFM). So when one is forced to use MacOS, may it round corners in hell, for work…
As someone that switches between MacOS (dayjob) and Linux (my own PCs) workstations daily - I wish I could do the opposite for Linux. MacOS keyboard shortcuts are just way more intuitive to me, and they are way more consistent across applications.
Server-side decorations "with shadows and focus indicators" -- is it not using macOS's native window chrome? Pass... Add OpenGL instead of Metal, and hard pass.
I don’t doubt that they exist, I’m just struggling to think of a popular example.
reply