this post was submitted on 19 Sep 2023
188 points (90.2% liked)

Linux

48234 readers
586 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] 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 11 months ago) (1 children)

[This comment has been deleted by an automated system]

[–] [email protected] 1 points 1 year ago* (last edited 11 months 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.