TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Convert Linux to Windows

371 点作者 pbohun大约 1 个月前

82 条评论

notfed大约 1 个月前
<i>&gt; Thesis: We should create a distro of Linux that runs Windows binaries by default via Wine.</i><p>On Debian you&#x27;re one package away:<p><pre><code> sudo apt install wine-binfmt </code></pre> Otherwise you&#x27;re still pretty close:<p><pre><code> echo &#x27;none &#x2F;proc&#x2F;sys&#x2F;fs&#x2F;binfmt_misc binfmt_misc defaults 0 0&#x27; &gt;&gt; &#x2F;etc&#x2F;fstab mount -a echo &#x27;:DOSWin:M::MZ::&#x2F;usr&#x2F;bin&#x2F;wine:&#x27; &gt; &#x2F;proc&#x2F;sys&#x2F;fs&#x2F;binfmt_misc&#x2F;register</code></pre>
评论 #43521193 未加载
评论 #43524981 未加载
评论 #43522880 未加载
coderenegade大约 1 个月前
I don&#x27;t think a new distro is needed. Most commonly used windows apps can be made to work through wine, but the hacks used to make one app work can break others and vice versa. Similarly, everyone needs to play around with settings individually to get things to work. What works on one person&#x27;s machine might not work on another&#x27;s, because there&#x27;s no consistency in, effectively, configuration.<p>The simplest solution, to me, is to just distribute containers (or some other sandbox) with wine in it, and the necessary shenanigans to get the windows program (just the one) working in the container, and just distribute that. Everyone gets the same artifact, and it always works. No more dicking around with wine settings, because it&#x27;s baked in for whatever the software is.<p>Yes, this is tremendously space inefficient, so the next step would be a way of slimming wine down for container usage.<p>The only real barrier to this system is licensing and software anti patterns. You might have to do some dark magic to install the software in the container in the first place.
评论 #43519969 未加载
评论 #43519958 未加载
评论 #43521165 未加载
评论 #43519939 未加载
评论 #43522454 未加载
评论 #43519989 未加载
评论 #43530206 未加载
feelamee大约 1 个月前
&gt; I can pull down a 20 year old exe and still run it today on Windows. Try doing the same with a Linux binary that&#x27;s just a year old. There&#x27;s no guarantee that it will be able to run based off some update that has happened<p>IMHO, you just compare two different things. Traditional method of installing apps on Windows is packing all dynamic dependencies with it. While on linux dynamic dependencies are shared between apps. So, there is nothing surprising that when you change the dependencies of the app, it stops working.<p>There are few ways to solve this and your are free to choose:<p>- distribute the same as on Windows<p>- link statically
评论 #43523437 未加载
评论 #43528342 未加载
评论 #43524985 未加载
评论 #43525951 未加载
评论 #43527879 未加载
评论 #43529064 未加载
评论 #43523338 未加载
subjectsigma大约 1 个月前
The article&#x27;s main premise isn&#x27;t bad, but it&#x27;s full of weird technical inaccuracies.<p>At certain points he talks about syscalls, libc (I&#x27;m assuming glibc), PE vs. ELF, and an &#x27;ABI&#x27;. Those are all different things, and IIUC all are fairly stable on Linux, what isn&#x27;t stable is userspace libraries such as GTK and QT. So, what are we talking about?<p>There&#x27;s also statements like this, which, I&#x27;m not a kernel developer but they sound a little to good to be true:<p>&gt; A small modification to the &quot;exec&quot; family of system calls to dispatch on executble type would allow any Linux application to fork an exec a Windows application with no effort.<p>He goes on to talk about Gatekeeper (which you can disable), Recall (which is disabled by default), and signing in with a Microsoft account (which can be easily bypassed, though he linked an article saying they might remove it). He also talks about &quot;scanning your computer for illegal files&quot;, I don&#x27;t know what this is referring to, but the only thing I could find on Google was Apple&#x27;s iCloud CSAM scanning thing. That&#x27;s not on your computer, and it got so much backlash that it was cancelled.<p>There&#x27;s plenty of stuff to criticize about these companies and their services without being dramatic, and the idea of Linux having more compatibility with Win32 via Wine isn&#x27;t bad.
评论 #43519849 未加载
petepete大约 1 个月前
Sounds like someone wants Lindows&#x2F;Linspire.<p><a href="https:&#x2F;&#x2F;www.linspirelinux.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.linspirelinux.com&#x2F;</a>
评论 #43519627 未加载
评论 #43522303 未加载
评论 #43522094 未加载
评论 #43522463 未加载
CrossVR大约 1 个月前
&gt; While the Linux syscalls themselves are very stable and reliable, the c library on top of them is not. Practically all of userland is based on libc, and therefore by proxy Linux itself has a binary compatibility problem.<p>People who primarily use Linux often forget that Windows has the exact same problem. In the case of Windows libc is distributed as part of the Visual C++ runtime. Each version of Visual Studio has its own version of the VC++ runtime and the application is expected to redistribute the version of VC++ it needs.<p>The only thing Windows does better is ensuring that they maintain backwards compatibility in libc until they release a new version of Visual Studio.
评论 #43521562 未加载
评论 #43521543 未加载
评论 #43521546 未加载
评论 #43521725 未加载
评论 #43522899 未加载
评论 #43523181 未加载
hnlmorg大约 1 个月前
This problem is related to the fact that Linux distos typically dynamically link executables and don’t retain older versions of those libraries vs Windows which does.<p>It’s on of the many reasons Windows base install is so much heavier than a typical Linux base install.<p>The reason Windows retains older versions of executables while Linux doesn’t is because Windows doesn’t have a package manager like Linux distros. Ok, there’s now Windows Store plus a recent-ish CLI tool that was based on one of the many unofficial package managers, but traditionally the way to install Windows application was via manual downloads and installs. So those installers would typically come bundled with any shared libraries they’d need and often have those shared libraries in the application directory. Leading to lots of duplication of libraries.<p>You could easily do the same thing in Linux too but there’s less of a need because Linux distribution package managers are generally really good. But some 3rd party package managers do take this kind of approach, eg Nix, Snap, etc.<p>So it’s not that Linux is “unstable” but more that people have approached the same problem on Linux in a completely different way.<p>The fact that drag-and-drop installs work on macOS demonstrates that there isn’t really a UNIX-like limitation preventing Windows-style installs. It’s more that Linux distributions prefer a different method for application installation.
评论 #43523343 未加载
评论 #43527090 未加载
teo_zero大约 1 个月前
I&#x27;ve read the article and the comments with interest. I just have a question: if Windows ABI is so stable that 20-year-old programs are guaranteed to run, why are there computers with Win95 or NT that nobody dares touching lest some specific software stops working? I see plenty of these in industrial environments, but also in public libraries, corporate databases, etc.
评论 #43523036 未加载
评论 #43525772 未加载
评论 #43522778 未加载
评论 #43524406 未加载
评论 #43523414 未加载
评论 #43524439 未加载
evanextreme大约 1 个月前
To add some validity here, I think to an extent we already see distributions aimed at converting Windows users moving in this direction. Zorin OS has Wine support for .exe&#x27;s almost out of the box, and there&#x27;s Steam OS &#x2F; Proton, where (if I recall correctly) the official guidelines for the Steam Deck state that developers should NOT create native Linux ports for new games, but rather optimize around Proton itself.
mappu大约 1 个月前
I think this attitude to the Linux ABI is maybe out of date - with a 20 year old Linux binary, that&#x27;s only 2005, so it will almost certainly be using glibc (no archaic libc5). Glibc has great backwards compatibility and the binary will work on any glibc distribution today as long as you have all the .so&#x27;s, same as needing the .dll&#x27;s on Windows.
评论 #43523256 未加载
评论 #43522474 未加载
评论 #43525016 未加载
评论 #43519570 未加载
nneonneo大约 1 个月前
FYI: a kernel patch to run exes isn’t needed. binfmt_misc can handle this, and wine-binfmt already exists to automatically run PE files through Wine.
II2II大约 1 个月前
Ask IBM how well that idea worked.<p>I think it&#x27;s fair to say that OS&#x2F;2 had better Windows compatibility (for it&#x27;s era) than Wine offers (in this era). The problem was that Microsoft introduced breaking changes with the introduction of Windows 95. While old Windows applications would continue to run under OS&#x2F;2, IBM felt that it would take too much effort to introduce a compatability layer for Windows 95. If I recall correctly, it involved limitations with how OS&#x2F;2 handled memory.<p>Besides, binary compatibity has never really been a big thing in Linux since the majority of software used is open source. It is expected to compile and link against newer libraries, but there is no real incentive for existing binaries to remain compatible. And if the software doesn&#x27;t compile against newer versions of libraries, well, Windows has similar issues.
评论 #43520670 未加载
评论 #43521111 未加载
ajross大约 1 个月前
So... this already exists. Valve already essentially sells this as a product. Folks know that, right? The Steam Deck is a linux box running wine executables as the native app environment. The fact that the money apps are all &quot;games&quot; doesn&#x27;t change the technology.
评论 #43519899 未加载
评论 #43520024 未加载
devit大约 1 个月前
That makes no sense: shipping all dependencies (e.g. shipping a container image) gives perfect binary compatibility on Linux, which is what flatpak&#x2F;snap&#x2F;appimage do.<p>It can also be achieved with static linking and by shipping all needed library and using a shell script loader that sets LD_LIBRARY_PATH.<p>Also glibc (contrary to the author&#x27;s false claims) and properly designed libraries are backwards compatible, so in principle just adding the debs&#x2F;rpms from an older Debian&#x2F;Fedora that ships the needed libraries to the packaging repositories and running apt&#x2F;dnf should work in theory, although unfortunately might not in practice due to the general incompetence of programmers and distribution maintainers.<p>Win32 is obviously not appropriate for GNU&#x2F;Linux applications, and you also have the same dependency problem here, with the same solution (ship a whole Wine prefix, or maybe ship a bunch of DLLs).
评论 #43519653 未加载
评论 #43519626 未加载
评论 #43520045 未加载
评论 #43519848 未加载
win32lover大约 1 个月前
I&#x27;m not sure why there are so many naysayers. I&#x27;ve been having the same thought ever since the initial release of the steam deck and think it&#x27;s a great idea. In my vision no trace of Linux is discoverable by the user.
999900000999大约 1 个月前
Valve&#x27;s Steam OS( and inspired distros) already basically does this. It&#x27;s centered around games, but everything else( if your lucky) is natively supported in Linux.<p>You can run non games on Proton. Most things work.
d3Xt3r大约 1 个月前
Zorin OS supports running .exes directly (via Wine of course). <a href="https:&#x2F;&#x2F;help.zorin.com&#x2F;docs&#x2F;apps-games&#x2F;windows-app-support&#x2F;" rel="nofollow">https:&#x2F;&#x2F;help.zorin.com&#x2F;docs&#x2F;apps-games&#x2F;windows-app-support&#x2F;</a>
评论 #43519662 未加载
thatjazz大约 1 个月前
&gt; I can pull down a 20 year old exe and still run it today on Windows.<p>Why, oh why, I have to deal with exe files that are not even 5 years old and don&#x27;t work on my windows laptop after update... I wish I lived in Author&#x27;s universe...
评论 #43527127 未加载
评论 #43526695 未加载
flohofwoe大约 1 个月前
&gt; In Linux, you can make system calls directly...<p>&gt; In Windows, you do not make system calls directly, Instead, you dynamically link to libraries that make the system calls for you.<p>Isn&#x27;t the actual problem the glibc shared library since the Linux syscall interface is stable? (as promised by &quot;don&#x27;t break user space&quot;) - e.g. I would expect that I can take a 20 years old Linux binary which only does syscalls and run that on a modern Linux, is that assumption wrong?<p>ABI stability for Windows system DLLs is also only one aspect, historically Microsoft has put a ton of effort into preserving backward compatibility for popular applications even if they depend on bugs in Windows that had been fixed in later Windows versions.<p>I expect that Windows is full of application specific hacks under the hood to make specific old applications work.<p>E.g. just using WINE as the desktop Linux API won&#x27;t be enough, you&#x27;ll also have to extend the &quot;don&#x27;t break user space&quot; promise from the kernel to the desktop runtime environment, even if it means &quot;bug-by-bug-compatibility&quot; with older versions.
评论 #43523171 未加载
评论 #43523009 未加载
lucasoshiro大约 1 个月前
&gt; Imagine we made a new Linux distro. This distro would provide a desktop environment that looks close enough to Windows that a Windows user could use it without training. You could install and run Windows applications exactly as you do on Windows; no extra work needed.<p>Why not use ReactOS?
评论 #43519858 未加载
评论 #43521301 未加载
评论 #43521852 未加载
评论 #43527084 未加载
评论 #43521329 未加载
hugo1789大约 1 个月前
Why so complicated? Wine is cool if you need to run an existing binary but when you&#x27;re writing your own software, why not just compile the platform independent part into a binary and make the platform dependent part a little library (open-source)?
bentt大约 1 个月前
This is a wonderful idea and could succeed if the creator could rally the right devs and users. What it really needs is Ubuntu tier branding and UX work. This has been a rarity in the Linux desktop space.<p>I am hopeful SteamOS will bring us something very similar.
评论 #43522634 未加载
foxes大约 1 个月前
20 year old games don’t work on modern windows that well at all, so that’s one counter example, so not sure where the point comes from.
评论 #43523136 未加载
评论 #43521873 未加载
jchw大约 1 个月前
First-class support for Windows applications might just become doable, if Wine continues to progress and Win32 doesn&#x27;t accelerate. There were a handful of quality of life improvements in previous Windows releases, but the biggest Win32 changes feel like they happened quite a while ago by now, and for good reason: Win32 is stable and mature. It&#x27;s still a moving target, but not by nearly as much, and even if Microsoft wanted to move it for the sake of moving it, they might find more resistance than they can completely overcome. For now, I think Wine is still not good enough to recommend people just use for everything, though. It&#x27;s incredible, but incredible doesn&#x27;t make Photoshop install.<p>However, I also think that we could &quot;solve&quot; a lot of the compatibility problems.<p>There are tons of old Linux binaries that don&#x27;t work anymore. But... They <i>could</i>. A lot of old binaries, surely the vast majority, could absolutely run on a modern kernel. The problem is the userspace. The binaries themselves contain oodles of information that could be used to figure out what they need to run, it&#x27;s just that there&#x27;s nothing in place to try to make sure that stuff is available.<p>I really believe we could make it possible for a distro, out of the box, to make old binaries &quot;just work&quot;, double-click and run. Want to install an old game from an .rpm or .deb you have? The system could identify what base OS that is and install it into it&#x27;s own chroot with its dependencies, then create desktop icons for it. Execution failures? Missing libraries? Xlib errors? Let&#x27;s have a graphical error message with actionable help.<p>Well, it <i>could</i> be done, anyway. If you wanted to follow the spirit of Windows here, it would be the right thing to do, and it&#x27;d help users who found a thing that says it supports &quot;Linux&quot; run that thing the way they would hope and expect it to run. Will it actually happen? Not unless someone makes it happen, and convinces distros, desktops and all other stakeholders it&#x27;s worth shipping, then maintains and improves it going forward. It&#x27;s a bit depressing when you realize that the technical part of implementing this is basically the least challenging part, at least for a proof of concept.
t43562大约 1 个月前
Dancing to a proprietary tune is risky - they can decide to change the API or go after you with lawsuits if it becomes too competitive.<p>You can provide backwards compatibility in Linux - you can keep old versions of libraries installed. The more commercial distros do this to a greater degree. It&#x27;s roughly what windows is doing to achieve the same result.<p>It&#x27;s just a cost to arrange and since most distros aren&#x27;t making billions in licensing they choose not to pay it.<p>Obviously I have nothing against a wine-focused distro but I wouldn&#x27;t myself waste a fraction of a second writing code against the windows API by choice.
Levitating大约 1 个月前
The suckless project gave us stali linux, a statically compiled linux distribution.<p>Doesn&#x27;t static compilation solve quite a few of the problems states here?<p><a href="https:&#x2F;&#x2F;sta.li&#x2F;" rel="nofollow">https:&#x2F;&#x2F;sta.li&#x2F;</a>
评论 #43520988 未加载
cyp0633大约 1 个月前
I still can&#x27;t get MS Office 365 working on Linux over Wine, while no alternatives make me comfortable. Comparing Linux and Win32 ABI on Linux is nonsense without talking about Wine compatibility.
评论 #43521780 未加载
1970-01-01大约 1 个月前
&gt;Imagine we made a new Linux distro<p>Imagine we made a new shade of brown<p>Seriously, this is the most cliché thing you could do with Linux.
delusional大约 1 个月前
&gt; We also already have a simple way to run Windows applications, Wine.<p>Are you high? There is nothing simple about Wine. It&#x27;s at once a kludgy mess and a technical masterpiece, what it isn&#x27;t is simple.
评论 #43519954 未加载
评论 #43519715 未加载
marcodiego大约 1 个月前
&gt; Try doing the same with a Linux binary that&#x27;s just a year old.<p>AppImages are very close to fixing this. I&#x27;m not sure if it is already solved or very close to.
评论 #43523788 未加载
nunobrito大约 1 个月前
He is not wrong. My software compiled with Borland Delphi 1.0 works beautifully with Wine under Linux and works just good as well under Windows.<p>I&#x27;m saying this as Java developer. Delphi eventually proved itself to be the true &quot;compile once, run everywhere&quot;. Can imagine others who wrote executables for Windows before the .NET times can relate to similar experiences.
a3w大约 1 个月前
&gt; I can pull down a 20 year old exe and still run it today on Windows<p>Barely - most bigger programs did not adhere to all standards, but got custom fixes under the hood in follow-up windows versions.<p>Also, around 2001 was the big architectural change for desktop from DOS to NT, so this might seem like cherry-picking the timeframe selected.
评论 #43533981 未加载
nurettin大约 1 个月前
&gt; Try doing the same with a Linux binary that&#x27;s just a year old.<p>I do that all the time. Just link to a static glibc or musl.
评论 #43525454 未加载
评论 #43525039 未加载
alphazard大约 1 个月前
&gt; While the Linux syscalls themselves are very stable and reliable, the c library on top of them is not.<p>Maybe just don&#x27;t use that library then? Or don&#x27;t do that ridiculous thing where you fumble around at runtime desperately looking for executable pages that should just be included in your binary.
评论 #43522099 未加载
graemep大约 1 个月前
There are multiple distros that make it very easy - as in download a .exe or .msi and click on it: <a href="https:&#x2F;&#x2F;help.zorin.com&#x2F;docs&#x2F;apps-games&#x2F;windows-app-support&#x2F;" rel="nofollow">https:&#x2F;&#x2F;help.zorin.com&#x2F;docs&#x2F;apps-games&#x2F;windows-app-support&#x2F;</a><p>Some of these have a long history: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Linspire" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Linspire</a><p>They have never been all that successful.<p>I suspect there is not enough overlap between people who want to use Linux and people who need to run Windows apps that badly for it to be viable.<p>The biggest problem is games, and even with Steam&#x27;s best efforts not all Windows games will run on Linux, AFAIK.
xtracto大约 1 个月前
I want the opposite: id like a way to run the windows kernel, drivers and most low level OS stuff by windows, but with a Linux user Interface: Cinammon, apt and all the debian stuff.<p>I run Mint as my main OS, but hardware compatibility is still a headache in Linux for me.
评论 #43524584 未加载
评论 #43520246 未加载
评论 #43522408 未加载
评论 #43522672 未加载
DeathArrow大约 1 个月前
This is a wonderful idea. I have some doubts, though. It might not provide a seamless experience.<p>Just transforming Windows syscalls into Linux syscalls is not enough. There should be some form of emulation involved.<p>Many apps, like games are using hardware, that means some additional layers of emulation.<p>&gt;Imagine we made a new Linux distro. This distro would provide a desktop environment that looks close enough to Windows that a Windows user could use it without training. You could install and run Windows applications exactly as you do on Windows; no extra work needed.<p>I a rough user experience, some loss of performance and many bugs.<p>But I hope I am wrong, because the idea sounds really promising.
James_K大约 1 个月前
Java already solved this problem, for the most part. This whole ABI nonsense really grinds my gears. It&#x27;s essentially just a result of the silly decision to compile software into dubious blobs and ship those to users. You could get rid of an awful lot of malware and massively simplify software distribution if you were to distribute a platform agnostic intermediary representation of source code that preserves enough semantic meaning to eliminate ABI issues, then leaves the last step of compilation to the operating system. Shipping binary files is just plain bad in every way.
评论 #43520805 未加载
评论 #43522273 未加载
评论 #43520782 未加载
评论 #43521008 未加载
评论 #43522656 未加载
评论 #43520773 未加载
quotemstr大约 1 个月前
&gt; In Windows, you do not make system calls directly. Instead, you dynamically link to libraries that make the system calls for you. This allows Microsoft to do all sorts of shenanigans at the kernal level while providing a stable API to userspace. This little stroke of genius allows us to have both Linux and Windows on the same machine at the same time.<p>Precisely correct. Linux should never have allowed system calls from outside libc or a big vdso.
DeathArrow大约 1 个月前
I wouldn&#x27;t be surprised if Microsoft does something to that effect in the future. Have Win 32 as a layer on top of Linux.<p>They seem to not be interested in locking the hardware and they don&#x27;t make much money from selling Windows and it shows. There aren&#x27;t many strong improvements in Windows and it feels like Windows is a platform they use to sell other stuff they make money with - they are with Windows in a similar position Google is with Android.
amelius大约 1 个月前
&gt; While the Linux syscalls themselves are very stable and reliable, the c library on top of them is not. Practically all of userland is based on libc, and therefore by proxy Linux itself has a binary compatibility problem.<p>Can&#x27;t we freeze the functionality of libc? Why does it need to be updated so frequently?<p>And even if we make changes to its implementation, why do we need to bump the version number if the underlying API is still the same?
kazinator大约 1 个月前
&gt; <i>I can pull down a 20 year old exe and still run it today on Windows.</i><p>Sure, but for how much longer will Microsoft allow this unsigned ancient binary?<p>Using Linux for runing Windows programs is going to be desperately needed as Microsoft enshittifies Windows going forward.
评论 #43520904 未加载
shmerl大约 1 个月前
By the way, Wine is more stable than Windows itself in supporting older Windows ABIs.<p>Someone should develop an analog for Linux itself. I.e. support for older &#x2F; historic ABIs that would be translated into whatever modern Linux has.<p>Some isolated example of that is SDL 1.x translated to SDL 2.<p>Wine itself already exists, you don&#x27;t need to develop any new distro for running Windows programs on Linux. Just improve Wine if anything is missing.
评论 #43522577 未加载
artemonster大约 1 个月前
&gt; &quot;In Windows, you do not make system calls directly. Instead, you dynamically link to libraries that make the system calls for you. This allows Microsoft to do all sorts of shenanigans at the kernal level while providing a stable API to userspace.&quot;<p>Or, in other words, &quot;We can solve any problem by introducing an extra level of indirection.&quot;
pizlonator大约 1 个月前
Seems like it would be easier to identify and fix cases of ABI compat breakage in the Linux userland than to convert Linux to Windows.
评论 #43519877 未加载
评论 #43522757 未加载
blueflow大约 1 个月前
&gt; There&#x27;s also no guarantee that a binary produced today on Linux will even work on the various distributions of Linux today due to the same installed library version problem.<p>On Linux, you are supposed to share the source code, not the binaries. FOSS source is easier to fix than a binary blob. This is why the FSF exists.
评论 #43527050 未加载
adham-omran大约 1 个月前
It is not just _running_ things that&#x27;s the problem, authentication and authorization are massive, I&#x27;ve attempted to run various Audio plugins with Wine which either do not run at all or they run on a one-time basis which is not feasible for any long term setup. Oh if only you could run them under a vm..
pkulak大约 1 个月前
How much more of this opinion should I read when it’s established in the third paragraph that the author doesn’t realize that AppImage does not bundle a libc? Flatpaks do, and Snaps are a closed system that bundles _Ubuntu_, so really the answer is Flatpaks. And the rest of the world has also come to that conclusion.
tex0大约 1 个月前
That is pretty much what I&#x27;m doing with Steam, Proton and my Game Library. 99% the time it works just great.
评论 #43522725 未加载
评论 #43523083 未加载
vednig大约 1 个月前
Thank you for writing these thoughts.<p>I&#x27;ve also reached a similar conclusion while building ZeeeroOS from scratch.<p>There&#x27;s also Fat binaries(arch independent) that should be considered but no one does when building for Linux.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;zeeeroos" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zeeeroos</a>
DrNosferatu大约 1 个月前
A major problem is that Microsoft fundamentally torpedoed Wine by blocking MsOffice compatibility with Wine for quite a while now.<p>(ie.: only fairly old versions of MsOffice work on Wine)
DeathArrow大约 1 个月前
Every year or two I check the status of ReactOS hoping that some day I will have a good alternative to Windows. After checking the project status today, it seems that day is still far off.
DeathArrow大约 1 个月前
Is there a Wine like library that helps running macOS apps on Linux?
评论 #43522467 未加载
评论 #43522540 未加载
0xDEAFBEAD大约 1 个月前
How about packaging Linux apps as Windows apps so they can take advantage of the stability of the Win32 ABI? Is there a way to do this automatically, possibly using AI?
darkwater大约 1 个月前
Everybody is commenting on possible implementations or how similar solutions already exist. I would like to focus on an overlooked but very important fact: most of the important software in the Linux ecosystem is <i>opensource</i>. Yeah, the ELF binary from 20 or 25 years ago might not run anymore out of the box but you have the source code, access to the whole history of source code of needed libraries. It will for sure not be a 0-effort adventure and it will not work with proprietary and closed source software, but it&#x27;s doable for most of Linux old abandoned software.
avodonosov大约 1 个月前
&quot;The Looming Future&quot; chapter of the article. I didn&#x27;t know all those hortiboe things are planned.
pjmlp大约 1 个月前
Adopt GNU&#x2F;Windows, problem solved.
neiesc大约 1 个月前
I sugest <a href="https:&#x2F;&#x2F;archcraft.io" rel="nofollow">https:&#x2F;&#x2F;archcraft.io</a>
throwaway48476大约 1 个月前
Virtualization works far better than wine. Just copy the window frame buffer to the linux host.
评论 #43525482 未加载
jabedude大约 1 个月前
&gt; MacOS has a feature called Gatekeeper, which limits what software you can run on your Mac to only those applications that Apple approves<p>This is a lie. Gatekeeper in no way limits the software you can run. It presents an easier experience to launch software downloaded from a browser if the developer chose to submit it to apple for a malware scan.
James_K大约 1 个月前
Surely one could design a library in Linux which makes syscalls and dynamically link to it.
Asooka大约 1 个月前
I have had the same idea for a while, honestly. Yeah you can install wine and binfmt_misc, but it doesn&#x27;t come by default. It should be the default. Nobody should be distributing binary Linux applications in this day and age, especially not for the desktop. Win32 is just so much better designed from the ground up for desktop apps, it&#x27;s not even funny. As a simple example - a Win32 .exe has an icon to tell the user immediately what it is, but Linux apps need a ton of hacks and extra files (wtf is a .desktop) which can get out of sync at the drop of a hat. Also the ABI is indeed stable. You don&#x27;t have to worry about the graphics and audio APIs disappearing etc.<p>Like just for the audio stack we had: OSS is deprecated so use ALSA actually direct ALSA device access is deprecated use this special ALSA config with a bunch of plugins actually directly calling ALSA is deprecated use aRts actually aRts only works on KDE use ESD actually ESD is deprecated use pulseaudio actually pulseaudio uses too much CPU rewrite everything to use JACK actually JACK is only for audio workstations go back to pulseaudio actually pulseaudio is deprecated switch to pipewire... I am pretty sure in 6 months I will be reading how pipewire is deprecated and the new definitely final form of the Linux audio stack will be emerging (written in a combination of Rust and Emacs Lisp).<p>In short, Linux binary compatibility is a clownshow and the OS itself isn&#x27;t engineered for developing graphical desktop applications. We should stop pretending it is and compile everything user-facing for Win32 ABI, with maybe a tiny extension here and there.
DrNosferatu大约 1 个月前
Doesn’t Zorin Linux already sort of does this?
caspper69大约 1 个月前
I have points to burn, so I&#x27;ll post, because I <i>know</i> this will scratch some folks the wrong way- apologies in advance.<p>I use Windows. In fact, I <i>like</i> Windows. I know lots of (ok, more than 5) greybeards who feel exactly the same way. I don&#x27;t want Linux to be Windows, but I also don&#x27;t want Linux on my personal desktop either.<p>I have a Mac Mini M1 on my desk, and I use that for the things it&#x27;s good for, mainly videoconferencing. It&#x27;s also my secondary Adobe Creative Suite machine.<p>On my Win11 desktop, I have WSL2 with Ubuntu 24.04 for the things it is good for- currently that&#x27;s Python, SageMath, CUDA, and ffmpeg. For my Unix fix, I use Git Bash (MSYS2) for my &quot;common, everyday Unix-isms&quot; on Windows.<p>I also use PowerShell and Windows Scripting on my box when I need to.<p>Why? Well, firstly, it&#x27;s easy and I&#x27;ve got stuff to do. Secondly, cost is not really an issue- I bought my Windows Pro license back with Win7, and it was about $180. That was maybe 15 years ago. They have graciously upgraded me at every step- Win7 -&gt; Win10 -&gt; Win11, all at no cost. Even if I had had to buy it, my Taco Bell tab is higher in any given month than a Windows license (love that inflation).<p>Why else? Everything works. I get no annoying popups, and I really no longer sweat garbage living on my drive, because that ship has sailed; wanna waste 50GB? Sure, go ahead.<p>But the most important reason? My hardware is supported. My monitors look great; printers, scanners, mice and USB drives &amp; keys all work. In fact, &gt;90% of the time, everything just works. Further, I can share effortlessly with my Mac, all my Linux servers speak SMB (CIFS), Wireshark works, and my programs are all supported including most open source software. And I <i>do</i> run apps that are 20+ years old from time to time.<p>Truth be told, I have tried the dance of daily driving Linux, and it&#x27;s a laundry list of explanations to others why my stuff is <i>different</i> or deficient in some way. The kicker is that my clients don&#x27;t care about purity or coolness factors.<p>Linux has its place. But please don&#x27;t put in on my main machine, and please don&#x27;t give it to my family members. They&#x27;re only being nice by living with a sub-par desktop experience. It will always take a herculean effort to stay on par with Windows or MacOS, and no one really wants to put their money where their mouth is.<p>Please don&#x27;t misunderstand. I admire and respect authors of open source software, and my servers thank them. But being a contrarian and dogfooding what KDE and GNOME put out, fighting with Nvidia and AMD, dealing with constant driver interface changes, and not having proper commercial software support is not my idea of fun. It <i>was</i> 30 years ago. Today? I&#x27;d rather hang with my daughter or write some code.<p>These distros have had 35 years. I don&#x27;t know what else to say.
评论 #43522740 未加载
评论 #43525153 未加载
评论 #43522207 未加载
评论 #43522461 未加载
评论 #43521908 未加载
Perenti大约 1 个月前
Both Corel and Lindows tried this 25 years ago. People did not like it.
评论 #43522685 未加载
评论 #43523128 未加载
prkl大约 1 个月前
Or just statically compile all binaries like a (useful) madman
feverzsj大约 1 个月前
Wine&#x2F;Proton is basically Linux Subsystem for Windows.
评论 #43522415 未加载
nxobject大约 1 个月前
A reverse OS X&#x2F;Classic transition, if you will…
leni536大约 1 个月前
How often does glibc introduce a breaking change?
notorandit大约 1 个月前
&gt; I can pull down a 20 year old exe and still run it today on Windows. Try doing the same with a Linux binary that&#x27;s just a year old.<p>How this can be considered a good thing?
评论 #43522746 未加载
zoezoezoezoe大约 1 个月前
&gt; Try doing the same with a Linux binary that&#x27;s just a year old. There&#x27;s no guarantee that it will be able to run based off some update that has happened.<p>What?? I&#x27;ve used Linux for quite a while, and I&#x27;ve had a very good experience with software. I struggle to follow what they&#x27;re talking about, Linux works just fine. Using Windows software is also pretty easy and like many people have already mentioned wine-binfmt is basically what this article is describing.
gmuslera大约 1 个月前
He is missing the point. Flatpak&#x2F;Snap are not just an alternative way to ship binaries. They are way to isolate applications and what they can do. Landscape has moved from protecting the system or an user from another to protect the same user applications and their data from each other, specially for desktop environments. That is not even in the map for Windows, its security model and its applications. It is a big jump backwards.
评论 #43520146 未加载
评论 #43520636 未加载
评论 #43522065 未加载
adamtaylor_13大约 1 个月前
People always talk about this “I can run a 20 year .exe file” situation but when I tell you that I have never, in 30+ years, EVER had a need to run a 20+ year executable, it just makes me go… yeah, and?<p>Sure I believe backwards compatibility is a nice to have feature, but I have never, nor do I think I will ever, have a need to run 20-year-old software.
评论 #43520298 未加载
评论 #43526916 未加载
评论 #43521405 未加载
评论 #43522835 未加载
评论 #43526545 未加载
worthless-trash大约 1 个月前
The shitty thing is, this just encourages closed source software on the open platform, giving vendors another reason not to port natively.<p>Good luck with the hellscape you&#x27;re building.
评论 #43522753 未加载
frackintoaster大约 1 个月前
<a href="https:&#x2F;&#x2F;xkcd.com&#x2F;927&#x2F;" rel="nofollow">https:&#x2F;&#x2F;xkcd.com&#x2F;927&#x2F;</a>
timeon大约 1 个月前
Three days early?
mrbluecoat大约 1 个月前
&gt; The Linux Environment is Unstable<p>How many missiles do you know that run Windows?
评论 #43521006 未加载
timewizard大约 1 个月前
&gt; Try doing the same with a Linux binary that&#x27;s just a year old.<p>I do it all the time. Works fine. Do you have a specific example or is this just a hastily constructed strawman?
ranger_danger大约 1 个月前
&gt; NOTE: I am not against Apple or Microsoft. They have amazing engineers! I don&#x27;t think they&#x27;re being malicious. Rather, I think the incentives for these companies are improperly aligned.<p>Improperly aligned incentives? Who gets to say what that is?<p>Is it &quot;improper&quot; to maximize profit per their own board&#x27;s guidelines?<p>I have a feeling OP has some predefined notion of nobility they expect people to somehow operate under.
评论 #43519766 未加载
评论 #43519557 未加载
评论 #43604024 未加载
pdonis大约 1 个月前
To the extent binary distribution is &quot;unstable&quot; on Linux, it&#x27;s because users aren&#x27;t expected to just download random binaries from wherever, as is normal on Windows (and Mac, for that matter). Users are expected to either obtain binaries from their distro, or compile them from source. In either case, all of the issues about binary distribution being &quot;unstable&quot; are invisible to users. Which is the point. People who want the broken Windows software model can just..run Windows. The last thing any sane Linux user wants is to make Linux into Windows. I run Linux to <i>avoid</i> Windows.
评论 #43521032 未加载
评论 #43521315 未加载
评论 #43520818 未加载
评论 #43521161 未加载
评论 #43522761 未加载
评论 #43520402 未加载
olddustytrail大约 1 个月前
&gt; Thesis: We should create a distro of Linux that runs Windows binaries by default via Wine.<p>&quot;We should&quot;? Do you mean me? I have a ton of my own projects I&#x27;m busy with.<p>Why didn&#x27;t you say &quot;I should create...&quot;? There&#x27;s nothing stopping you implementing this if you think it&#x27;s a good idea. Do the work yourself.
评论 #43519801 未加载
magackame大约 1 个月前
What&#x27;s up with all this &quot;My 20 year old software still works!!!&quot;. Who actually runs unmaintained abandonware? I would rather prefer OS devs not wasting time maintaining legacy cruft and evolve with the times.
评论 #43522996 未加载
评论 #43522097 未加载
评论 #43520476 未加载
评论 #43520515 未加载
评论 #43520534 未加载
评论 #43520511 未加载
评论 #43520654 未加载