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.
Plug in every USB i find on the ground without fear.
okay basically so many things sooo much better, first of all i can change any part of software of the os for any other one i like. I can fix my installation no matter how broken it is as long as the filse system is still intact.
I’ve been an on and off Linux user for a long time, but my main OS used to be Windows. I recently switched to Linux (Arch btw) and I love it.
For my use cases, here is what I like about windows:
- Office 365
- Gaming
- Onedrive
- Just works
- touch screen and touch pad
- Hardware support
- Autohotkey (can live without)
- Software compatibility
- VR
- Parsec
Here is what I like about Linux
- Dynamic tiling window managers.
- Customization, I can have my notifications on the top right, the way I like them.
- Smooth as fuck: very fast!
- Very clever solutions (looking into NixOS currently for example)
- Terminal: fun to use and it’s fast!
- Much more control over my system.
The things I dislike about windows are mainly that it’s stupid slow compared to Linux and the growing presence of telemetry and ads (though I wasn’t that affected). Also, I can’t replace windows default shortcuts or some functionalities.
What I dislike about Linux is that there is always something that doesn’t work properly. I currently have issues with DPMS. My laptop has trouble with the behavior if the touchpad, sometimes the gestures work, sometimes they don’t, it depends on its mood I guess. I tried Wayland, but with a nvidia card it has a lot of issues, I had to go back to X which sucks since I really prefer the way wayland works. I’m quite technical, but sometimes the solutions don’t really work.
I read a few things in this thread that I disagree with though, namely:
- You can launch apps from PowerShell (terminal)
- You can have package managers, I used scoop, choco and winget. Every app that I use can be installed and updated with those, from PowerShell.
- Pretty sure you can update your system from PowerShell, then you probably can make a script to update everything.
- You can disable auto-updates and auto-reboot in Windows. I never had my computer reboot on me and it stays open 24/7. What I liked is auto-update, but no auto-reboot. I chose when to reboot, only had a notification which was disabled when I was playing a game.
- There are options for launchers, the windows menu or powertoy run.
- You can create shortcuts (similar to .desktop) and you can also make a bat script instead of a bash script.
A lot of comments are about a knowledge deficit, not a capability deficit from Windows.
what’s the price of windows these days?
a quick question, how do you buy your laptop? I mean, do you buy it with DOS installed in it. I don’t know which country you live in but, how do you get a laptop without paying the Windows Tax?
In my country you can sometimes select in online shops if you want to have windows inslalled for additional cost.
not all suppliers, but some had the option to choose linux
Framework has the option to purchase a laptop without an operating system.
In addition to the other replies, you can also buy developer laptops from some companies which comes with Linux preloaded - for instance, Dell has the XPS 13 Developer Edition, and HP have the Dev One. Lenovo also generally have good Linux compatibility - some of their laptops officially support Linux (eg Thinkpad Z13) and they generally have an option to buy a laptop with FreeDOS on it (or even no OS).
I am glad you asked. You can just buy a laptop with linux on it: https://linuxpreloaded.com/
your link gives 34.99€ with a promotion of %87 off
Location dependent? This is from Germany:
I am sorry, I know to buy the OS cd it costs money, but on a bulk it really doesn’t cost that much. Or so I have learned. I mean, I have seen Laptops running DOS have roughly the same price as Windows PC. This only matters if you have want to go back to windows. Since almost all laptops come with Windows 11 these days, it really doesn’t cost that much to have a Windows 11 laptop.
It says 145 Euros but when you actually make do the math it costs you a very small fraction of this amount when you actually buy a PC/Laptop.
my choice is between
- downloading and installing the linux version of my choice
- paying for an opaque OS that makes things difficult for me
i regularly use windows, macOS and linux. Linux works with its user. Windows can be bent and with macOS you’re just a cashCow 🤷
Start/update your computer in seconds.
My computer takes longer to get through POST than to boot Linux. It’s a little frustrating.
That’s the real issue, isn’t it. Yeah, my system boots in 7 seconds, and that’s while not even using an nvme drive.
But POST? Dear god. I don’t even have that many devices, I swear.
Yes it’s insane. I actually dual boot, and anytime the windows partition needs to update, i cannot roll my eyes hard enough.
Using Apple/Windows feels like using frustrating, old tech when Linux is right there as an alternative.
Or like using a locked phone with unremovable bloatware instead of a rooted phone.
I started using Linux for some Radio Astronomy project. The tools were made with Linux in mind. Running said tools would have needed cygWin. WSL did not exist at the time, but that would still be using Linux.
- adjust the drift speed of a thinkpad trackpoint
- stream audio from one computer to another one (or a phone) with ease (thanks pulseaudio)
btw 1 is literally impossible, there’s no gui driver setting, there’s no regedit switch, no nothing. on linux you just need to write to this file /sys/devices/platform/i8042/serio1/serio2/drift_time
I had this bug (feature) where when I was hosting, pulse would stream the music I was listening to to other players in Deep Rock Galactic. I had no idea it was happening until some one asked me what mod I was using. It apparently wasn’t the best quality so I ‘fixed’ it.
Upgrade without reformatting. Update without restarting.
Windows will upgrade from Windows 1.0 to Windows 11 if you update in order, all without reformatting.
As for updating, Linux does have an advantage there. However, I haven’t found a way to replace the running kernel without paying for Ubuntu Pro or that Redhat thing. What do you use to update the kernel without rebooting?
Technically, kexec will allow you to switch to a new kernel without performing a complete reboot. In practice, it may have issues.
You can install Cygwin in windows and do everything you list but if you don’t NEED windows for something why use it?
I do need some apps alright. I mean, 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.
But yeah, I don’t need Windows rn and even if I need it, I won’t leave Linux
I have absolutely no idea what anything you listed is, other than updating the OS and other programs 🤷♂️
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
Most if not all of these seem very easily done on windows. You can create scripts as you like and set up environment variables like vlc. Control of updates I’m not so sure about, I haven’t messed with it I just let it auto update.
If you own a Windows 10/11 Pro version, you can set a group policy for control of updates. If you own a Home edition, you need to change a Registry entry. It’s not hard, but just as you I like Auto update more because I tend to forget to manually update
And if you like, you can skip and even disable Windows Update completely, and use a PowerShell script to download updates manually and install them whenever you like. This is a good option if you don’t trust Microsoft and decide to block all their IPs via a hosts file or a firewall or something, so you could download the updates from a trustworthy computer (like a Linux machine) and install the updates offline.
The procedure to create shortcuts, as an example, is rather convoluted. I originally looked this up because I was 90% sure that you could just use
New-Item
and it’d just work.The problem is that even if you install things with a package manager like Chocolatey and do not hunt for installer wizards on the Internet (the default Windows way to install software), applications don’t commonly add themselves to the PATH and it’s just a pain to get it working.
Yeah, some of it may not be as easy on Linux, but I think the question was just if it’s possible or not
scoop manages the whole PATH problem when installing apps. Winget on the other hand installs with the app’s installer if I’m not mistaken, thus should also have no problems with that.
The joy of creating powershell or cmd scripts. I’d rather do everything by hand. I get so irrationally angry whenever I have to even look at a script on windows.
I’ve been geeking about since the 80s. BASIC on an Atari, msdos, windows, vax, *bsd, Linux. Done a ton of scripting in a bunch of languages.
Right now, I prefer powershell above anything else. But, honestly it’s all personal preference.
You may be more used to bash, but after having tinkered with both and converted some scripts from one to the other, I arrived to the conclusion that both are bad.
deleted by creator
-
sudo dd if=never_gonna_give_you_up.mp3 of=/dev/sda
-
Say “It’s a UNIX system! I know this.”
-
Make your capslock LED blink along with network activity using a built-in kernel driver
-
Fix bugs yourself
-
Possibly dumb question, but… can Windows pipe things? Like, can I pipe a grep to a text file, or send stdout to a text? Or, like, tee a command onto the end of a config? I don’t use this a lot in Linux, but I have never done in Windows and literally don’t know if it can be.
In powershell, kinda – but it’s unpleasant. Everything is an object which you pipe between commands, but it’s not a text stream so the receiving end has to explicitly understand what it’s receiving.
Pure FUD. Worse, it’s wilfully stupid.
Are you in the habit of picking pipeline commands at random? Do you not usually have a purpose in mind? OBVIOUSLY the receiving end has to understand what it’s receiving, or what the fuck are you even doing?
Do you believe that your text processing commands don’t have to understand what they receive?
Let’s get the ports of the node container.
Bash:
docker ps | grep node | cut -n 6 -f ' '
Pwsh:
docker-ps | where name -eq 'node' | select ports
First the grep command shits the bed because at some point you started a new container running a nodejs image.
Then the cut command fails because you had a container with a space in the name, so it outputs mounts instead of ports.
That’s a non-issue with sematic tools. Semantic tools are also legible. Yeah, I can figure out what that awk command does, but it’s meaningless unless I also know the shape of the data is supposed to operate on.
You don’t write “USE 2nd DATABASE; SELECT 3rd COLUMN FROM 10th ROW”, do you? Why would you want to do that in a shell?
Is it just me, or is powershell fucking horrible?
Speaking as a Linux fanboy (since '98), I actually like PowerShell (the language/scripting part of it, not the shell part). I use it for work primarily, and love the object-oriented approach. It may not shine when you’re dealing with plain-text-output binaries (say, if you’re running some cross-platform cli tool), but when you’re working with PowerShell’s built-in cmdlets, or you’re processing structured data like JSON or CSV, that’s when it’s object-oriented nature really shines. Once you load up your data into a variable, you can just use the
object.property
syntax to access various properies, or even use some built-in methods to perform actions on the objectAlso, if you want to filter and format the output text, there’s various ways you can mess around with it to display the data however you want to - whereas in traditional nix shells you’d have to mess around with a different grep/sed/awk expressions every time - and in doing that, you’d lose the information as the text goes thur the pipeline.
One of my favorite features is
Out-GridView
, which displays a graphical table containing whatever you piped into it, which allows you to do a live filtering of data, or a graphical selection for input - say I pipe a CSV file into it and selected a few rows from the table, I could pass the selection onto the next command in the pipeline.Here’s a one-liner that illustrates how powerful this can be:
Get-Process | Out-GridView -PassThru | Export-Csv -Path .\ProcessLog.csv
This above lets you select multiple processes from the
Out-GridView
window. The processes that you select are passed to theExport-Csv
command and written to the ProcessLog.csv file. I can’t even begin to imagine how you’d archive this natively in a standard Linux environment without relying on a third-party tool, or writing an overly complicated script that may depend on other languages like Python.It’s WAY better than batch (not to be confused with bash) scripting. It’s got some really nice features though and lacks a lot of the small paper cuts inherited from legacy shells. Look at nushell for something similar on Linux.
Personally? I hate it.
Anytime I have to deal with it I usually just write a bash script that writes a horrific unrolled powershell script rather than dealing with ps data structures.
The syntax is horrible (seriously, CamelCase AND snake-case?) but the scripting language is so much more powerful.
Half the bash/zsh oneliners I write have this mess of
awk
/cut
/grep
commands in the middle to extract the column I need, and half the time the columns don’t get filtered out right either way. The object oriented Powershell method is far superior, but it does take some getting used to.The object nature in PowerShell is pretty powerful though. Piping JSON in PowerShell is, IMO, quite nicer than having to put ~~new ~~ jq commands as very other stage of the pipe in Linux.
edit: just noticed autocorrect changed ‘jq’ to ‘new’ in my original post.
piping JSON
https://github.com/jqlang/jq is a good option to deal with this
I wouldn’t agree with that. I find jmespath syntax far more intuitive than jq, and it would appear to be easier to embed as basically every CLI utility I use that natively supports a JSON query to filter its output uses jmespath syntax rather than jq. It’s just not so readily available as a standalone solution as jq. But regarding PowerShell, I can pipe JSON command output to
convertfrom-json
and I get a data structure back. I find that having a data structure for more complex nested loops is easier to deal with than having to call jq repeatedly in every layer of my loops. At that point I’d rather use Python on Linux, but I can do it natively in PowerShell.valid argument - maybe jq isn’t always the best tool for the job … but i personally been happy with using it
I use bash and fish natively on Windows and it obviously works in those. You can also use nushell natively and that has piping as well.
I’m explicitly saying natively because most people assume that I’m talking about WSL when I say I use bash on Windows. I am not, msys2 allows you to use these things natively without a VM.
Yes, it does work. Try this:
irm https://christitus.com/win | iex
No, and it makes inter process communication a removed. You’re basically forced to use a tcp or udp socket on local host.