First time linux user

I bought a laptop recently. And all my life I’ve been a windows person. I’ve used some Linux and OS X during my years but I never really felt at home. But I am starting to get into programming and web designs, and all the fingers point to Linux being a suitable OS that windows. So I looked around and short listed couple of distros (Pop! OS and Mint). Why do you uys advise me? And also should I do a dual boot or just go for an all Linux laptop?
Thanks a lot in advance.

1 Like

Welcome !

I’m one of the few people who are “distro-agnostic” (ie: I don’t think that distros and their package managers and other stuff actually matter that much).

While I’d be glad to recommend Arch all day (btw I use Arch), I’d say go with Ubuntu at fist. I work in a company as a sysadmin for programmers, I only install Ubuntu on their laptops. Their needs for Java programming, JavaScript programming and some Oracle DB stuff (along with other minor stuff) are very well met by Ubuntu. I highly recommend Ubuntu Mate, can’t praise that distro enough (though I install default Ubuntu with GNOME and make them run on Ubuntu Wayland session, don’t mind this small detail).

Both Mint and Pop!_OS are nice distros. They both offer easy ways to install proprietary drivers and software. Mint has many tools for development preinstalled, like Atom, Sublime, Geany and more, so it also could be a good start. I’m not sure what stuff Pop!_OS has to offer, but Wendell praised it a lot, so it must be pretty good too.

I dislike Cinnamon (looks too much like Windows and I can’t customize it like I can Mate or Plasma 5), but that’s just personal preference. I recommend that you don’t go and install other Desktop Environment than the default one that the distro came with, unless you know what you are doing (you will have time for that once you start being more accustomed to Linux).

The best thing you could do is to grab an iso of each distro: Ubuntu Mate, Linux Mint (Cinnamon or Mate, the former is very similar to Windows 7 in feel) and Pop!_OS, then put them on a USB stick with UUI (Universal USB Installer), Rufus or Balena Etcher (some of these installers work with some distros, others with others, I’d say go with Rufus at first) - note that the contents of the USB stick will be erased, so save your data from it beforehand. Then boot from the USB and choose LiveUSB / LiveBoot / Live Session and try them out for yourself. See if your drivers work (mostly WiFi and Ethernet you have to worry about), then test the feeling of the distro to see if you like it. Whichever you like, you can install it on your laptop.

I don’t recommend dual booting unless you really really need to. You can install the distro of your choice in dual boot, but you will spend most of the time only in 1 environment. At most, if you need, and your laptop is performant enough, run Windows in a VM (unless you also plan on gaming).


Ubuntu 18.04.

If you’re doing web development this isn’t entirely accurate. The runtimes to start your web application will be similar in Linux as they are in Windows. The development environment does not matter for web development.

Often this point comes up because people say they want to “Develop on the same environment their application will run on in production.”

Errr… Okay. So, why are you running Linux bare metal when you’ll likely be deploying to a virtual machine in AWS or VMware? :thinking:

I strongly recommend using either VirtualBox or VMware Workstation. Personally, I find the features that VMware Workstation offer are better than that of VirtualBox, but VirtualBox offers similar services for free compared to the price tag associated with VMware. The benefits range from snapshots, encryption, and version control.

From there, you can install your operating system and the VirtualBox guest additions or VMware Tools. These are great for running your VM in full screen (so you’re using every inch of your monitor) as well as sharing a clipboard, so you can copy and paste to/from Windows to Linux.

If you used a bridged adapter, you’ll share the network with your desktop, giving local and remote access with your Linux computer. Both default to NAT, I believe, which creates a “fake” network to have the VM communicate with the Internet.

There are also alternatives like Vagrant and Docker, which will allow you to spin up a disposable development environment regardless of your host operating system. But these tools are quite advanced and require a bit of administration and maintenance to accomplish your goals. It’s best to just learn the computer logic and syntax of the computer language you’re programming in before dealing with these tools.

Once you get familiar with the desktop environment, I recommend installing a “server” operating system, like Fedora, CentOS, or Ubuntu, and getting comfortable with a minimal interface. Likely, in production, this is all you’ll have access to, and whatever tools or web consoles you build for your application. You can simulate this on your desktop operating system by using the ssh utility to remote into your virtual machine.


Try running a few different distros and DE’s in virtualbox and see which you like best. Then I would suggest not dual-booting but just going full-Linux. You will learn faster if you don’t have windows to fall back on when problems or issues should arise.

Among the distros I recommend for beginners: Mint Cinnamon or Mate, Ubuntu Mate, PopOS (Gnome).

1 Like


If you dislike Gnome when trying it out, i recommend Ubuntu MATE.


Jumping on the VM bandwagon. Depending on what hardware you have, the kernel that comes with the LTS distro’s may make it very difficult to install bare metal. Letting people know what specific hardware you are using will aid people trying to help If you do intend on installing to disk and have problems.

1 Like

Dual booting is not the best first step, especially if you can’t fit a pair of disks into your new laptop. Running multiple OSs on a single drive adds a whole additional level of complexity to your new adventure. The ideal situation for a new Linux user would be to find a dedicated Linux machine. Even a cheap antique laptop (T420 ThinkPad?) would give more than satisfactory performance , so long as you install a SSD into it. Obviously, an older i5 CPU isn’t going to compile your projects at record speed, but objective #1 should be to get some Linux experience under our belt. Then, after you are comfortable with Linux and you have had a chance to learn all about how to manually partition your disk, by all means go ahead and tinker with dual booting. Keep in mind, though, that IMHO dual booting works best on an UEFI machine, where each OS in installed in UEFI mode and each OS is completely installed/isolated on their own individual drive.

