Primarily a WIndows user but still want to learn Linux

As the title states, I am primarily a Windows user but for practical reasons I want to learn Linux (as well as FreeBSD but that’s mostly outside of the scope of this website).

Here’s how I got here.

I’ve been using Linux on the desktop off and on since 2008. I was also a Mac user for a few years. I was drawn to macOS (still called OS X at the time) because it’s a Unix-like OS that’s also designed to be a desktop OS that supported things (like Microsoft Office) that allowed me to also dump Windows for good, at least until 2017 when I got interested in PC gaming and bought a relatively cheap Dell Inspiron gaming laptop with a mobile Nvidia GTX 1050 Ti. Also in 2017 I got serious about pursuing a career in IT. From mid-2018 to mid-2019 I took an in-person IT class, after which I got my CompTIA A+ certification. In terms of operating systems, 95% of everything I learned pertained to Windows, and the rest mostly pertained to iOS and Android. Linux and macOS had few mentions, with the BSDs and proprietary Unixes only being mentioned when the history of the internet was discussed and when one of my teachers mentioned having used Solaris and HP-UX workstations in the Navy.

Fast forward to mid-2020. I wasn’t working and everything was shut down due to Covid.

I got serious about learning Linux again, after all Linux (and to a lesser extent the BSDs) are what run the internet, and having Linux on a resume is becoming more valuable every day because the cloud mostly runs on Linux. Storage space is precious on any gaming PC that has less than two terabytes of storage. Physical space is very limited as I currently live with my parents (currently my main PC is a mini-ITX cube I built with most of the inside being occupied by a full ATX power supply and a full-height MSI GTX 1650 in addition to a mini-ITX motherboard with a low profile heatsink), so I considered one of System76’s laptops that are designed to run Linux, specifically the Lemur Pro that I ended up getting. I looked at reviews and Jay’s review on YouTube is the one that convinced me to get it. Since then I have seen alot of Jay’s videos. I don’t agree with him on everything but I like his content, and as someone on the high end of the autism spectrum I found him fairly relatable when he spoke of his ADHD (two different conditions for those not in the know but also alot of overlap, especially in my case because i’m also forgetful and have a poor attention span). His video about his life story was also very inspiring and motivating, especially as my IT career so far has consisted of countless phone repairs and cleaning out the insides of filthy PCs because the comfy IT desk jobs are hard to get into.

So, as a gamer who prefers Windows (on the desktop! I know Linux is vastly superior as a server OS) I still have many options when I want to sit at my ergonomically superior desktop as opposed to using my Lemur Pro which, lets face it, ends up being used as a Chromebook half of the time, and the other half I VNC or SSH into it from my Windows desktop, which leaves me wanting a more local experience where i’m not dependent on a working network connection just to use Linux. I mess with Cygwin often, but it’s still fairly different from an actual Linux OS since the purpose of Cygwin is to implement as much of the GNU user space on top of WIndows as possible in a highly integrated, non-emulated and non-virtualized fashion (e.g. Cygwin programs use the native PE/COFF format as opposed to ELF).

Soon I will be building a newer, more capable gaming PC, consisting of an Intel Core i5 11400F and a Gigabyte RX 6500 XT (on a PCIe 4 motherboard!) inside of a Silverstone LD03 case. I’m really looking into using WSL2 on Windows as i’m increasingly fascinated by containers and how Linux-based, Docker-like, OS-independent containers might be the future for apps that are run locally on desktops and laptops, in addition to their current omnipresence on servers, but my concern here is performance since WSL2 uses a type-1, Hyper-V-based hypervisor when enabled, therefor Windows itself becomes a VM (the root VM with direct hardware access, but still a VM). I know some Linux gamers run Windows in KVM and use a GPU passthrough so the performance hit can’t be much different from that, especially since Hyper-V is a dedicated hypervisor rather than a hypervisor running inside of a full-fledged Linux kernel. There’s also the old fashioned dual-boot setup but Windows sometimes has a tendency to overwrite the bootloader and storage space is still a premium because i’m a gamer without multiple terabytes of space at my disposal, so that’s my least favorite and least likely option.

