This is my first blog ever, I rarely write blogs and stuff (You will notice why), but sometimes you have to.
- 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 ;).
If you finish your WSL2 stuff, Download Windows Terminal and open the distro you installed through windows terminal.
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.
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.
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.
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.
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
🤔 what to do with this? Well, put it into a text file.
- Copy that list
- Open console / shell / terminal, whatever you call it.
cd && echo "<paste those plugins>" >> .zsh_plugins.txtin terminal.
- 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 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.