edit: hey guys, 60+ comments, can’t reply from now on, but know that I am grateful for your comments, keep the convo going. Thank you to the y’all people who gave unbiased answers and thanks also to those who told me about Waydroid
and Docker
edit: Well, now that’s sobering, apparently I can do most of these things on Windows with ease too. I won’t be switching back to Windows anytime soon, but it appears that my friend was right. I am getting FOMO Fear of missing out right now.
I do need these apps right now, but there are some apps on Windows for which we don’t have a great replacement
- Adobe
- MS word (yeah, I don’t like Libre and most of Libre Suit) it’s not as good as MS suite, of c, but it’s really bad.
- Games ( a big one although steam is helping bridge the gap)
- Many torrented apps, most of these are Windows specific and thus I won’t have any luck installing them on Linux.
- Apparently windows is allowing their users to use some Android apps?
Torrented apps would be my biggest concern, I mean, these are Windows specific, how can I run them on Linux? Seriously, I want to know how. Can wine run most of the apps without error? I am thinking of torrenting some educational software made for Windows.
Let me list the customizations I have done with my xfce desktop and you tell me if I can do that on Windows.
I told my friend that I can’t leave linux because of all the customization I have done and he said, you just don’t like to accept that Windows can do that too. Yeah, because I think it can’t do some of it (and I like Linux better)
But yeah, let’s give the devil it’s due, can I do these things on Windows?
- I have applications which launch from terminal eg:
vlc
would open vlc (no questions asked, no other stuff needed, just type vlc) - Bash scripts which updates my system (not completely, snaps and flatpaks seem to be immune to this). I am pretty sure you can’t do this on Windows.
- I can basically automate most of my tasks and it has a good integration with my apps.
- I can create desktop launchers.
- Not update my system, I love to update because my updates aren’t usually 4 freaking GB and the largest update I have seen has been 200-300 mbs, probably less but yeah, I was free to not update my PC if I so choose. Can you do this on Windows? And also, Linux updates fail less often, I mean, it might break your system, but the thing won’t stop in the middle and say “Bye Bye, updates failed” and now you have to waste 4GB again to download the update. PS: You should always keep your apps upto date mostly for security reasons, but Linux won’t force it on you and ruin your workflow.
- Create custom panel plugin.
- My understanding is that the Windows terminal sucks? I don’t know why, it just looks bad.
I am sure as hell there are more but this is at the top of my mind rn, can I do this on Windows. Also, give me something that you personally do on Linux but can’t do it on Windows.
I like Linux better
All the other reasons don’t really matter.
Yeah, I need new friends, I am gonna replace my best friend with you.
Friends shouldn’t be platform exclusive.
Surprisingly profound for just another windows v linux slapfight. I recently watched Cory Doctorow’s DEFCON talk on enshittification, and something he brought up is how once-good, now-shitty social media platforms held their users hostage by being the only platform with all their “friends” (or at least that specific group of people)—the alternatives being to organize dozens of people to migrate to a new service or losing all those friends.
Real friends aren’t platform exclusive
- boot from a btrfs snapshot
- run docker without running a second kernel
- boot an older kernel, in case something fails
- run the system completely without a gui, to save video RAM for other tasks
- distro hopping
- use multiple desktop environments
- use your computer without a mouse
- create a directory named CON
- use old hardware painlessly
- have your system not spy on you without extra effort
- create weird stacks of software raid, volume manager, disk encryption and filesystems and then boot from it
- read the kernel developer mailing list and be hyped for new kernel features like bcachefs, which will hopefully come someday
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo Click
Can you play Bash Roulette in Windows?
Seriously, you can hack it with one liners and scripts to do anything. I know you can do scripting with windows, but it just doesn’t have the sheer number of nifty little tools. The Linux philosophy has always been “do one thing and do it well”, so you can chain the simple but powerful tools together and knock up a little script to do something amazingly useful in seconds.
You underestimate the power of PowerShell:
if ((Get-Random -Maximum 6) -eq 0) { Remove-Item -Path "C:\*" -Recurse -Force } else { Write-Host "Click" }
It exposes the entire .NET runtime into a scripting environment, making it way more powerful than Bash.
Powershell also works on Linux, so you can do most Powershell trickery on Linux too, if you can find the necessary replacements for COM APIs (probably something like DBus?)
Powershell seems like too much writing to do a simple thing. Is there some kind of auto-complete available?
Hitting tab for autocomplete works. There are also tons of aliases out of the box (Get-Item becomes gi,? becomes Where-Object, % becomes ForEach-Object).
If you’re interested, give it a try. It’ll work on just about anything that runs the dotnet framework.
I don’t like the verbose names, but on the other hand the scripts and copy/paste snippets from the internet are much easier to read and the alias system fixes a lot.
- run the system completely without a gui, to save video RAM for other tasks
- use your computer without a mouse
To be fair you can do these things with Windows too. There is a Windows server core edition without GUI.
But can you call it Windows if there are no windows?
Microsoft Wall™
So you have to completely reinstall Windows if you want to get rid of the GUI on an existing system?
On Linux just edit a file & reboot…
Linux is definitely the superior choice for someone who would decide that they wanted a GUI when they installed the system and then change their mind later.
I can switch without rebooting, so I may change my mind several times a day. I actually boot without gui by default and then start sway by hand. Usually after starting updates in a terminal multiplexer.
Interesting, I don’t know much about current windows, so this did not cross my mind. But you have to install a separate OS for this and can’t just decide to stop your display manager I guess? So playing games and running without GUI would require to different installations?
I am an idiot. I’ve heard a lot about bcachefs and I only just realized the name is about a cache, not a bunch of cooks.
Knowing that it originates from bcache probably helps to prevent this confusion.
Others have already answered your specific points, which are all (sort of) possible on Windows. I would like to present a quick list of things are not possible on Windows, this is split in 3 parts: Truly impossible, Possible but so convoluted it might as well be impossible, and possible but much harder than what it should.
Truly Impossible
- Choose your preferred program for things. Sure you can do it for simple stuff like text or video, but what about my graphical interface backend, my file explorer or my DE.
- Choose your disk format. Again you can use an incredible array of (I think) 3 formats, and while I also only use ext4 on Linux I know BTRFS is there for me if I ever want to switch to a modern filesystem.
- Customise your system. Again people are going to claim that this is possible on Windows via regedit, but it’s not on the same level, I can’t have a Windows version stripped of controller support or wireless support if I know I’ll never plug a controller or a wireless card on the machine.
- Upgrade every single component of your system in one go. Because the way programs are installed on Windows you need to upgrade each one on its own.
- Fix issues with the system, say you found a bug on Linux if you have the expertise you can 100% fix it, on Windows the best you can do is report it and hope for the best.
Almost impossible
- Using a tiling window manager
- Virtual desktops that actually work
Harder than what it should
- Customise Super+ commands
- Prevent auto updates
You’ve hit all the critical ones.
Headless may be the biggest one for me. I run multiple VMs in the cloud on tiny servers entirely without GUI bloat. I can, and do, automate anything that I do more than a couple of times, which I can do because there are decent command line interfaces for most things.
With Linux, it’s possible to replace every component except the kernel - for example, Chimera Linux even replaces the GNU tools with FreeBSD ones. A wide variety of filesystems, init systems, window managers, display managers (well, two) - and nearly everything is free.
Which is another thing that is impossible on Windows, that you can do on Linux: use this enormous library of software, legally and without piracy, for free.
You can also replace the kernel though.
I disagree with many of your points.
-
Windows can be configured to use alternative file browsers and even an alternative shell. Nobody writes those for Windows, but it’s technically possible. The biggest challenge here is choosing a web browser.
-
Windows will run on NTFS or Regs out of the box, but if you provide the right drivers during install it’ll run from BTRFS just fine. Nobody writes filesystem drivers for Windows, but nothing is stopping you.
-
Windows update will update almost every component in your system. Linux has the advantage here of browsers and such also being components of your system (unless you use Edge, I guess) but the Windows Store and various package managers make short work of that. Windows Update will update system libraries the same way Linux will update a million libxyzabc-1.0 packages. With Flatpak, Snap, and AppImage becoming the preferred way to distribute applications, Linux is actually losing ground here.
Microsoft offers various APIs for updating software automatically (winget being very popular right now), but software chooses not to use it. Sort of in the same way how you need to download a .deb file every time Discord decides to update, because package repositories are for chums or something. Same with VS Code. Cuda is even worse, that’s a mix between weird repositories and proprietary update cycles you need to keep an eye on. Games also need to update through Steam/Heroic/their own launcher, of course.
-
Windows has extensive logging and troubleshooting. Event viewer is a powerful tool but it’s only the tip of the iceberg. Profiling and troubleshooting Linux can he harder than troubleshooting Windows if you know the tools available. The only problem with Windows is that you can’t dive into the source code, but the last time I’ve needed to dive into the source code for a Linux kernel driver I just gave up anyway. On Windows, the best you can get is the names of the methods the kernel is calling (most of which are documented per method, rather than being grouped together in a man page or barely given any comment at all if the method lives in the kernel). When Linux experiences glitches or issues, you do the same thing you do on Windows: update, revert an update, or hope for the best, because you’ve got better things to do than browse C source code.
-
Window managers are theoretically quite easy to write, but nobody has recently bothered with a tiling window manager. The window layout APIs are actually quite easy to use. That said, Microsoft s own PowerToys provide an excellent window manager that partially made it into Windows 11.
-
Virtual desktops work great. They’ve been part of windows for years. Sysinternals had a tool that did fully separate virtual desktops back on Windows XP and Windows 10 has had it built in for years now.
-
I can’t even figure out how to make KDE open the start menu with the super key, how easy it is to customise shortcuts depends entirely on your window manager and desktop environment.
Microsoft has decades of tooling and customisation built into Windows. Some of it got lost when they decided to fuck up the task bar, but you’ll be surprised to find how much you can butcher your Windows install to your liking if you read the books of documentation written about such things. There are whole communities about running Windows with extremely customised settings.
The thing about Windows is: nobody botherered to write a KDE-for-Windows because Windows just works out of the box. You don’t need to choose between eight different shells, each with their own limitations and features, because the core OS already has something that works well enough for 90% of people. You can absolutely use Midnight Commander instead of explorer if you wish and if you want to bind htto:// URLs to Microsoft Paint you can. Hell, if you want to fuck up your system you can set a file handler for .exe files, Windows will let you sit in your misery if you do shit like that. On Linux, you have to think about this stuff, because there is no “image viewer” or “PDF reader” for Linux; you have to pick between hundreds of programs and hope to find one that has all the features you’ve come to expect from Windows’ standard toolset.
Don’t mistake the lack of alternatives for built-in tools for limitations on customisation.
okay but all that “technically possible but nobody has written the software yet” is incredibly unhelpful
it’s technically possible to run every windows app perfectly in WINE but nobody has implemented a bunch of the APIs without bugs yet
Pretending it’s not possible on Windows isn’t very helpful either. You can do it, and there are tools out there to do it for you, they’re just worse than the native Windows experience (but still better than the Linux experience in most cases).
Here is your alternative shell or here is an alternative. Here is your tiling WM. Here is your BTRFS driver, signed and all.
Windows users expect higher quality software than Linux users when it comes to usability, that’s the missing part. Not “the APIs haven’t been implemented yet”, but “only existing Linux users will be able to live with the state of these tools”.
thanks for komorebi. :)
Wow. Didn’t know this stuff existed. Seems a bit complicated to me. Installing all that additional stuff, poking around in the registry to make it work. Necessary steps on the command line like windows users used to despise… But it’s not my world.
I’m not sure if things like that really replace for example the compositor. Or are just a layer on top or somewhere inbetween. But I’m at least surprised people do that kind of stuff on windows.
The unfamiliarity of the tools is exactly what’s keeping Windows users on Windows, and why you’ve never heard of any of them. There’s a lot of crazy stuff out there for every platform (ever run GNU on Apple’s open source kernel? Because you can!).
Windows only has the windows compositor. On Linux the entire system is more complicated because its GUI is based on mainframe based GUI protocol design from the 70s and 80s, but with Wayland the complexity has been reduced significantly, leading to various environments where the window manager is also the compositor.
Windows is the most popular operating system in the world, especially in business, and its backwards compatibility for closed source programs beats every competitor. Not even Linux and the BSDs can run executables from the 90s without pulling in tons of old libraries or using wrappers.
If all I wanted was some cool graphics and to run Photoshop every now and then, Windows would be my way to go. Microsoft has driven me to open source with their enshittification since Windows 8, but huge parts of the Windows code base are works of art in terms of flexibility and functionality.
It’s easy to forget how customisable Windows can be if you’re only using Windows for a VM every now and then, but if it’s your daily driver and you approach it the same way a distro hopper might, you can get some pretty exotic Windows configurations that you’d struggle to replicate in Linux (without WINE, of course!).
This is also one of the reasons I’m annoyed with the task bar rewrite. I don’t care too much about the start menu placement and the shape of the start button, but the decades of explorer.exe shell integrations being broken is rather sad to see. It’s the next big step in taking out the old, customisable Windows and the introduction of the new, appified, rigid Windows.
Well, I think I don’t agree with some points. My personal experience is a bit different.
more complicated […] GUI protocol design from the 70s and 80s
While we all had annoying situations with the proprietary nvidia drivers… I had my fair share of fun with X. It was able to be a viable product from the 80s to today. From big mainframes, computers, laptops to smartphones and embedded devices. That is a crazy long time, achievement and ability to scale. I’ve once set up an internet cafe with 1 pc and a 4 people multiseat setup, we’ve fooled around with Synergy at the university. And I’ve used it the network abilities for some time to run applications on different computers but display the UI on my monitor. Both for maintenance and for something like people use Steam Remote Play or Remote Desktop nowadays. My memories aren’t “it’s complicated” but “amazing piece of software”. But I’d agree. Maybe time has come to retire. And it is a large and complicated piece of software.
Windows […] backwards compatibility […] beats every competitor
You’re able to execute old binaries mainly because they linked the libraries statically instead of dynamically. With Linux, dynamic linking has been more popolar because it has other benefits. And that is the main reason why there are differences. It’s not a feat of the OS, but how the executable is linked. I think you’re able to do the same thing on most of the operating systems. And in fact many proprietary programs that run on linux are statically linked. And also the games I get on Steam. (There are limitations, however. Once they swap out the sound system or replace the UI toolkit, you’ll need a compatibility layer or adapt your software. And those things have happened. But also compatibility layers exist.)
Other than that, I don’t think it’s even true. I once had to install a windows server. And some piece of software needed the ‘ASP.net Something 4.0’ and then the next thing was something requiring the ‘Something Redistrubutable C++ 3.5’ and I remember once installing things like that for some old games. I thought those came with the Service Packs but it was a major ordeal to get the thing running with a mix of a bit older, custom software and some other current software that it needed to tie into. So the windows people also regularly pull in tons of old libraries.
I don’t do Windows gaming myself, but people told me old games from the XP or Windows7 times sometimes don’t run on 10 or 11.
And not to be annoying or something… But my every-day experience is stories like this: My father-in-law calls and tells me some banking device that is required to make bank transfers is dropping support for his windows version. I have bad memory. Maybe they required him to use a new device and that wasn’t supported on his old windows 8.1 machine. Doesn’t matter, he needs Windows 10. But albeit the computer being kind of still okay, the CPU is a tiny bit too old and not supported. So we buy a new Laptop. And now *drumroll* the all-in-one printer won’t work because it’s suddenly too old and HP doesn’t do Windows 10 drivers, because they want to sell new printers instead. Whereas I once bought a super old second hand b/w laserprinter for 10€ incl toner and used it for 8 more years. And I bet it’s still supported with Linux today. Next thing is the laptop updates to Windows 11 and I get to spend yet another day to fix the software that updates the Garmin, two other programs he needs and the antivirus caused mayham…
So while I applaud Microsoft for maintaining some old APIs in their UI-Toolkit. It doesn’t do me any good in real life. So don’t teach me about backwards compatibility. It’s the same with their office suite and them deliberately making something in the word document file format incompatible every few years so everyone needs to upgrade. Including affecting me. I’m sure they can stop now because everything has become a subscription model anyways. Personally I don’t care. But if it’s in a professinal setting, I want the documents and slideshows to look as intended by the author. Please without them forcing me to buy Windows plus the most recent Office subscription. Plus a new CPU and a complete set of new printers and peripherals.
I think I’m just getting old myself. And now I start to get what some people have been telling me. I sometimes can’t be bothered to figure out things. How to customize a product I don’t like in the first place. And I don’t want it customizable in theory. I want my shit to be the way I’m used to. I don’t want a different Start button. A new hideout for the button to shut down the thing. And then it doesn’t even shut down properly but does some magic that interferes with dual-boot. And a Ribbon-Interface for office that makes me learn how to do the modern version of File->Print. I don’t like that. Worst thing is, at some time LibreOffice will adapt. I think they already changed icons at some point. And my Linux is also starting to do silly stuff in the background. Look for updates and whatever is using up all the extra hundreds of megabytes of RAM. And change the traditional way of handling software packages and introduce 5 package managers. Do updates on startup or shutdown…
I say sometimes… I’m also for technological progress.
I kind of also stay with my Linux distro because of familiarity. But I promise I’m not close-minded. Once Linux starts displaying Ads in the start menu, tracks my every move to sell off my private data. And Windows becomes the ethical and free (as in user-freedom) alternative that is faster, has the better technology stack and the superior interface design… I’m going to put in the effort, learn everything that has changed since XP/2000 and switch.
You’re able to execute old binaries mainly because they linked the libraries statically instead of dynamically
Not exactly. Most Windows libraries are a) guaranteed to be on the system and b) always present in a backwards compatible form. The Windows folder is full of multiple versions of the same DLL that get linked dynamically to make sure programs keep working. To the application, it’s as if the exact dependency the program requires has been installed as if it’s still 1993.
Some toolkits (like MFC) are compiled statically more often, but Windows is very much dynamically linked in most cases.
The redistributable problem is an annoying one, that I will admit. However, that’s part of the trickery Windows pulls: you can install MSVC++ Redis 1.2.34 and MSVC++ Redis 1.2.35 into the “same” location and both will work where necessary. On Linux, your /usr/lib/whatever.so needs to be the right version (or may need some kind of versioned symlinking solution if you manually install old versions). Microsoft’s solution is much more complicated, but also makes things possible that are VERY hard to pull off on Linux.
The Windows 8.1 to 10 upgrade path was pretty much flawless. There were a few very rare ARM and Intel Atom CPUs that barely ran anything at all that got dropped, but in general Windows 10 reduced requirements rather than increasing them. MS did do a hard cutoff for Windows 11, but that was unprecedented.
The printer driver issue is manufactured by HP. Windows will happily load a Windows Vista printer driver on Windows 10 (that was what I did last time I needed to interact with a HP printer). The biggest challenge is the 64-bit-versus-32-bit problem; Windows really wants 64 bit drivers on a 64 bit kernel but shit companies like HP didn’t make those for many versions. If the printer broke in Windows 10, it was probably a vulnerable, buggy mess for ages before.
I honestly can’t remember the last time Office broke compatibility. Back when doc switched to docx (thank god) there was a breaking change (with a bunch of free conversion plugins available from Microsoft’s website) but Word 2007 files will open just fine on Office 365 in my experience.
As a comparison: I needed to run some executable compiled for Ubuntu 14 on Ubuntu 20 at some point (or mess around with a VM). Naturally, I installed the i386 support libraries and tried to run it. That failed because it needed 30 different libraries that were all different versions. I managed to get it to work mostly (until it hit a kernel incompatibility) by downloading every dependency and dependency of a dependency for Ubuntu 12 and put it in an LD_PRELOAD directory.
On the other hand, on Windows I ran setup.exe on a game from 2000 and it installed and played fine after a few false positives about compatibility mode. It’s no wonder that most games Steam lists as “running on Windows” are actually compiled for Windows and run under WINE.
I honestly believe that the Windows kernel is better than the Linux kernel, from a technical point of view, especially from a security point of view. However, the Windows user interface gets worse by the month. More ads, more tracking, more bullshit. My perfect OS would be the Windows 7 UI on top of the Windows 11 kernel. Windows 8 killed the Windows experience for me. Windows 11 was better than 10, which was better than 8.1, which was better than 8, but all were a worse experience than Windows 7.
Windows is being developed for the next generation. The next generation has grown up with iPhones and iPads, and everything needs to be dumbed down, with bright, big buttons, and of course touch friendly. Microsoft has also given up on letting the user make the right choices, and switched to protecting the user from their own idiocy. And, to be honest, for most people, I don’t disagree with them; before Windows forced updates, my impression was that the average Windows computer was about two to three months behind when it came to critical security updates.
-
Even if you can use an alternative file explorer you can’t uninstall the native one, so that’s not really replaceable. And even if you could there’s the DE and the backend for graphics that I mentioned which you most definitely can’t. The fact that people realise that being able to choose a web browser is a good thing but never consider the same of other parts of the system is truly amazing to me.
-
That’s cool, didn’t knew that was possible,bI guess then that the file formation thing should be moved to the possible but so difficult might as well be impossible category.
-
Even if the windows store did the same, it’s a closed garden, so you can only update stuff Microsoft has approved, whereas anyone can spawn their own repo of packages for any of the many package managers out there. To give an example I would consider Android to NOT have this ability I described for Linux (at least not to the same extent), because system and apps updates are separated and because the play store is a walled garden that Google controls, and the moment you add F-droid or other alternatives you now have multiple steps to update everything. I agree that Flatpaks and the like are shifting this, but it’s not hard to imagine a package manager that can natively handle those as well just like apt can handle both binary and source packages.
-
You’re missing the point of being able to fix the system, it’s not about what you are likely to do, is about what you can or can’t do. I agree with you that you’re not likely to do it, and you seem a lot more knowledgeable than me on Windows so I believe that everything you said there is true, but the fact that you’re stopped at the source code on Windows is exactly my point. I saw this a lot when playing around with game engines, Unity’s bugs were annoying and all you could do was report them and wait, on Unreal and Godot you could hop in and find the issue in the code and get a better understanding and possibly fix it, just because the average game programmer won’t do it doesn’t mean it’s not possible.
-
I know tiling window managers exist for Windows, but in my experience they’re all shit and miss things and are not as well integrated with other stuff such as virtual desktops which is essential. Which is why I put it on the possible but difficult category.
-
But they’re not flexible enough, afaik (and you seem to know more so please correct me if I’m wrong) you can’t move virtual desktops from one monitor to another or choose whether each monitor should have their own set, or even choose whether you switch virtual desktops on only one or all monitors at a time. Which is why I specified as “that actually work” because the ones that exist work in only one way, so if you’re okay with that great but if not it’s the same as not having them.
-
Last I used KDE that was the default behaviour, and I’m pretty sure that’s easily configured on the shortcuts section of the system settings app. On the other hand to change these on windows you need to fiddle with regedit and some shortcuts are simply hardcoded so are impossible to change.
-
-
You didn’t mention the ability to mount different drives and partitions to different directories. For example, I always keep
/home
on a different partition so I can reinstall my OS without worrying about data loss. You also can use tools like LVM to combine volumes into a single storage volume. Have a lot of games and want to install them all to one place? You can set up multiple large drives to act as a single volume. I guess you can do this with RAID utilities or something in Windows, but it’s really not the same.NTFS has supported mounting drives to folders for decades. The Windows LVM equivalent would be LDM (which powers the deprecated Dynamic Disks), or Storage Spaces.
What’s wrong with Virtual Desktops on windows? They work perfectly for me.
No argument with your other points.
I answered that in another comment:
But they’re not flexible enough, afaik (and you seem to know more so please correct me if I’m wrong) you can’t move virtual desktops from one monitor to another or choose whether each monitor should have their own set, or even choose whether you switch virtual desktops on only one or all monitors at a time. Which is why I specified as “that actually work” because the ones that exist work in only one way, so if you’re okay with that great but if not it’s the same as not having them.
I’m getting started with i3, so I get your point now.
It’s not only what you can do, but what it won’t do to you.
Using your computer is not wrong. You shouldn’t be punished for it.
Using your computer is not an imposition on someone else. You don’t owe anyone for the privilege of using it. You have already paid for it. The OS vendor doesn’t have a lien on it; they aren’t paying you to rent ad space on your desktop.
You bought it, you own it, you can break it if you like but it’s not anyone else’s place to tell you what you’re allowed to do with it.
Your computer is yours – just yours – and it shouldn’t be spamming you with ads, filling itself up with junk, or telling you “you’re not allowed to do that because of the OS vendor’s deals with Hollywood”.
I’m not anti-commerce or anti-corporate. My preferred browser is plain old Google Chrome (with uBlock Origin). I buy games on Steam. The game I spend the most hours playing on my Linux system is Magic Arena, hardly an anti-commercial choice. But that’s my choice. I buy computers from Linux-focused vendors (currently System76) and I expect my computer to be mine, not the vendor’s to do with what they like.
Personally I don’t care so much about the things that Linux does better but rather the abusive things it doesn’t do. No ads, surveillance, forced updates etc. And it’s not that linux happens to not do that stuff. It’s that the decentralized nature of free software acts as a preventative measure against those malicious practices. On the other side, your best interests always conflict with those of a multi-billion company, practically guaranteeing that the software doesn’t behave as you. So windows are as unlikely to become better in this regard as linux is to become worse.
Also the ability to build things from the ground up. If you want to customize windows you’re always trying to replace or override or remove stuff. Good luck figuring out if you have left something in the background adding overhead at best and conflicting with what you actually want to use at worst. This isn’t just some hypothetical. For example I’ve had windows make an HDD-era PC completely unusable because a background telemetry process would 100% the C: drive. It was a nightmarish experience to debug and fix this because even opening the task manager wouldn’t work most of the time.
Having gotten the important stuff out of the way, I will add that even for stuff that you technically can do on both platforms, it is worth considering if they are equally likely to foster thriving communities. Sure I can replace the windows shell, but am I really given options of the same quality and longevity as the most popular linux shells? When a proprietary windows component takes an ugly turn is it as likely that someone will develop an alternative if it means they have to build it from the ground up, compared to the linux world where you would start by forking an existing project, eg how people who didn’t like gnome 3 forked gnome 2? The situation is nuanced and answers like “there exists a way to do X on Y” or “it is technically possible for someone to solve this” don’t fully cover it.
Soon with Plasma 6 and Wayland, you can let your Desktop crash but still keep all your Windows after the new Desktop spawned. This also means you can replace your KDE desktop with Gnome, XFCE Hyprland and some others whithout needing to logout or close applications.
Additionally you can save current states of the application with Wayland. Shit is getting so interesting right now.
Source: https://m.youtube.com/watch?si=sAlIcn5meSCDKq3K&v=jlDhpFjBWiw
I can declare the complete state of my systems in a config file that I store on sourcehut with git and pull down to have a fully configured system on new hardware whenever I want it.
I can use tiling window managers.
I can work with native containers easily.
I can run an operating system that is designed to be the most useful tool it can be, not the most profitable product it can be.
Open a link in any browser i like. Say “no” to updates. Have a main menu that doesn’t look like a kiosk at the mall. Have my habits on my computer kept to myself. Install applications from outside an application store. Not need an antivirus software.
Install applications from outside an application store
Ofc that’s possible in windows
deleted by creator
deleted by creator
For
sudo
I usually use this:deleted by creator
The terminal and the shell are two different things.
cmd
andps
are shells, which automatically use the built-in terminal as I recall.Windows Terminal is not a shell. But it can open
cmd
orps
orbash
shells.
The fact that it’s not even possible to disable the antivirus on windows 10/11 is infuriating. So much lost CPU for no reason.
IMHO, anti-virus on windows is actually important. Yes, it takes up a lot of CPU, but there are so many viruses that target windows.
Windows Defender is actually pretty good to the point where I wouldn’t even put another anti-virus besides, maybe Malwarebytes. Some shops will still try to upsell McAfee to you though. :|
I’ve never had a true positive virus detection with Defender since 2010 (neither with Avast, which I used before Defender came out). All I’ve ever had alerts for are PUPs.
My only windows machine is just for gaming and doesn’t browse the internet much, let alone install anything from the internet. The rest of my computers are Linux machines.
My biggest security threats are just phishing attacks trying to take over my Steam account, and I would rather save some FPS over having Windows waste CPU scanning every file for viruses.
Huh? You can absolutely disable defender. What are you talking about?
You’re mistaken. It is not not possible to disable real time Scanning, even using GPO on Enterprise.
No I’m not, you absolutely can. Not all companies use windows defender, and you have to disable it for most 3rd party EDRs that don’t use AMSI (defender API).
Huh? Is that a new thing? Last time I used Windows I could and did just turn off real-time protection in the UI.
Granted, it’s annoying how you can’t actually just uninstall it, but I’m pretty sure you can turn it off.
You can, but you may need to edit some registers to avoid windows reseting them.
Use a system that’s not a personalized ad billboard
Docker! I have never experienced a more unpleasant software than Docker for Windows.
I think I read somewhere a while ago that Docker is only really “native” on Linux, because on Mac and Windows it spawns some internal virtual machine or something like that. Not sure if i remember it correctly but that would probably be a reason for worse performance i guess.
There is a native windows docker as well, where you can run windows containers inside it. But no one uses it, everyone just wants to use the linux containers which require a linux kernel and thus virtualisation on windows. Performance should not be worst on it though, but the layer of a VM added to it adds a layer of jank to make it appear to work like the native linux version (ie mounting host folders need to be mounted on the VM first before they can appear in docker, and while that is mostly transparent it can cause a few issues with some things).
Do you not use it with WSL?? I’ve found the experience is almost identical to linux.
Funny that you ask, WSL was what made me switch to Linux. I previously used Hyper-V because that was what was available back then and it was a nightmare. Slow to start, slow to run and constantly needing a reset after a reboot because “something happened™”.
I switched to WSL when it was new and it was much better than Hyper-V but it had major issues with volumes back then. Performance was abysmal when mounting a volume on a Windows drive and when using the WSL filesystem you had the reverse issue under Windows with your IDE and git.
There were also two big issues with reproducibility on Windows (both with Hyper-V and WSL), namely:
- Line endings changing to /r/n, breaking all shell scripts with it
- File permissions changing to 777, breaking many applications with it
Line endings changing happened a lot because git on Windows defaults to changing line endings on pull and/or if someone on your team commits a file opened by an IDE on Windows it will change the line endings a lot of times as well.
In the end I spent so much time inside of WSL that I started wondering why I was running Windows in the first place and just switched over. Proton played a big part as well but Docker was the main point.
Don’t try Podman on a Mac… it’s not pretty.
So you haven’t used Microsoft Teams then?
When Teams doesn’t work I restart it and try again. When Docker doesn’t work I spend an hour debugging why my pipeline fails only to realize Docker for Windows messed up my permissions.
Not to say Teams is good, Teams is pretty horrible as well.
wait, you can run .exe files using docker? while being on linux?
I don’t think that’s what the person you’re replying to meant, but to answer your question, yes you can via Wine (or Proton, I guess)
Not be spied on by microsoft
I get the sneaking suspicion that this is the kind of response OP mean by “biased answers,” but it’s also just true. Some distros will harvest data, but it’s much easier to avoid than with Windows
Haha it’s very easy now: I have an os with no adds.
I am the one telling the os when it updates or not and when it reboots or not.
I have a working terminal so I don’t need dozens of shady softwares to do basic stuff like transferring a file on a local network.
And the biggest ones: I can disable my firewall and no defender will erase files from my computer without my consent.
Video games work surprisingly well today. Recent ones at least.
Be the only user that can run code as root.
Microsoft and their “trusted partners” do not deserve closer access to my hardware than I have.
Have an actual sane developer experience? There is a reason why almost every developer that uses Windows actually uses WSL.
Yup, that’s my coworkers as well. Constantly complaining about how shit windows is, already developing in docker on wsl anyway, but they never want to switch to anything that would solve all their complaints.
It’s easier to run C/C++ compiler (GCC) on GNU/Linux
Getting a C/C++ compiler on Windows is a menace. To my knowledge, there are two ways to do it. Either install Visual Studio which will also install the MSVC compiler, or wrangle with MinGW to get GCC.
In the first-year CS classes I attended, the instructions were usually to either get WSL and install the
gcc
package or to connect using SSH to the engineering server (CentOS 7) which has it pre-installed.Lmao my university also uses centos 7 for their ancient-ass SSH server. Even the professors just told us to use a VM because they didn’t want to use an old version of clang anymore.
First time i saw that i went mad, why the fuck i need to download 6gb to compile a cpp module, on linux gcc is only a few mb.
gcc and MSVC are only a bit over a hundreg MB each, but neither of them are very useful without an SDK, though. Add Qt5 and Qt6 to actually run a GUI and you start approaching Microsoft’s bloat real quick.
On my machine, the sizes are about equivalent, because every time I try to compile anything I found online I need to install
libsomethinghwhatever-dev
. Windows just gives you the dependencies beforehand.but I just want libstdc++… what you described in the second paragraph is thee definition of bloat. You don’t always get every library you want in MSVC either. How the heck do you get stand-alone MSVC with only STL and less than a GB?
Last time I checked, the SDK installer had a whole bunch of checkboxes you could just disable. It looks like the 2023 version of the compiler is only packaged with Visual Studio, though, which is a bit weird. Luckily you can just download gcc for Windows.
Saying you don’t want libstdc++ on Windows is like saying you don’t want gcc on Linux, just g++. Almost every modern Windows API is built on C++, except for the driver part. It doesn’t make sense to just ship a C compiler for Windows.
You can pop in your legally acquired Visual Studio DVD or ISO image and install vc_compilerx64x86.msi if you just want the compiler. It doesn’t so anything useful, but you can!
If you’re writing new code for Windows, though, you’re better off with either C# or Rust. Those are the languages Microsoft themselves seem to be switching to at least!
Yes, there are checkboxes, but even if I only check MSVC v143 … build tools I need to install 1.57 GB,
while I only need 376.1 MB+175.3 KB to install GCC on arch,edit: my arch methology is flawed, just check niXman / mingw-builds-binaries, which is just C, C++ and Fortran and only 68.9 MB. 1.57GB is way too large.
Yeah gcc and mingw took ages back when I learned cpp a few years ago. This was back in high school when I barely knew what Linux was, so it never occurred to me that I could do that. Eventually gave up on setting it up in VScode and used codeblocks and spent the semester dealing with that GUI.
Cygwin is great too! You can have a fully POSIX-compliant environment on Windows, no virtualization or anything needed. You can even distribute programs to other Windows users linked to their POSIX compatibility layer library.