So, should I switch to WSL2, or continue to use Cygwin in conjunction with my Lemur Pro over the network? Regardless the Lemur Pro will be my target over the network, WSL2 will just reduce dependence on it and open up new possibilities.

PS: Yes i’m aware of Wine and Proton on Linux for gaming, but for me that’s not up to snuff because most games are designed to run on Windows and nothing else, and I have other reasons to continue to use Windows as my primary desktop OS. In addition to using Microsoft Office, during my years as a Mac user I also replaced the MP3s I had “acquired” as a teenager in the 00s with music I purchased from iTunes (and later Apple Music) and I would also like to keep all of that, stored locally as much as possible.

1 Like

Welcome to the forum!

Hold on for a sec.

I can suggest that you try doing a Linux build with GPU Passthrough. You can have a Linux desktop with a Windows VM with near-native (1 to 3% penalty at most) performance in games. If you use LookingGlass, it’s going to be a seamless experience, if not, you can do 2 USB ports passthrough to the VM and have a second mouse and keyboard. Connect your GPU to the other monitor port and just switch between inputs as if you’d be switching between PCs. Again, with LookingGlass, it’s basically a window on your desktop that is much faster than a VNC / RDP / Spice / noVNC display.

I had a GPU passthrough built in the past on a Pentium G4560 with a GT1030 and an entire USB card, but I learned that you can pass individual USB devices without needing to pass the entire controller. You can use the integrated GPU on your system for Linux and it’s going to be plenty fast for daily activities.

Now, regarding containers.

WSL2 is a different beast altogether and containers are not VMs. WSL2, although uses Hyper-V, is not a VM. It uses that for other facilities, like the network, but WSL2 is basically a kernel module on Windows that literally translates commands to the Linux kernel into commands for the Linux kernel. It’s similar to how WINE translates Windows commands to Linux commands. The performance of WSL2 is basically near-native. But I never found a use for WSL2 much, my workflow doesn’t allow me, other than open it up and run a few Linux commands, read a manual or test a script. It does however run GUI programs, I tried PCManFM-Qt and it was working, so you could technically run other stuff.

But one thing that WSL2 lacks is a process supervisor, a.k.a. a service manager. At least, the official images of OpenSUSE and Ubuntu run systemd, but if you try to run systemd commands, they will fail, because systemd is not launched as PID1. This is, funnily enough, a limitation of systemd, not of general process supervisors. I have ran Alpine in a WSL2 container, but I removed it, as I had too many WSL images running around, so I never tested if OpenRC worked, but I think it would have.

As for real containers like LXC and Docker, things get even more fun. Well, WSL2 is somewhat of a LXC wanna-be and it’s pretty close. But LXC can run systemd commands even if systemd is not present on your system. I prefer to manage LXC via LXD, it’s easier to use LXD. Here’s Ubuntu Jammy image running with LXD on Void Linux:

[oddmin@bikypi4 ~]$ uname -rnm
bikypi4 5.10.92_1 aarch64
[oddmin@bikypi4 ~]$ neofetch
                __.;=====;.__                   oddmin@bikypi4
            _.=+==++=++=+=+===;.                -------------- 
             -=+++=+===+=+=+++++=_              OS: Void Linux aarch64 
        .     -=:``     `--==+=++==.            Host: Raspberry Pi 4 Model B Rev 1.4 
       _vi,    `            --+=++++:           Kernel: 5.10.92_1 
      .uvnvi.       _._       -==+==+.          Uptime: 4 days, 2 hours, 43 mins 
     .vvnvnI`    .;==|==;.     :|=||=|.         Packages: 810 (xbps-query) 
+QmQQmpvvnv; _yYsyQQWUUQQQm #QmQ#:QQQWUV$QQm.   Shell: oksh v5.2.14 99/07/13.2 
 -QQWQWpvvowZ?.wQQQE==<QWWQ/QWQW.QQWW(: jQWQE   Resolution: 1920x1080 
  -$QQQQmmU'  jQQQ@+=<QWQQ)mQQQ.mQQQC+;jWQQ@'   WM: sway 
   -$WQ8YnI:   QWQQwgQQWV`mWQQ.jQWQQgyyWW@!     Theme: gnome [GTK2], Adwaita [GTK3] 
     -1vvnvv.     `~+++`        ++|+++          Icons: Adwaita [GTK2/3] 
      +vnvnnv,                 `-|===           Terminal: dvtm 
       +vnvnvns.           .      :=-           CPU: BCM2835 (4) @ 2.000GHz 
        -Invnvvnsi..___..=sv=.     `            Memory: 5088MiB / 7377MiB 

