loading...
Cover image for You don't need to install Linux anymore.

You don't need to install Linux anymore.

rubenk profile image Ruben Kharel Updated on ・5 min read

Hi stranger!

This is my first blog ever, I rarely write blogs and stuff (You will notice why), but sometimes you have to.

This article is dedicated to you, If you
  • own only one computer
  • have to switch between Windows and Linux often.
  • find it irritating to use VMware(Ram hogger) or Dual booted Linux.
  • have to use some software which only runs on Windows OS.
  • find it hard to install Linux
  • are new to Linux

My classmates often come to me asking for help on Linux installation. It does not go as expected in many systems, especially NVIDIA GPU is pain in arsh. So, I decided to write this article to make them believe, they have a better(since they don't do much) and easier alternative.

Ok, let's jump to the topic. Why we don't need Linux? Maybe you started thinking But, my module leader asked me to install Linux, 🙄 Yes he is right you need Linux, but the traditional way to install Linux is not an easy task if you are recently introduced to Linux.

Ever heard of WLS2?, If not you should, it is powerful like never before. I have been using WSL since the first release, there were some limitations on WSL's first release. There was no proper system call compatibility, no Linux kernel, as well as not a managed VM. This made people not use WSL and many faced different sorts of issues, there were limitations and it was slow. BUT, after the stable release of WSL2, I tried it asap and since that day, I never opened Linux through dual boot or VMware.

I hope, I don't have to explain how to setup WSL2 and stuff like that, there are enough tutorials if you search on google. Here is the Microsoft's official guide to setup WSL2

You can also find any number of youtube tutorial if you find it difficult to read Microsoft's docs. Oh, and it's better if you install Kali as your WSL2's distro Because I believe it got more features than other distros. Ok, that's it about setting up, I am about to talk on how to beautify your WSL so it keeps attracting you to play with her more ;).

Alt Text
Hope it looks minimal as it was intended to be.

If you finish your WSL2 stuff, Download Windows Terminal and open the distro you installed through windows terminal.

Installing ZSH

First and foremost, whenever I setup Linux, I install ZSH, and the most famous framework of zsh, Oh_My_Zsh.