In terms of a good first distribution, IMHO, the most important aspect it to choose a distribution which has a welcoming and friendly community that does not shun noob-type questions. You WILL have questions … lots of them and the last thing that you want is to be repeatedly told to RTFM! Both Mint and Ubuntu are renown for their large and friendly communities. Since POP is based on Ubuntu, finding support for that OS should also be easy.

Most importantly, take your time and have fun!

1 Like

My top two recommendations for new users would be either Ubuntu or Fedora. They are both Juggernaut distros that receive plenty of support and documentation. I would not recommend dual booting unless you need some windows application. More complexity can mean more problems. I’ve had a dual boot where the grub boot loader started misbehaving. Also welcome aboard!

First off:

Distros do not matter… To 95%. There are a few caveats, such as rolling distros should be avoided until you are ready to truly learn Linux, same with source distros. I’d start with Ubuntu, since it and it’s cousins and derivatives are more and more becoming the de-Facto standard on the Linux Desktop.

Other viable alternatives are Pop!OS, Mint (both based on the Windows GUI) and the newcomer MX Linux, which might provide a better out-of-the-box experience. Once you’ve gotten comfortable swimming around in the Linux pool, then explore other distros.

Second, a Virtual Machine is a great way to dip your toes in, and latest Ubuntu is very snappy in a VM, but chances are you will run into the limitations pretty quickly when running a VM. The next best thing is a live distro, and after that a desktop install.

Finally, do not be afraid to try new tools. Emacs for instance is a very capable editor for web work and well, any programming work, though everyone gets scared off at first by the eighties-inspired interface. Tiling WMs often helps when working at multiple levels in the web stack. But all that is also advanced things, start by getting familiar with the Linux environment.

1 Like

As someone who did dual boot for a long time (between 1995 and last year) - id suggest to try Linux only for a few months and try to figure out how to make stuff work.

Not all games will work. But games are a distraction and there is plenty that do to consume enough of your time especially if you’re into RPGs.

A lot of windows games can now be made to work too. It’s nowhere near as bad as it used to be to adapt.

Back when I started getting connected to an ISP with PPP was a nightmare. This was before the days of internet on phones and tablets. So it was a case of reboot. Alta vista. Reboot and try.

Repeat. Until done. :joy:

1 Like

Ubuntu 18.04…

All web developer articles or videos for beginners WILL be in this distro. You are new to linux and software development so dont throw your self in the pit yet. Nodejs specifically gives details to find version of node for ubuntu.

Considering the area you live you will go windows or node path. If you go c# .net you must learn how to develop on windows. Your team will mostly work windows anduse their stupid windows domain garbage .

It’s all depending on your career path. No you dont need to dual boot in 2019 to be a developer.

If you are trying to study you should be studying :yum:

If you’re doing VMs for development I’d be putting WINDOWS in the VM rather than Linux. Snapshot/rollback is your friend. Templates are your friend.

Both virtualbox and vm workstation do snapshots etc. performance in workstation is generally better though especially anything 3d.

1 Like

ubuntu is a good choice but there are other distros that may suit your needs.
do a little research and pick a distro that has good long term support.

pinguy linux is an ubuntu flavor that usually works out of the box with everything.
anything you may have a problem with can easily be solved by their user forum!
like many of the forums they take a very active interest in helping new members to get the best experience out of the OS

I never recommend dual booting windows and linux on the same machine ( in the context of installing Windows and a Linux distro into the same storage drive).

Joe Collins had some valid points about why NOT to dual boot windows and linux on the same storage drive. (such as MBR and grub don’t play nicely together)

There is just too much room for critical booting problems that can happen.

Install linux into a separate storage drive than what’s already on your Windows drive. IF you cannot afford a separate PC for running linux, then ensure your Windows drive is not connected and powered on while running linux…and vice versa. If using a big mass storage drive to store data from both Windows and linux work, exfat works flawless across both worlds. Cheers

Whilst i agree to an extent, it isn’t as bad these days, you have live boot images that you can boot into to fix it.

Definitely it is better to avoid dual boot if you can due to windows behaviour, but if you have to its not a massive deal.

Definitely something to look up before you need to do it though.

The problem comes alive when a person chooses to just stick to booting only one of the os’s/distros, and is unsure how to do so other than deleting one of them.

If you delete one, you brick the booting process of the other. This has been my experience every time of the 5 times I’ve tried it throughout the past 6 years straight.

If those live boot images can fix whatever the core problem is in that scenario, then cool, but I haven’t figured out how to use them yet.

Regardless for me I agree with Joe Collin in that it’s just NOT worth the risk of losing any data only to have to reinstall whatever operating system from scratch/clean install as a result to get things back up and running. All that setup, all those installed things…gone.

If you know how to do it to where you can delete one installation without affecting the booting process of the one you want to keep, more power to you, sincerely, but I don’t, have yet to figure it out, and realize it’s not worth my time to keep trying.

I’d rather just use another storage drive to boot the other operating system ( and have ONLy that os-installed storage drive connected at booting each time) and know both worlds won’t mess with each other.

All good vibes meant and I truly tried, legit, 5 times. I suppose it’s one of those things I can’t wrap my brain around ( such as calculus and trig…things I will NEVER use in my lifetime that prevent me from achieving the Applied Science Degree in Network System Administration - tried 3 times for that one across 16 years…I’m done with college and tired of my heart being broken on that one)