[oddmin@bikypi4 ~]$ lxc exec ubuja -- /bin/bash

root@ubuja:~# uname -rnm
ubuja 5.10.92_1 aarch64
root@ubuja:~# neofetch
            .-/+oossssoo+/-.               root@ubuja
        `:+ssssssssssssssssss+:`           ---------- 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 22.04 LTS aarch64 
    .ossssssssssssssssssdMMMNysssso.       Host: Raspberry Pi 4 Model B Rev 1.4 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 5.10.92_1 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 4 days, 2 hours, 43 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 334 (dpkg) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 5.1.16 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   CPU: BCM2835 (4) @ 2.000GHz 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   Memory: 5077MiB / 7377MiB 

root@ubuja:~# systemctl status dbus
● dbus.service - D-Bus System Message Bus
     Loaded: loaded (/lib/systemd/system/dbus.service; static)
    Drop-In: /run/systemd/system/service.d
     Active: active (running) since Wed 2022-06-29 01:10:12 UTC; 3min 4s ago
TriggeredBy: ● dbus.socket
       Docs: man:dbus-daemon(1)
   Main PID: 89 (dbus-daemon)
      Tasks: 1 (limit: 4915)
     CGroup: /system.slice/dbus.service
             └─89 @dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

Jun 29 01:10:12 ubuja systemd[1]: Started D-Bus System Message Bus.
Jun 29 01:10:12 ubuja dbus-daemon[89]: [system] org.freedesktop.DBus.Error.AccessDenied: Failed to set fd limit to 65536: Operation not>
root@ubuja:~# systemctl restart dbus
root@ubuja:~# systemctl status dbus
● dbus.service - D-Bus System Message Bus
     Loaded: loaded (/lib/systemd/system/dbus.service; static)
    Drop-In: /run/systemd/system/service.d
     Active: active (running) since Wed 2022-06-29 01:13:23 UTC; 3s ago
TriggeredBy: ● dbus.socket
       Docs: man:dbus-daemon(1)
   Main PID: 1857 (dbus-daemon)
      Tasks: 1 (limit: 4915)
     CGroup: /system.slice/dbus.service
             └─1857 @dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

Jun 29 01:13:23 ubuja systemd[1]: Started D-Bus System Message Bus.
Jun 29 01:13:23 ubuja dbus-daemon[1857]: [system] org.freedesktop.DBus.Error.AccessDenied: Failed to set fd limit to 65536: Operation n>

You can run Docker in LXC and in fact, I would recommend that. Docker / Kubernetes has a hard limit of somewhere between 150 and 250 containers and if you learn how to run it inside LXC from the start, on very beefy servers, you can get over this limitation by having more LXC containers acting as worker nodes. 1000 pods on a single server is possible with LXC, without needing to use VMs, so you get the native speed of the hardware you are running.

If you want to get into it, I would suggest you get yourself a single board computer, currently I’m very biased towards Odroid N2+, run Armbian on it and run LXC on top, then run k3s inside LXC. You can manage more LXC containers and learn how to manage RHEL, Ubuntu, OpenSUSE and other niche distros. But running LXC on your desktop is also an option, if you decide to build a Linux PC with a Windows VM with GPU passthrough. My homelab is currently mainly SBCs. I’m just now building a PC and I have 2 GPUs on it, because Threadripper doesn’t have a GPU, so I need a temporary display to set things up, before I make it headless and run the Windows VM on the other GPU. Currently having issues with all RAM slots being detected, likely TR mounting pressure (such a b*tch).

