I have been using Windows my entire life, but since I got my Steam Deck I’ve been considering trying to get into Linux.
I obviously don’t have much of an idea where to begin, other than that I’m currently also trying to learn Javascript. I’d like a basic workstation I can code on and mess with, that doesn’t run more than a couple hundred. Could use some recommendations for hardware plus where to begin.
You don’t even need any hardware to get started. Fire up a virtual machine in VirtualBox or VMWare or use WSL. Start playing around, find a distro/DE you like and start learning.
After some time, look into dual booting your existing machine. You can try this in a virtual machine first before making any changes to you hardware.
You don’t get the same experience installing on low end hardware or in a VM though
I didn’t properly get hooked until I bit the bullet and just installed it bare metal on a higher end laptop and gaming PC
I should add that I’ve been interested in getting a small, portable notebook for coding separate of this, and making it Linux seemed a good idea at the same time.
Generic answer for this is to get a refurbished corporate laptop. At least in here we have several companies which buy previously leased computers and give them a refurb (new hard drive, good cleaning, things like that) and sell them for pretty good price.
W, T or X series Thinkpads are pretty safe options, my T495 was 300€(ish) on sale. L and carbon are something I’d avoid, L (at least few years back) weren’t built as well as T-series and X1 carbon doesn’t have options to expand/swap out ram.
I also recommend getting a refurbished ThinkPads for their excellent Linux support, especially newer models like the X1 Carbon. No need to worry about such and such hardware not working on Linux. Avoid models with Nvidia GPU for less maintenance headache.
If your budget stretches to a new laptop, framework make laptops (light weight or serious game machines) that come with Linux installed.
If you have no budget some second hand high end Chromebooks can be converted to mainstream Linux (video)
The other comments suggesting old ThinkPads are fine, but they’re heavier than I like to carry
Pinebook Pro is rather nice, though it is low powered and some tasks will feel slow on it.
You should really edit your post with what your budget is and what your requirements are if you want anything other than brand recommendations.
I’d say don’t use debian because GNOME environment feels restrictive. No window snapping was my biggest turn off.
I use Fedora - KDE which is really comfortable to me. Others have said Mint Cinnamon is a good one to start with.
Whichever OS you choose, when you install it, for the love of God, plug in a network cable so you can use internet on the thing as it installs. This will save you much trouble during set up.
Not using Debian because gnome seems silly to me. Why not just install plasma if that’s what you want?
Ebay, T470, T480, T490. $200-300. Good laptops with great Linux compatibility. Cheap and reliable.
For your distro, Linux Mint. The stock, normal edition right on the website. Cinnamon desktop edition.
Simple and reliable, and very windows-like.
https://etcher.balena.io/ is good and simple software to create a bootable USB.
Use the Mint .iso as the file, burn to the USB stick of your choice.
Welcome to the club :)
haven’t heard much good things about the t490
Only issues I’ve heard with the T490 is with models that have the Nvidia MX mobile gpu.
Most of that is old news. TLP for power management, and just don’t get the Nvidia model honestly, integrated Intel graphics are plenty for basic uses like coding and light browsing.
I see
If you have PC that can run virtual machines I recommend starting there so you can see how Linux works. Use it for a longer period of time and try doing some stuff there that you would normally do on Windows.
Worth noting here that any even remotely modern computer supports hardware virtualization for natively running virtual machines, including laptop chips and even Apple silicon, although you usually have to enable it in the BIOS since few people need it and malware has been known to abuse it. The setting for that has various names depending on motherboard vendor but usually related to “Hardware Virtualization”, “Intel VT-d” or “AMD-V”. If for some reason your machine doesn’t, some virtual machine software also supports software emulation although be prepared to take a massive performance hit.
Also worth noting that in my experience, even with hardware virtualization, in most cases, the performance of a virtual machine in a graphical environment borders on unusable no matter what operating system is running in it, and Linux is known for its ability to run smoothly on lower spec machines than Windows can when installed on physical hardware. Also also worth noting that every Linux distribution worth its salt lets you “try before you buy” (or to be more accurate, try before you install) and experience basically the whole operating system including installing programs from within the installation media, without touching your existing OS.
(Of course, you might have better luck than I did running a virtual machine, and in the early days of your Linux journey you will DEFINITELY want a working copy of Windows you can quickly fall back on when something breaks. If you install a VM and you’re happy with how it performs, by all means, stick with that till you’re good and ready to make the next step. See how you like it, get some practice using it etc. before you make extremely-difficult-to-undo changes to your boot disk. If you want to get a bit closer to how it performs for real, but don’t trust yourself to install a new OS without accidentally erasing all your data, read on.)
You can write an ISO image to a flash drive, boot off that flash drive, close out of the installer window (it’ll drop you to the desktop) and give Linux a test drive before you install it for real. If you decide you don’t like it, unplug the flash drive and reboot your computer, and Linux will leave no trace it was ever there. (Depending on your setup (specifically laptops that use TPMs and full disk encryption) you might have to reenter your Bitlocker password (which is a ~40 character random alphanumeric string saved in your Microsoft account) to re-enable secure boot, but that’s it.)
Not everything works in a live environment – you’ll have a hard time installing graphics drivers when you haven’t installed the OS, for example, and all data/programs you create/download will be limited to the size of your RAM and wiped when you reboot – but you can get a pretty good test drive. You can get a feel for how the GUI works, customize it to your tastes, and even download and run stuff like Discord and Steam all without touching your boot disk.
If you decide you like Linux, but not enough to completely leave Windows behind (no shame in that! It’s where I started too!) you can install in a dual-boot configuration. Basically, you carve out a portion of your drive for permanent use by Linux (I recommend ~1/4 to 1/2 of the total drive space but it can be whatever you want), your Windows C: drive shrinks by that much, and you get asked which OS you want to boot into each time you restart your computer. Neither OS will be aware of the other’s existence, and from the perspective of any programs you install they will be two different computers. Linux can read and write files saved on your Windows partition, but not vice versa, so if you want to copy files between them you’ll need to boot into Linux.
Tutorials on how to set up a Linux dual boot abound online (in fact, many distros’ installers have it as the default behavior), so I won’t explain how to do it here. If you have any other Linux related questions, though, feel free to send them my way!
Something thing to keep in mind when getting started is to manage your expectations. You’ve spent all this time using Windows so you already know where everything is – for Windows. In a lot of respects you are going to be starting over from scratch, learning new ways to install software, get around the desktop, and doing simple things like changing your settings. Don’t get discouraged, you’ve done this before, you can do it again.
One way to cope with the initial frustration is to start out loading up something like VirtualBox on your Windows desktop, and installing a linux distribution there. Then you can play around, take your time to find a desktop that’s right for you, and learn how to actually DO things in linux that you already do daily in Windows. That way you eliminate the pressure of trying to figure out how to do everything at once.
Another reason to start with a virtual machine is that there are a LOT of possible linux distributions to choose from. There are also quite a number of different desktop environments to choose from. It pays to take a bit of time and play around with different options to find out what you like. You also need to decide if you want something running the cutting-edge releases, or if you prefer stability with slightly older software. For example, Ubuntu is a good choice for the absolute latest releases but can introduce bugs that the devs refuse to fix. On the other hand, Debian (which is actually the base system that Ubuntu is built on) only releases slightly older software that has been tested over the past few months. However in all cases, you will always get immediate patches for security issues.
As already mentioned, any old computer laying around is a viable candidate for Linux. Until last year I was running internet-facing web servers on 1GB of memory and a single core. If you have something built in the last 20 years it will work for your purposes. Hell my desktop is someone else’s throw-away because under Windows they considered it “too slow to get email or browse the internet”. I use it for writing arduino code and building models for my 3D printer.
Welcome to the community!
Seconding all the previous comments recommending Linux Mint: since you come from Windows, you’ll probably feel most at home there. It is also possible to do all common tasks without ever opening the terminal.
Mint should run fine on any hardware, but to be most safe, try to use something that is at least 1-2 years old and stay clear from dedicated GPU as first (in particular Nvidia).
I’d also advise that the packaging situation for distributing software in Linux rn is somewhat messy. Thankfully, multiple format (apt, Flatpak) are directly available in the Linux Mint Software Center. In case you need to use some proprietary software (Chrome, Spotify, idk), you’d probably want to go with Flatpaks.
Another Mint + Thinkpad vote here. I’m a lifelong Windows user who has occasionally dabbled in Linux, and Mint is the first distro that I’ve stuck with enough to consider it my daily driver. I have it running on a used Thinkpad T14 Gen 2 with an AMD Ryzen 7 in it. I still have a separate Windows desktop for gaming and Adobe Lightroom, but the Thinkpad is my everyday couch PC now. Everything worked out of the box except for the infrared camera used for face unlock type stuff, and the fingerprint reader. I got the camera set up to use the Linux equivalent of Windows Hello, Howdy, and while it does work now it’s not as fast and reliable as it was under Windows. I haven’t even tried to set up the fingerprint reader yet. I’m very happy with how well everything works in general under Linux Mint.
I’ll also add: There’s a base distribution and then a variety of “Window Managers” (WM) or “Desktop Environments” (DE) to choose from. These determine the layout of your desktop, “control panel” analog, what settings can be tweaked, and stuff like the network/volume controls accessible him the tray etc.
Mate/Cinnamon are good, but I recommend KDE/Plasma Desktop. I’ve had good luck with that one for people who I’ve helped migrate from Windows.
Your can actually install multiple DE’s and will be able to choose which one you use at the graphical login screen.
As for Chrome, I think Google still has a repository for that or one can use Chromium which is the base experience for that anyhow.
For code editors, there’s a bunch of choices. I tend to use Pluma for basic text stuff, Bluefish for a lot of web stuff, and CodeBlocks for C++'ish stuff. You can also install VSCode on Linux if you so desire and a lot of people seem to quite like it.
Hardware I lean more towards **AMD - though not bleeding edge - as the drivers come with the OS kernel and tend to get updated with such. I’ve generally not had issues since about the RX480 days, except for some weirdness with APU’s not liking certain TVs (usually scaling issues). Nvidia generally works too, but requires a proprietary driver stub be installed for accelerated graphics and that can sometimes break on updates. Most Intel (graphics) is ok, but there have been a few issues with less-common chips in smaller fiorm-factor or tablety devices.
** I have heard people complain about some AMD stuff, but honestly I’ve run an RX480, Vega56, 6900XT, and 3-4 generations of APU’s without major issues except when those chips were fairly new (first 6mo of release can be dicey).
Yes to KDE for windows users. There’s nothing wrong with cinnamon. But kde is much more impressive in a “wow! This is all free?” Sort of way. Just today I used both k3b and ktorrent!
Let’s not overwhelm the newcomer with options and preferences right from the start, shall we? They’ll figure it out soon enough, and probably spend a year distro hopping like all of us.
Recommendations for hardware: A relatively normal computer. I would avoid exotic hardware. If you’ve got an old computer kicking around, give it a try on that. Or, eBay is full of used corporate Dells that will do the job for pocket change.
I’m a fan of Linux Mint; I’ve been daily driving it for a decade now, but really don’t worry that much about distro or DE, if you’re really looking to get into programming and such you’ll probably spend a lot of time in the terminal anyway.
Oh I almost forgot: Welcome to the Linux community!
Probably Linux Mint (https://linuxmint.com) will be the best experience for you. If you have newer hardware or you’re not sure scroll down to the bottom on the download page and download the “EDGE” iso since it has newer software than the default versions and more hardware support. If you have older hardware, you can probably install the Cinnamon iso too but if that doesn’t work install the XFCE iso. Finally flash it onto a USB drive with https://etcher.io/ and boot into it, testing if some things work like audio and video. Software like VSCode etc. are already on the software manager so you won’t have much trouble with writing JS.
Though if you have an Nvidia card you should install Pop! OS or Nobara Linux since they have an Nvidia ISO so you won’t need to struggle with installing them later on.
Doesn’t Mint make installing Nvidia drivers pretty simple?
yes
Thought so.
Not sure really since I don’t have an Nvidia card. Pop! OS and Nobara are just general recommendations I found on the internet.
Or OpenSUSE since nvidia hosts a their own repo for OpenSUSE drivers. Add the nvidia repo and install all the nvidia gfx /cuda drivers
You should be aware that fur suits are pretty expensive.
You can make your own for just moderately expensive
If you want to go low budget and play around there’s lots of SBCs that can run Linux. Check here for example : https://www.armbian.com There’s also ones that come as light weight keyboard, for example the pi400 Easy to carry around and put into a HDMI monitor. A drawback is that when using ARM there is sometimes software which only runs on amd64 family though that does not happen very often. Other option is to look at refurbished laptops. If you skip the chromebook ones (Which can be cumbersome to run plain Linux on unless you want to play with Linux and Android on top of ChromeOS) you can find them for 90 Euros or more.
It wasn’t that hard for me to flash a Chromebook with Linux using this guide
Sure, but just like with flashing custom ROMs on phones, people may break their Chromebook and not get help with it and be stuck. For a Linux beginner a good first and smooth experience may be the best start.
Follow the first few steps of this guide to download Linux Mint, create a bootable USB, and live boot into it.
You can now play around with this like it’s a real system. Nothing will be saved when you shut down.
When you are ready, you can continue with that installation guide to either dual boot, or completely wipe your disks to use linux. (To start, I recommend dual booting. You never really know when you’ll need it as you’re transitioning.)
Good luck!
Linux Mint and any computer of your choice.
In this thread: a bunch of people making it more complicated than it needs to be.
Grab an old laptop, grab a user oriented distro that has a live-USB boot option. Play and learn.
Live USB options that should be user friend enough. Choose at random – because you like their logo or whatever.
https://pendrivelinux.com/put-mandriva-2010-on-a-usb-flash-drive-windows/
https://en.opensuse.org/SDB:Live_USB_stick
https://ubuntuforums.org/showthread.php?t=2230389
https://linuxmint-installation-guide.readthedocs.io/en/latest/burn.html
trying to learn JavaScript
Your first hurdle will be to figure out how to install VS Code. Double clicking the downloaded .deb file often doesn’t work. You’ll need to follow the instructions on the official page under “Debian and Ubuntu”: https://code.visualstudio.com/docs/setup/linux
Specifically the part about ‘sudo apt install {distro}.deb’. The other parts are not needed.
VS Code
It’s the Church of Emacs or Cult of vi (or Neovim) in these parts! You don’t need a Microsoft text editor with proprietary plugins to write JavaScript. When your display manager inevitably breaks while you learn Linux or administer a remote system, having skills with an editor that works in the terminal will prove invaluable.
Can’t you just install it via the Software Store?
This, you should always default to your package manager for app installs. I believe it’s available on their Ubuntu repos
Just install VScodium from flathub. It is way more simple.
Hardware wise, you’ll be hard pressed to find any even half-way popular computer that can’t run some form of Linux. So I’d say just get something that’s within your budget. Those x86 APU-based mini pcs that you can find for ~$200 are becoming pretty popular for projects these days. Something like a Raspberry Pi or Orange Pi or whatever might also be fine depending on what you want to do with it, just keep your power expectations in check. If you want to spend more money on something with graphics hardware, I’d recommend going for AMD over NVidia, just because the drivers are built into the kernel and essentially no-hassle.
When it comes to software, especially if you’re on x86, just arbitrarily pick one of the reasonably popular distros like Ubuntu, Fedora, PopOS, or any of the other ones you’ve probably heard of. One of the first things to learn about “Linux” is that there’s a whole ecosystem of software projects behind it, and there is a lot of overlap between the software that each distro runs. Yes, there are some meaningful differences between, for example, Ubuntu and Fedora, but I think they are much less meaningful to a noobie (who is just learning the basics of Linux) or an expert (who probably knows enough to bend and customize just about any distro into whatever they want).
Small caveat #1: If you prefer to have a desktop that more closely resembles Windows (like the one of the Steam Deck’s desktop mode) you might want to pick a distro spin that uses the KDE Plasma desktop. On the other hand, if you want to play around with something that’s a bit different than what you’re used to, it might be worth checking out a distro spin that uses the Gnome desktop. I can recommend them both for different reasons, so you might want to check out some videos of them to see what you’re more into before picking. (Other desktops are available, these are just the two big ones! So there truly are a ton of options to explore here if you want to.)
Small caveat #2: At this point in time are you more interested in stability or customization? If you want a truly rock-solid Linux system that’s hard to ever break, you might want to consider one of the new “atomic” distributions like Fedora Silverblue/Kinoite (or others), though you might find some of their limitations annoying. On the other side of the spectrum, if deep customization and flexibility is what you’re looking for, then you might want to venture into the deep end with things like NixOS or ArchLinux, just keep in mind that they can be very technical and overwhelming for noobs. Personally I have been using Fedora Silverblue for a couple years now and I love the stability of it, and I can work around it’s limitations with distrobox.
Another thing to consider is just using what you already have. For example, playing around with Linux in a virtual machine, setting up a Linux-based server on one of the popular VPS services, or just plugging your Steam Deck into a dock with a keyboard and monitor attached and playing with something like distrobox (which you can probably find a guide on how to set that up for your deck).