this post was submitted on 19 Sep 2023
177 points (89.7% liked)

Linux

48709 readers
1022 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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

  1. Adobe
  2. 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.
  3. Games ( a big one although steam is helping bridge the gap)
  4. Many torrented apps, most of these are Windows specific and thus I won't have any luck installing them on Linux.
  5. 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?

  1. I have applications which launch from terminal eg: vlc would open vlc (no questions asked, no other stuff needed, just type vlc)
  2. 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.
  3. I can basically automate most of my tasks and it has a good integration with my apps.
  4. I can create desktop launchers.
  5. 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.
  6. Create custom panel plugin.

  1. 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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 49 points 1 year ago (4 children)

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
[–] [email protected] 10 points 1 year ago (1 children)

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.

[–] [email protected] 3 points 1 year ago

You can also replace the kernel though.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (2 children)

[This comment has been deleted by an automated system]

[–] [email protected] 22 points 1 year ago (1 children)

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

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (2 children)

[This comment has been deleted by an automated system]

[–] [email protected] 1 points 1 year ago

thanks for komorebi. :)

[–] [email protected] 0 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (1 children)

[This comment has been deleted by an automated system]

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

[This comment has been deleted by an automated system]

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (2 children)

Thanks for the insight. At some point I need to read up on the windows kernel for example. All I ever read is articles like Linux performance gains with chiplet-based CPUs with multiple L3 caches and crazy stuff like that. I don't even know how Microsofts kernel development works and if and when they adapt to updated CPU architecture designs etc. All I know about the windows kernel is a few simple facts from uni. Like that it's a microkernel (or hybrid?) since NT and that has also been the time they implemented proper protection rings so it wouldn't crash as often as 98 and ME. And they made some good design choices and copied the TCP/IP layer from BSD (and presumably replaced it since). Guess I also sometimes live in my own little bubble. I'm pretty sure lots of things have been re-designed when we switched from 32 to 64 bit. I'm going to look it up. But it seems to be difficult (to me) to find articles like the one I linked above, only for Windows. And the Wikipedia articles are also very short.

Regarding the libraries: How do they do the backwards compatible form? I had a quick look at the Windows/System32 folder of my Windows 10 install, and I saw maybe 10 files with version numbers in the filename out of 5000 files. The rest is just something .dll

But I guess we're talking about different libraries anyways. I thought about something like SDL, the game's physics library, the QT5 libraries for your platform-independent application. Zlib for your compressed game assets. When I have a look at my Windows Steam directory, they're all somewhere inside, along with the game and not bundled with Windows. When I have a look at my Linux Steam directory, it's the same. When I have a look at any of the other applications on my Linux system, it's different. My distribution has a package manager and the software requires the system to provide all the compression libraries, game engine ... They're not bundled with every single game but provided by the package manager. That's what I was going for. Sure there's also a C standard library and system libraries that are tied more tightly to the operating system itself.

I know how the linux library symlinking works. It's alright for many cases and it lets you have multiple versions installed at the same time. But it has its caveats. And it's just not as easy in general. It's just a hard problem. Your specific library version has dependencies on other specific and maybe older versions. Configurations can get version-specific. Sometimes things break or can't be done in a backwards-compatible way. There are security vulnerabilities that need to be fixed, back-ported and whatever. And everything is just a convoluted mess. Shared library versioning is hard. And the way Linux does it isn't optimal. Actually there is lots of room to improve. Especially since we're designing and using things differently from back then when this was a good decision. But I don't think Flatpak or putting everything into Docker containers is the best solution, either.

Another thing I don't specifically like is the way software is spread across the system. I think I like it the way it's supposte to work on MacOS where you simply drag one application folder onto your disk and that 'installs' it. And everything is contained within and can simply be removed without resudie by deleting that directory. But I guess it's also not as easy because sometimes different pieces of software share resources and it also has benefits to have your system config in one central directory.

Is there a 'perfect' solution to organize applications and libraries?

With the hard cutoff for Windows 11, you're right. I got a bit confused with the numbers and the order of events. But the story is true nonetheless. I even tried different versions of printer and scanner drivers, tried to extract files and feed INF files to windows, tried to learn about unified printing. But to no avail. And somehow I'm always affected by the Windows printer woes with my relatives. My mom once installed one of those quarterly (or half-yearly?) update packages and it made her Brother printer stop working for almost two months until something happened like another patch or something. I don't know if that was related to Print Nightmare, kind of fits judging by the time but I wasn't involved in helping my mom back then.

All I know my printer works. Sometimes it chews on a letter or complains about the counterfeit ink. But that's it. I remember times where I needed to wrestle with some old and badly-written Brother linux drivers myself. That certainly wasn't fun. But that's like 13 years ago. I don't know if the (proprietary) printer drivers for linux improved since then or if I just made better choices upon buying hardware.