Edit: and before you ask, yes, the RPi 4 8 GB is my main desktop, I run sway on it.

I admit I should have been more clear about this. I know a container itself isn’t a VM, but WSL2 is what is typically used to run container systems on Windows, thus it would be one way to learn about them. I often don’t think in coherent sentences inside of my head so i’m prone to wording things in ways that make me prone to being taken out of context, and i’m already prone to taking other people out of context.

Not saying your’re wrong about WSL2 but I thought it consisted of the Linux kernel plus your distro of choice on top of it running beside Windows via Hyper-V, with Windows being the, to use Microsoft’s wording, “parent partition” and WSL2 being the “child partition” with Hyper-V being underneath both of them. I know WSL1 was very Wine-like and, according to Microsoft, borrowed some code from the Wine project, but was otherwise implemented as a user mode subsystem similar the WSL’s predecessor SFU (Windows Services For Unix).

The PC I will be building will have a Core i5 11400F which does not contain an iGPU, and the motherboard is a mini-ITX board with one PCIe slot so I couldn’t do the GPU passthrough thing if I wanted to on that system. This will probably be a topic for the homelab section but i’m not getting rid of my current system (at least I have no plans to do so) and this system has a Core i3 10100 which DOES have an iGPU, so as long as the GTX 1650 doesn’t mind (because Nvidia) then I could definitely experiment with a KVM GPU passthrough at some point on this system. Getting some Raspberry Pis in the future is also something that has crossed my mind but again that’s for the homelab section.

Regardless thanks for the suggestions and for teaching me a little more about containers. Containers are definitely new territory for me.


Wow what a first post. ADHD’ers like ourselves can often “write books” as my wife tells me. Congratulations and welcome to one of the most interesting hobbies around; at least in my opinion. A hobby that can turn into a career if you like; as it has for Jay. Around two decades ago I read a quote in a small book called Life’s Little Instruction Book pt2 … “If you find a job that is ideal, take it without regard to the pay. And if you have what it takes, you will soon find that your salary will reflect your value to the company.”.

You can find a little about my story as well as my bio and a couple of my earlier posts on this forum.

I am doing pretty well at getting caught up on some of my old skills. Things are coming back to me pretty well after having taken a break from computers for over a decade. When I was in my late twenties, I was “at the top of my game”. My first mentor was a FreeBSD guru who had gotten into some shenanigans in his early teens doing what was considered hacking in the 80s. I can’t remember which government group (FBI?) that caught him, but he wasn’t able to touch a computer again until he was eighteen :slight_smile:

I am also a part of the ADHD/VAST gang.

I do not have ADHD. I’m autistic, though I still found Jay relatable when he talked about his ADHD because, like someone with ADHD, I have a poor attention span and I can be forgetful. Like I said there is some overlap, especially on a case-by-case basis. I have a mom and two siblings who are ADHD but I was evaluated for about eighteen hours over a period of two days almost a decade ago, so aside from what sets me apart from those very close relatives I also self-diagnosed and heavily researched autism over a year before I was officially diagnosed. At the time I was diagnosed with asperger syndrome but that term isn’t used anymore because Dr. Asperger is not someone we want to be associated with.

My first post was long because I wanted to make it clear that I have a history with Linux and other Unix-like operating systems and that I have practical reasons to learn them while also not being what most would call a fan of Linux and Unix. I’m a PC gamer and i’m enthusiastic about PC hardware. To me the ideal desktop OS would be BeOS running on PowerPC hardware, but that’s merely an ideal and a fantasy so in reality I use Windows as my primary desktop OS, and my ideal server OS would probably be OpenVMS or IBM i, but the internet is and always has been something that has run on Unix or Unix-like operating systems. In other words i’m a pragmatist, and I prefer to use what I deem to be the best tool for the job.

1 Like

Well, for now I have decided to keep things the way they are in terms of software, though, since I got fed up with the rats nest caused by shoehorning a desktop into the corner of my room, I did one thing I thought I wouldn’t do after having a fear of spending money drilled into my head at a young age, which was to take a small dip into my savings for a sweet deal I got for a new (possibly slightly older stock, but who knows with that GPU shortage we’re now coming out of) ASUS ROG laptop with an RTX 2070 that blows any other computer i’ve ever owned out of the water.

