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 can essentially use any hardware. If you already have an old pc or laptop, you can (probably) use that. If you get a new one, the only major recommendation for usage with linux is: don’t get something with a nvidia graphics card.
And where to begin: Probably some linux distro like Linux Mint or Pop_OS. They‘re reasonably beginner friendly. But, if you have some more specific questions (or need more help finding hardware or don‘t know what a distro is), feel free to ask.
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’m adding to the pile of Linux Mint recommendations, though I recommend the XFCE version, as it’s lightweight. For hardware, if you want a laptop, definitely go with a refurbished ThinkPad. If you’re wanting a desktop, look for something cheap and used. If you aren’t gaming, the specs aren’t super important
The beauty of Linux is that it’ll run on almost anything. I recommend second-hand office desktops for your use-case, you might find a good deal and get peripherals with it. If you somehow manage to come across GPUs at your price bracket, avoid Nvidia; poor drivers, support, corporate hostility etc.
My first distro recommendation is going to be a bit different from the usual, purely based on my experiences with other popular go-to distros. I’d recommend you try Fedora KDE, Fedora is a wonderful distro that always makes you feel welcome. KDE is a lot less resource demanding than Gnome, and is the desktop that ships with the steam deck. Personally I don’t like Gnome since it’s a bit Fischer-Price my first DE for me, but I encourage you to try everything.
I’m using the Budgie DE by the way, it’s a good middleground between Gnome and KDE. Fedora provides “Spins” for all major desktops.
If you’re feeling brave I’d like to quickly mention a version of Fedora called Fedora Kionite, it’s whats poorly named an “immutable” distro (Atomic is a better name but don’t worry over that right now). Very basically these distros restrict access to the core, or base, system files; which massively improves security and reliability. I use Fedora Onyx which is immutable with the Budgie DE, Kionite is KDE. Immutability is very new in the pseudo-mainstream and very much in it’s infancy, so it will annoy you at times if you choose this path. But it has massive benefits and, I think, is the future of the Linux desktop.
I’m assuming this is your absolute first adventure into the FOSS world, which I know is probably wrong since you’re on Lemmy, but I’m also still going to mention you should use the Firefox web browser as you said you were doing JavaScript. Firefox is the absolute most popular browser on Linux and has amazing developer features.
We’re all eager to help budding penguins on their journey, so feel free to message me directly anytime for support or make posts right here.
Linux mint is a really easy and simple starting point. Fedora and openSUSE tumbleweed are a tad more advanced but allow more selection on your desktop environment (mint uses cinnamon, while Fedora and SUSE have both KDE and Gnome options) and thus can potentially support things like variable refresh rate and, when it gets support from KDE later this year, HDR.
For peripherals, if it’s razor or Logitech, it’ll just work and have community apps made to configure them. I personally like Keychron’s stuff so that’s what I use and that’s fully Linux compatible, it does require some setup to work though. HDR is unsupported for the time being, but variable refresh (gsync/freesync) is in the KDE Plasma desktop environment under Wayland. On the topic of Wayland, if you want to make use of this new display protocol you’ll need an AMD graphics card, as NVIDIA has been slacking with their Linux drivers. NVIDIA is getting better but it’s not stable enough on Wayland for the laymen. In the case of only having an NVIDIA, X11 works fine, but it’s just missing some features.
Also you won’t need JavaScript, 90% of what you do will be through the GUI (depending on the distro), especially once you’re set up. I know Fedora needs to enable rpmFusion, NVIDIA repos if on NVIDIA, and install codecs for hardware accelerated playback. Mint doesn’t have these issues for the most part, though you’ll want to enable flatpak’s and consider disabling snaps. Mint already includes a graphical installer for NVIDIA and includes the codecs needed for hardware accelerated playback
Thinkpad T480 is the last of the good Thinkpads and should be more than your Budget
Edit. Corrected typo.
Too bad they don’t make the old keyboards anymore, last of those was the T#20 (T420, T520,etc) line. New one is still better than most, but the old one was hands down the best laptop keyboard
That’s true. Nothing beats the 7-row. Luckily you can mod T480 with T25 keyboard if you can source the parts.
Do you mean T480?
Yes. Thanks for pointing out my mistake. I corrected my typo.
Could you elaborate on why Thinkpads that came after the 480 are no good? I’m looking to get a laptop and am probably getting a thinkpad. Is it the easily removable battery?
T490 is the first model with only internal battery, but removal is fairly easy. 2020 lineup changed the F9-F11 function into osme MS Teams crap, which didn’t (or don’t) work with MS Teams out of the box. The old layout for function keys (keyboard lsyour switch, bluetooth toggle on/off and settings) were super handy in daily use.
I don’t know about 2022 lineup since I don’t own one, but 2023 lineup don’t have option for simple bios UI and don’t allow user to disable unneeded hardware, which was a feature since the first Thinkpad ever released.
Thanks!
Hey for me it was the same. For Hardware you can use anything. The optimal is a full AMD build Or Intel AMD build but Nvidia could give you a headdic. For distros I recommend something Arch based like Manjaro or EndeavourOS. As DE I recommend Kde Plasma because out of the box it looks pretty much like Windows but is highly customizable.
Used dell workstation. If you need a GPU you can swap out the power supply with the help of an adapter.
+1 for the workstation. Using one rn and have been for 3-4 years. Never knew there were adapters for the psu… never needed one for my 1070.
I did have to cut a hole in the door panel so the gpu would fit though.
Also my tower has built in handles which is real dandy for hanging cables off of.
Yeah my GPU pulls way more power than the pcie slot can provide.
Debian! As far as hardware you’d probably have an easier time with an AMD GPU but otherwise most everything works. Get intel wifi if you can/want wifi.
bunches of refurbished t-series thinkpads out there - t480, t430, etc. apparently the 490 is one to avoid. I got a t470 some months back for $150 - put mint on it and have been very happy with the performance.
Try NixOS. Snowflake is a good start.
Having a mutable Distro may be better suited than immutable. Containers are annoying.
But having a system that does what it is supposed to do, and if you remove a package its gone and if you add one its there is a big thing.
Did you seriously recommend nixos to a person who never use linux?
Yes. If you are new, no reason why you should use “sudo apt install xyz”.
NixOS has a GUI setup, a GUI package manager etc.
Never recommend any random “supposedly working” Distro. It will break some day, get cluttered with useless files, have broken dependencies or whatever. I broke every Distro before.
I am on Fedora Kinoite now, which I consider a good Distro for most people especially beginners (the ublue variants). I guess layering all the development stuff could work. Using Containers for everything does not work well with IDEs, you need to run these in the container too…
So in the end for someone that wants to code I would not use any random traditional Distro as in my experience all break. But a real immutable distro might also not fit if you need to layer so much.
So why not NixOS? Its very easy to setup and you need to learn everything new anyways.
Overwhelming someone who’s learning something new will increase their chance of giving up. Not only they have to learn how to use Linux in general, now they’ll have to learn about nixos declarative configuration model on top of that. When they eventually get stuck with some issue (which is normal when learning something new), there are less resource to help them on the internet because they’re using a niche distro.
This happens on Ubuntu too. Just that there the best tip will be “try reinstalling the system”, because traditional distros are so unmanaged, that they pile up unused files and packages over time, and simply random things happen.
Believe me, I broke Ubuntu, Linux Mint, Manjaro, Fedora. MXLinux was so old that I my Nextcloud was not compatible. I was a beginner and every Distro sucked.
If i would have just learned any of the managed Distro models (rpm-ostree, A/B root, transactional-update, NixOS, …) I wouldnt have needed to switch
Distrohopping makes no sense, you should try Desktops but the Distro should just work.
As a NixOS user, I will definitely not recommend beginners to use this distro. It’s just a poorly documented, not user-friendly Linux.
I use it because I really hate .config and dotfiles, like why do I need to edit several files for just one thing?
Standalone nix installation and Home-manager would be fine though, I still not recommend them because at least I cannot tell if the binary I’m executing right now is installed from Nix or apt or whatever until I execute
which
Install Debian, and if you’ve got a reasonable powerful computer, install NixOS in a virtual machine. Then, when it breaks and you get frustrated, you aren’t down to zero OSes.
I would never recommend installing Debian. Everything is soo manual. Fedora has the way better user experience with everything preconfigured.
I agree, one friend installed Debian because he saw that everyone recommended it, but he couldn’t understand how to make VirtualBox work, even less when I explained the reason to him. He ended up returning to Windows because of more issues and he didn’t like troubleshooting as much as I do lol
I’d say Linux Mint is pretty good too, Debian alone may be harder for new people who wants a system that just works out of the box.
Ah. You haven’t tried installing it since 1902.
deleted by creator
I literally upgraded 6 PCs to Debian 12 and it was a pain in the ass
I’m honestly baffled
They dont even have a “sudo apt system-upgrade”, while this is a fully automateable process.
I needed to follow some random blogpost because I could not find any official (big advertized) documentation.
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!
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!
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.
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.
Or OpenSUSE since nvidia hosts a their own repo for OpenSUSE drivers. Add the nvidia repo and install all the nvidia gfx /cuda drivers
Doesn’t Mint make installing Nvidia drivers pretty simple?
Not sure really since I don’t have an Nvidia card. Pop! OS and Nobara are just general recommendations I found on the internet.
yes
Thought so.