To install ZSH (On WSL2's Debian based distro)
sudo apt install zsh

After ZSH finishes installing, type zsh on your terminal and hit enter to launch zsh, you might be promoted to set it as the default shell, anyway just go for yes, if asked.
Now you have your beautiful zsh console, cool you are already making your console looks better and easy to use. Let's not go on how and why, just feel the difference over time.

Installing Oh_My_Zsh

Now lets setup oh_my_zsh
You can follow the instruction to set it up from their official GitHub repo
or Hit this command in your terminal
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Doesn't matter either you do on bash or zsh.

It will setup everything it needs. After the setup is complete you will see a cool-looking terminal that is fancy enough to catch your eyes and make you feel like you want to spend some alone time with her.

Installing Antibody

K. You are almost done with the beautify you need some useful plugins to make her smart. Well, beauty without brain is of no use. So let's add some brain.

curl -sfL git.io/antibody | sh -s - -b /usr/local/bin

This is your command to install antibody, basically its a plugin manager. but in simple terms, it's her brain. Ok, we have her brain, now what? NOW let's plug some intelligence (plugins) into her brain.
Alt Text

Setup antibody

Before installing the plugins you need to find what types of plugins you need. You can find 100s of plugins here, you can choose to install whatever you like. The list below is the composition of [github's username/repo name]. Let's look at an example.
This is a random plugin's repo found from the above link.

https://github.com/Jactry/zsh_battery_state

you just need to extract the user/repo name, which in this case is Jactry/zsh_battery_state. Alright? As simple as that.

But, don't worry, I have your list ready!

caarlos0/zsh-mkc
zsh-users/zsh-completions
caarlos0/zsh-open-github-pr
zsh-users/zsh-history-substring-search
zsh-users/zsh-autosuggestions
zsh-users/zsh-completions
zdharma/fast-syntax-highlighting
ascii-soup/zsh-url-highlighter
hcgraf/zsh-sudo
Enter fullscreen mode Exit fullscreen mode

🤔 what to do with this? Well, put it into a text file.

  • Copy that list
  • Open console / shell / terminal, whatever you call it.
  • Type cd && echo "<paste those plugins>" >> .zsh_plugins.txt in terminal.

Alt Text

  • Now feed this command in terminal antibody bundle < ~/.zsh_plugins.txt > ~/.zsh_plugins.sh > This command fetches the plugin and stores in the cache.
  • Congratulation you have all the plugins ready.

Ok, that's it about that lines mess, now let us load those plugin and make her smart! Hit this command on home directory

echo "source ~/.zsh_plugins.sh" >> .zshrc

Always be careful when you are editing rc files. This is your zsh's rc file which stores your zsh configuration.

Now to finalize the setup, throw this command
source ~/.zshrc

Source loads the functions file into the current shell, in simple terms, it just reloads the settings.

Now play with your terminal for a while and comment below, how it feels, and thank me later!

Where is GUI? Just run this command
sudo apt install kali-win-kex -y && kex
It will take a few minutes of time to install, so take some coffee break. And kex to run GUI from next time.

Ran into error in any steps? Drop your queries in the comment section, I will reply to it as soon as I see it.

I will write another article soon on why I want you to switch to WSL2, either you are a programmer or a security geek.

Discussion

pic
Editor guide
Collapse
psiho profile image
Mirko Vukušić

You really dont need to install Windows (in most cases), for over 10 years now. Most of Linux distros are easier to install than WLS itself, especially for somebody that needs WLS and should be some kind of IT professional. For such a small learning effort you get so much more than WLS.

Collapse
rubenk profile image
Ruben Kharel Author

The title was just a small clickbait for a professional player but for my classmates, it is not.

I don't think It is always an easy task to setup Linux especially when you have driver issues. My classmates like to play games and stuff on their laptop, so they buy gaming beast and use it for gaming as well as in college. And when they want me to dual boot linux on their device with NVIDIA GUP, and the pain I feel just thinking about what can go wrong. Above that, they don't want any data to be deleted. You should see the pressure I get. xD. Well, gaming in Linux is a thing these days so, I am not totally going to deny your statement tho.

I don't know if it is similar everywhere, but my college never taught us more than a few commands and how to write a minimal basic bash script. Above that, looking at my classmates I am sure they would love this approach. They are not dedicated enough to prove your statement right. And we need certain tools in college which runs only in windows, for which we have to use windows no matter what, and I find dual-booting pain. I don't want to go through all of that just in this comment.

PS: MSOffice was the only reason I used Windows in the first place, but now I am in love with WSL.

Collapse
psiho profile image
Mirko Vukušić

Well, then they're not really IT professionals, and doesnt look like they will be soon :) In that case, and also at the same time you're forced to use some windows software, you are a gamer, etc.... Yes, I'd suggest WSL. But it's hard for me to believe anybody like that really reads dev.to

Thread Thread
rubenk profile image
Ruben Kharel Author

That is why I set the experience level of the post to minimum.

min

Collapse
elfatherbrown profile image
Alex Borges

Back in my day and as part of the Linux User Group of my college (we are talking 1998 here), we issued a Taco Public License for installation and configuration.

We'd help them in install fests but outside of that voluntary work, a taco and/or beer was required for student-grade support.

Collapse
explodingwalrus profile image
Carl Draper

I am using Linux for games, install Steam, allow Proton and you can pay plenty of games.

Collapse
ginsburgnm profile image
Noah Ginsburg

Distros like Ubuntu just magic the driver issue away. For example Ubuntu even bundles Nvidia's proprietary driver in the iso. You just click a button and Nvidia works.

Collapse
onyxcode profile image
Dan

I made an account just to say this. No matter how real it looks, WSL2 is NOT a viable alternative for a Linux install. I hate when people say "I uSe LiNuX I HaVe WsL2" because it isn't actually Linux. It's still an emulator.

Collapse
ashtonbatty profile image
Ashton Batty

WSL2 is actual Linux running in a Hyper-V VM, not an emulator. However it still isn't as good an experience as a traditional native Linux distro.

Collapse
onyxcode profile image
Dan

As I see it, unless it's running on real hardware, it's emulated.

Thread Thread
ashtonbatty profile image
Ashton Batty

It is running on real hardware.

You might want to read up on how hypervisors work, and how they are very different to emulators.

Thread Thread
onyxcode profile image
Dan

Like Docker, it's still containered. Hence, still not actually running on real hardware.

Thread Thread
onyxcode profile image
Dan

Also, you used the term "VM", which stands for virtual machine.

Collapse
safijari profile image
Jariullah Safi

I've been using WSL2 on and off for some time now, going so far as to even do my work in it some days. It's ... fine. It's good that I can use all the same tools on my gaming desktop when I wanna code but ...

Ok, so, WSL2 is great in concept right but it's held back by Windows 10. That's right, the worst part about Linux on Windows is Windows. Everything from filesystem performance to network performance and general jankyness is so much worse in Windows 10 than it is on my Linux box.

Collapse
explodingwalrus profile image
Carl Draper

You lost me at "the traditional way to install Linux is not an easy task if you are recently introduced to Linux." - it's super easy to install Linux these days, less hassle than Windows installed from scratch

Collapse
rubenk profile image
Ruben Kharel Author

Sorry, I forget to mention, I always had to do a dual boot, So when I talked about installing Linux being not an easy task, according to the errors I face with Grub stuff and Nvidia drivers, it can be difficult for a newbie. Solo is fine, but dual boot can mess up stuff if you can only do is copy-paste commands from google and do not understand what you are doing. I will update the blog and mention exactly what I mean.

Collapse
tempcke profile image
Todd Empcke

Friends don't let friends use windows.

Thread Thread
rubenk profile image
Ruben Kharel Author

haha, damn I love this line.

Collapse
mustang9969 profile image
mustang9969

Man really informative article, but I tried wsl2 and kali a few weeks back and I faced a few issues. First the GUI was somehow blurred and at an absurd resolution. When I tried changing the resolution from within Kali settings it pushed stuff out of my screen. And the tigervnc resolution change didn't work. Moreover I have an SSD as my boot drive so I wanted to move the Linux files onto a different drive with larger capacity. Everything was fine and I was able to move it but even when I edited the wsl.conf file to prevent access to the windows filesystem within Kali, I wasn't able to create an isolated environment just for linux. So unfortunately I had to move back to VMware. Can't attempt dual boot because of that same different drive scenario. Any solutions and/or suggestions?

Collapse
rubenk profile image
Ruben Kharel Author

That's bad, I don't play with GUI thingy much. I recently tried kex, and just used a few times. I can't figure out why is that happening. Obviously, things are not stable yet, so you might probably wanna wait for some time to use a stable GUI crap.

And I can't understand how you cant dual boot. 🤔

Collapse
mustang9969 profile image
mustang9969

I have a 128GB SSD and most of it is already occupied by windows so I can't install Linux on that drive. I tried installing Linux on the HDD where I have a ton of space but I couldn't get it to run. I read through a lot of guides but they mainly focussed on installing on different partitions and not drives. The ones experiencing problems like mine were told that different partitions and different drives is one and the same thing. But somehow it didn't turn out good for me. I had to revert back to windows.

Thread Thread
rubenk profile image
Ruben Kharel Author

You can just allocate /boot /var on SSD which only use less then 10 GB, and other /home /blabla to HDD. Try doing that once. I used to do this when I had 128 GB SSD

Thread Thread
rubenk profile image
Ruben Kharel Author

But still, the problem should not come either way. Without looking at the error and some research I cant figure out what it is.

Thread Thread
mustang9969 profile image
mustang9969

I have a mere 33 GB free on my SSD after windows. I feel like live booting is the only way to go for me

Collapse
tluanga34 profile image
Lalnuntluanga

My exact sentiment. Linux isn't supported by some of my devices like Nvidia graphics card, Tp link wifi adapter, and my audio interface.

WSL2 has been great when I need it. Most of the server app run on windows too anyway.

I'm planning to remove ubuntu that i configured as a dual boot

Collapse
katafrakt profile image
Paweł Świątkowski

What kind of Nvidia card do you have, that it's not supported? I'm surprised. Having installed Linux on quite a few machines in past years, I've seen many different components having compatibility problems, but graphic cards were literally never the issue.

Collapse
ginsburgnm profile image
Noah Ginsburg

Is your Nvidia card like the first Nvidia card ever made? Ubuntu ships with the nvidia proprietary driver, so any reasonable modern card will work.

Nvidia Linux drivers are pretty solid, they'll be solid too until nvidia wants to stop selling graphics cards to super computing centers.

Collapse
sethbergman profile image
Seth Bergman

Most of the server app run on Windows? That's an interesting sentence since ~ 95% of the internet runs on some *nix derivative. My dad has an easier time using Linux Mint than he does Windows, and he's not a technical person at all. 🐧

Collapse
immersivegamer profile image
Henry Nitz

Thanks for the article. I haven't tried ZSH so I might do that sometime. I debated using WSL for the project I'm one but decided to use VirtualBox with Vagrant. For web development that has been working quite well.

I'm not sure why a lot of the comments are flat out against WSL. Sure it isn't perfect (though WSL2 has some great improvements!) but lots of people need a Windows machine as their primary work/school/personal machine. If you need Linux tools while using Windows then WSL is a great alternative to dual booting.

As a side note, I find that a lot of my development tasks can be done on Windows without even having to touch Linux. Many tools these days are cross platform.

Collapse
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

Installing git bash with unix term does the same thing basically on windows. Its still winodws. The way the drivers work still is.
The same.

Collapse
optimizingos profile image
optimizingos

Hi there

I couldn't figure out one thing, I guess you will help.
Why you still use windows? It even doesn't come with drivers out of the box and have that much bugs partly because it doesn't have any "Independent Community" like most of Linux do .
Linux also comes with support of most of the popular coding softwares and even Visual Studio Code. And above all, it is completely free of cost and much customizable and much more beautiful than windows.
Please let me know why you still use windows 🤔

Collapse
rubenk profile image
Ruben Kharel Author
  1. Microsoft Office (Libra office is a pain in the ass to manage the design my college ask for in a report)
  2. Packet Tracer (there are some issue in Linux, but after little tweak here and there, I can make it work, but still sometimes you need a compatible version of it for some files provided by the college, and it's hard to find out)
  3. Discord crashing issue (no matter what I do, I was not able to fix this for a long time, IDK if it's stable or not, been a few months not tested)
  4. And it used to be a gaming reason. and Nvidia Graphic driver issue etc...

These are the reason I had to use windows, and I don't want to switch between os every now and then. Instead, I can use Kex --sl to run Linux and windows at the same time on the same desktop. It's a great feature, and I can pretty much do anything I had to do for my coding stuff and some bit of pen testing form right here.

And after I graduate I won't be using windows myself. I had started using i3 and I was loving it the last time I was on Linux. I don't think I have said anywhere I hate Linux and you should not use it. I miss it, next time I will be going for the arch with i3wm. I understand your sentiment as well. Dw, I am not here to promote WSL for no reason. I just wanted to give some quick help for them who were suffering from errors(my classmates obviously) while dual booting Linux.

Thread Thread
optimizingos profile image
optimizingos

Well, ms office may be a valid reason coz I haven't used any office suite for years 😅

Regarding packet tracer and discord, there isn't any issue on Arch based distros like Arcolinux, Manjaro , Endeavour or newer Garuda Linux as far as I know. And for gaming, you can try Garuda Linux at garudalinux.org which with comes out of box gaming and NVIDIA support 😃
Try 'em when you are free from MS
And BTW, I liked your quick reply :D

Thread Thread
rubenk profile image
Ruben Kharel Author

Thank you so much for these recommendations. And this time for sure I will be trying out Arch. That's a perfect distro with great community support.

Never heard of garudalinux, looks awesome. I am trying it out soon. Thanks again!

Thread Thread
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

GAMES!!! DX12+ runs fastest on windows based architecture. you can push more triangles and shader ops with how windows manages memory between your CPU, RAM, and Graphics card.

** NOTE it also has alot to do with the specific software and how its written.

Thread Thread
optimizingos profile image
optimizingos

But it is Ubuntu

Arch based distros usually gives much better performance.

Collapse
kidesleo profile image
Kidus Getachew

What a rough comment section. Fantastic article. Been acclimating to WSL2 for some time now and this article was pretty sweet. I do lots of graphic design, game development and gaming, as well as programming and WSL2 has been a godsend. Thanks for the article, I'm sorry the comment section turned into a WSL vs Linux forum.

Collapse
rubenk profile image
Ruben Kharel Author

haha Ikr, Linux fan base is just weird. I am feeling like I am on r/Linux.

Thank you so much for the positive feedback.

Collapse
tusharsadhwani profile image
Tushar Sadhwani

Great post!
I'm already using WSL and i love it, and i was already using zsh, but I got to learn about antibody and kex, so that's neat.
Also yeah, windows has become the best environment to code in ever since wsl2, many people still deny the fact, stating stuff like "setting up linux is easy", or "windows is harder to setup my workflow in", well they're just missing out on some good stuff (;

Collapse
sdabhi23 profile image
Shrey Dabhi

My 2 main reasons to stick with Windows on my personal machine are: MS Office and my work machine has Windows.

I totally love Linux and have used it during my school and college days. I code a lot for my open-source projects and learning on my personal machine and it helps if I maintain identical setup on both of my systems.

I have used WSL occasionally since the very first release, but it was never a part of my workflow. All of the tools and tech stacks that I have come across till date are cross platform, though for some of the tools I did notice degraded performance on Windows

Collapse
rarsa69 profile image
Raul Suarez

Beats me why you think that setting up WSL is easier than installing Linux. Specially if you want to use graphical applications. Besides, it still runs under Windows with all the annoyances that brings.

Collapse
kletkeman profile image
Kim Letkeman

So are you saying that the issue with WSL where the Linux filesystem overlaid on Windows does not support symbolic links has been fixed? Because I had not heard that. If not, then tools that rely on symbolic links will still fail on WSL2.

Collapse
kidesleo profile image
Kidus Getachew

Yes, actually. WSL2 now supports symbolic links and ELF64 as long as it is within the WSL environment. For better integration with window's filesytem, use WSL1, which you can do simultaneously, while also sacrificing symbolic links in that environment.

Collapse
vineet192 profile image
Vineet Kalghatgi

Just did a clean install of pop_os! recently, it went very smoothly and the process took no more than a few minutes

Collapse
takase1121 profile image
Takase

Have fun until all your systemd services don't run 😎

there are indeed ways to fix that but it is unstable last time I used it. Have fun trying to do that i guess

Collapse
rubenk profile image
Ruben Kharel Author

haha, I will let you know!

Collapse
moshess profile image
Mostafa Hesari

Thank you. This is the best pain in the arsh! way of installing Linux on a system.
It clearly shows that, how does it feel to work with Microsoft softwares.
Even in Iran, with all of the sanctions and restrictions, still it is possible to learn how to install Linux normally.
Best regards.

Collapse
yakidd profile image
yakidd

Look into Win-KeX SL for the ultimate almost seamless parallel environment.. it's amazing stuff. Basically Kali running in WSL2 with an X Server for seamless GRAPHICAL integration!

Collapse
rubenk profile image
Ruben Kharel Author

I tried it a few days ago, and my college is asking us to use some GUI crap lately. And I am going smoothly with this one. nice mention.

Command: After installing kex try kex --sl in case anyone is wondering what it is.

Collapse
t0tt1 profile image
T0tt1

I would disagree.
Can you describe how you will start dockerd from WSL? This is just simple example.

Collapse
stereoplegic profile image
Mike Bybee

Nope. Linux daily driver as the only bare metal OS install, MacOS and Windows in KVM on the rare occasions I need them for testing.

Collapse
cjsmocjsmo profile image
Charlie J Smotherman

Debian since 1998 haven't needed anything else.

Collapse
rivernotflowing profile image
River

Lol is this a joke, you would want to install linux for its stability and developer friendliness. Even dotnet has been cross platform for quite sometime so why would you use an OS that is ridden with autoupdated... bugs and privacy issues?

Collapse
linuxobeardly profile image
Info Comment marked as low quality/non-constructive by the community. View code of conduct
Linux O'Beardly

This article is basically garbage. nVidia GPUs are painless in most modern Linux distributions. Additionally, those same modern distributions install easier than Windows and the vast majority, such as Linux Mint, do a really good job of managing your GPU for you. Please quit spreading fallacies about Linux.

Collapse
rubenk profile image
Ruben Kharel Author

More than 70% of the content in the article is not even about WSL. It's more about Plugins and how to make terminal easy to use. And I am not recommending this for professionals, I myself have to use my dual-booted Linux while doing hackthebox... It's for the noob alright. And I really don't want to say them its easy to dual boot just go for it, follow a tutorial from youtube, trust me you won't mess up. No, I don't want to say this to them. Instead, I would just give them a quick solution. Ofc it is not a long-term and productive solution but, they don't have to bother about installing whole new os just to do bash scripting and learn commands.