The major upside to this as far as Linux is concerned is that i’ll get alot more use out of my Lemur Pro, since all i’ll have to do now is move the Windows gaming laptop over and put the Lemur Pro on my small but tall desk when I want to use Linux, and any laptop is only going to be a half of one percent worse ergonomically than my current twenty-one inch monitor. Me being six feet tall combined with my unusually tall desk and the way my glasses always slide a little down my nose means my neck will practically be in the same position.

The parts I bought to build my Core-i5 11400F+RX 6500 XT build, which, again, will be inferior to the ROG laptop that’s now on its way, will still be put together but instead it will be for my dad who won’t stop grumbling when his Intel-based Mac Mini is slow (which is most of the time). Sure putting just about any Linux distro on that Mac would speed it up but i’m not going to try to switch a rigid baby boomer, who’s digital life has mostly consisted of spreadsheets and emails on Microsoft operating systems in factory settings since the 80s, to Linux. He is not a geek in any way, shape or form, and comes from an era where computers and calculators were for “nerds” and people like him who played sports had a higher social status, especially here in the southeastern United States. It’s not like today where someone being both a jock and a geek at the same time doesn’t seem like a contradiction to younger people.

Now I just need to decide if i’m going to stick with Pop OS on my Lemur Pro, or move it over to Rocky Linux or GhostBSD. RHEL-based distros (such as Rocky Linux) are the most relevant on enterprise servers, yet FreeBSD (GhostBSD is just FreeBSD bundled with MATE by default) is highly relevant on firewalls and routers. A Linux distro without systemd, such as Devuan, would also be great for firewalls and routers. I mean I could care less if a distro has systemd or not, but for a router or firewall you want an OS that’s different from the ones you’re using on your servers and desktops, but that’s another topic for another day.

@thebagelofdoom thank you so much for taking the time to write all of that. I need to take a moment to compliment you on your grammar, sentence structure and ability to create a steady narrative. Almost no one takes that much pride in their writing in a forum post. Sometimes my ADHD can make me anxious when I see a very long post, but yours was well-written and no issue at all.

I’m glad my videos resonated with you, especially in regard to the one on ADHD and the other on my life story thing. I’m a huge fan of mental health so any time there’s overlap or some reason or another to raise awareness on something, I’m happy to make those videos when I can. In a similar note, I’m thinking about writing about my upbringing in a book some day. But if how long it took for me to see your post is any indication, starting another project right now wouldn’t be wise. :rofl:

To be more on subject, I notice that many people have a harder time than others when it comes to switching to Linux on the desktop. I’m fascinated by this, but it’s hard to distill this into specific reasons as each person has their own personal reason. Posts like yours help give me a bit more perspective.

Personally, it was fairly easy for me, or at least easier than most. That said, I probably have an unfair advantage here. Gaming is often mentioned as a holdout, and I can understand that. However, my mindset is not typical here. I think of my “productivity” and “gaming” machines as two completely unrelated devices, and I absolutely love that separation. I can understand the appeal for having one machine be your everything, but my mind just doesn’t think that way I guess.

When it comes to PC gaming, I basically just make gaming PC’s into consoles. For example, I have a gaming PC in a smaller chassis hooked up to the television there. It’s running Windows 10, but I’d never know that since the only purpose Windows has here is to auto-start Steam in Big Picture Mode. If I so much as see the start menu, it’s just a glimpse before Steam starts. The box is set up to automatically log in, with everything controllable via a Steam Controller. I even run a utility on that box to ensure the mouse cursor never appears unless actually needed for a game.

I’ve done a video about a Steam streaming server a while back, which I still have and use from time to time. If you haven’t seen the video, it’s a gaming PC in a server chassis that runs headless. I use a fake monitor plug so Steam doesn’t freak out that there’s no display. Since the streaming server has a 10gig connection to my desktop, the games feel darn-near native.