The Office compatibility has been a thing since I went to school. It's not that it stops working entirely or becomes completely unusable. It's just that it's a bit off. Things get out of place, A sentence or element vanishes into thin air or the bullet points change color or shape. Something like that. I always make sure to have exactly the correct fonts installed so everything could be rendered pixel-perfectly. But it won't happen reliably. And you're perfectly right you can absolutely open files with the newest, most recent version. That's not the point. They want the other person to upgrade. You and all of their supplier now use Office 365 and the company using Word 2007 is now unable to do business. That's the way around this peer pressure works.

Regarding the Ubuntu compatibility: Yeah, that's tough sometimes. At some point you'll end up with things like an incompatible libc. Or a major clash of pretty much all of the library versions. Glad you figured out you can supply libraries yourself. I've done stuff like that. I guess it's kind of a rare thing with linux that you can't up- or downgrade or install libraries alongside and also have a fixed binary without access to the source code, either. So if you manage to get into that situation somehow, you're mostly on your own and it'll take some time to figure it out. It's not uncharted terretory, but it's not fun either. I've also maintained super old Suse machines that didn't even understand NTFS because it wasn't invented back then. And some RHEL and 'frankensteined in' some stuff. Nowadays on more recent machines, I'd most of the time just put old software into a container that contains the old distribution with all the old libraries. And I'd be done with it.

I don't have my old PC game CDs anymore. I always wanted to try some classics from my childhood, like Midtown Madness 2, Need for Speed or Command and Conquer. I guess I can download them or ask some of my friends if they kept them around, and see if they still work on my Windows 10 laptop. I don't even have an optical drive anymore...

I think my perfect OS is a bit more sci-fi. I like the idea of convergence. And maybe some unified system with everything tied together. I've always been amazed by the way computers work in sci-fi. For example on Stargate they have something on their tablet and then swipe it up and show it to everyone on the big screen of the control center. Or swipe their results to the side and they get transferred to the console on the right where the other scientist starts working on them. I know that things like that are a thing in the server world where you can pause VMs and transfer them onto another cluster. 'Hot'. But damn would that be useful at home. I could work on something, make amendmends on my phone, then transfer it onto the beamer to show it to a co-worker. Start watching a audiobook in the train and at home it'd automatically transfer to the stereo. Same with YouTube videos that I could show to my partner or grandma easily on their TVs. I know stuff like this exists. But it's all very specific, works with one kind of media and never across different vendors. And instead of doing this in a similar, abstract and transparent way, each piece of software needs it's own way of synchronizing data in the background and storing it on one server to simulate something like walking from your laptop to your PC and resuming work. (Or collaborating.) And all the instant messengers are incompatible.

There are 'distributed operating system's like Plan 9 that have interesting concepts. But they never took off. And today, technology gets more and more interconnected. We need concepts like edge-computing. Data available 24/7 from everywhere. And everyone has like 5 things that are basically a computer. And 10 IoT devices.

And I'd like to come home, throw my laptop into the dock and then all data is backed up and available. I can resume the video that I started on my phone, transfer it to the big screen in the livingroom. And ask my smarthome to look into my partner's calendar and make an appointment with them and my brother-in-law. And then sit down at a monitor to play a game. Please make everything update itself so it won't get hacked and I don't have to worry about keeping 5 computers, two routers and 15 IoT devices up to date and being involved in the maintenance, and make it interconnect across vendors and platforms. And just 'restore' on the next device I'm going to buy.

I think more important than the OS itself is the platform that goes with it, because that's the thing we interact with.

I'm kind of a stubborn person and I also like my freedom and like to stay in control. So this interconnected and distributed operating system would need to satisfy the four freedoms of free software. I personally won't submit into an ecosystem like the golden cage which Apple sells.

Yeah. Media literacy and computer skills have taken a hit. And this has and will have consequences. I hope people realize we don't always have to settle for some least common denominator.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

[This comment has been deleted by an automated system]

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

[This comment has been deleted by an automated system]

[–] [email protected] 1 points 1 year ago

From the user interface or specifics, idk. They're all pretty much alike and follow very similar concepts. So I don't care too much. Sometimes an interesting change pops up like when Android started using gestures instead of buttons for 'back', 'home' etc. I have a Thinkpad with those pointing sticks so I don't need to lift my hands from my keyboard. And I pretty much like the concept of the Gnome destop where I just bump the corner or hit the Super key and start typing the initial letters of the name and hit enter. Other than that it mostly stays out of the way. And I like the command-line interface and configuration files. I think it's vastly superior to digging through menus and remembering where to click with your mouse. And it has more advantages once you automate stuff, deploy it somewhere etc. But I think nowadays everyone agrees with that. Even all the windows-admins in my circle of friends have started to be glad about the PowerShell.

[–] [email protected] 1 points 1 year ago
  • 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.

[–] [email protected] 3 points 1 year ago (1 children)

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.

[–] [email protected] 3 points 1 year ago

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.

[–] [email protected] 1 points 1 year ago (1 children)

What's wrong with Virtual Desktops on windows? They work perfectly for me.

No argument with your other points.

[–] [email protected] 2 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago

I'm getting started with i3, so I get your point now.