I think Linux-switching is just down to mindset and use-case. For me I think work/gaming PC separation is key, and outside of that there’s no other compromises.

Here’s a fun (possibly strange) work-around I used to use, quite a while back. I had my main Linux install on a 2.5" SSD, which was standard at the time. But that SSD wasn’t screwed in to the case. Instead, I used a removable hard disk assembly that you can buy for desktop chassis, which literally allowed me to eject my SSD as you would a game cartridge. I would simply swap the Linux SSD for a Windows SSD I had, boot into that, play games, and then boot back to the Linux install. That was actually very effective for me for quite a while.

Anyway, I’ll be interested to see how your journey progresses.


Ooo, I’ll second the removable hard drive bay solution. I used to use that back in the late nineties and I felt very geeky in addition to it simply being practical to isolate one system from another. These were all full size drives back then.

I’ve pretty much decided on having two seperate machines for Windows and Linux since i’ve realized that laptops are just more practical in my current space and switching between the two involves nothing more than closing the laptop that’s on my small desk, moving it over to my bed or entertainment center, and then placing the other laptop on my desk and there I have it, a different machine with a different operating system and a different purpose, which is why it’s taken me this long to come back here since i’ve mostly been spending my free time the past few days gawking at GTA V because i’ve never been able to run it at such high settings before as my “new” gaming laptop (a new old stock ASUS ROG laptop from late 2020 with an RTX 2070 that I got a good deal on, and yes the battery is fine, not that batteries really matter in gaming or workstation laptops with dedicated GPUs and beefy cooling systems) is literally more powerful than any other computer i’ve ever owned.

Another thing I should have clarified is that since it’s been fourteen years since I first messed with Linux, some of my views have changed. I wasn’t even 18 yet and I was going to through an anti-Microsoft phase that lasted a couple of years. Now what I care about is my applications and the hardware I run them on. The OS in the middle doesn’t matter to me so long as it works, but for practical reasons I still have a desire to learn Linux (mostly because of servers, networking equipment and up-and-coming edge and IoT devices), so I wouldn’t call myself a switcher or even someone who wants to fully switch to another OS. I prefer to use what I deem to be the best tool for the job. Different operating systems exist for different reasons. In the device repair field i’ve dealt with devices where neither Windows or Linux would work but rather something very small and very fast like FreeRTOS, Nucleus or VxWorks is what’s used, and those are the kind of operating systems that fascinate me the most.

Concerning your last suggestion, if I didn’t go back to using laptops and had the space for a full size tower with external drive bays, then that would have been something I might have done. Shelby from a channel I like known as Tech Tangents has long done this with his desktops:

That channel would probably interest you as well Jay since it’s primarily about retro-gaming and vintage computers but he primarily uses Linux and does alot of backing-up and cloning of the data from those vintage systems with open source tools on Linux. He also makes his videos the old-fashioned Silicon Graphics way, by doing the initial work at his desktop but then sending it across his network to his headless Linux server which uses a GTX 1070 to do the rendering. Here’s a video detailing that set-up: Server Upgrades - 50TB+ & Resolve Remote Rendering - YouTube

1 Like

Since I have decided to go back to using laptops, I now have one system dedicated to Windows and another to Linux and switching between the two now involves closing the one that’s on my small desk, moving it over and then putting the other one on my desk. Being a hardware enthusiast who likes to build PCs it took me a while to open my mind to even think about going back to laptops full time. My less powerful small form factor desktop can go into my closet and can come out when it’s time to experiment with it, therefor this thread has pretty much been solved.

I also should have clarified that in the fourteen years that have passed since I first messed with Linux my views and feelings regarding operating systems has changed. Back then I went through an anti-Microsoft phase and wished to rid my life of anything Microsoft-related. Now what I care about are my applications and the hardware I run them on. I don’t care much about the OS in the middle as long as it works, but Linux is still something I wish to learn in a professional capacity because Linux (and to a lesser extent the BSDs) are what run the internet and are increasingly becoming more valuable on any IT-focused resume.

Maybe you could put a little shelf on your desk that you could use to put the lappy you’re not currently using? That way you can do network stuff easier?

1 Like